コマンド
このドキュメントでは、Qwen Code がサポートするすべてのコマンドについて詳しく説明し、セッションを効率的に管理したり、インターフェースをカスタマイズしたり、その動作を制御したりできるようにします。
Qwen Code のコマンドは特定のプレフィックスを通じて起動され、次の3つのカテゴリに分類されます:
| プレフィックスの種類 | 機能説明 | 典型的な使用例 |
|---|---|---|
スラッシュコマンド (/) | Qwen Code 自体のメタレベルの制御 | セッションの管理、設定変更、ヘルプの取得 |
アットコマンド (@) | ローカルファイルの内容を会話に素早く挿入する | AI に特定のファイルやディレクトリ内のコードを分析させる |
エクスクラメーションコマンド (!) | システムシェルとの直接的なインタラクション | git status、ls などのシステムコマンドの実行 |
1. スラッシュコマンド (/)
スラッシュコマンドは、Qwen Codeのセッション、インターフェース、および基本的な動作を管理するために使用されます。
1.1 セッションとプロジェクト管理
これらのコマンドは、作業の進行状況を保存、復元、および要約するのに役立ちます。
| コマンド | 説明 | 使用例 |
|---|---|---|
/summary | 会話履歴に基づいてプロジェクトの要約を生成する | /summary |
/compress | トークンを節約するためにチャット履歴を要約に置き換える | /compress |
/restore | ツール実行前の状態にファイルを復元する | /restore (リスト) または /restore <ID> |
/init | 現在のディレクトリを分析し、初期コンテキストファイルを作成する | /init |
1.2 インターフェースとワークスペースの制御
インターフェースの表示や作業環境を調整するためのコマンド。
| コマンド | 説明 | 使用例 |
|---|---|---|
/clear | 端末画面の内容をクリアする | /clear (ショートカット: Ctrl+L) |
/theme | Qwen Code のビジュアルテーマを変更する | /theme |
/vim | 入力エリアの Vim 編集モードをオン/オフ | /vim |
/directory | マルチディレクトリ対応ワークスペースを管理 | /dir add ./src,./tests |
/editor | 対応エディタを選択するダイアログを開く | /editor |
1.3 言語設定
インターフェースおよび出力言語を制御するためのコマンド。
| コマンド | 説明 | 使用例 |
|---|---|---|
/language | 言語設定の表示または変更 | /language |
→ ui [language] | UI インターフェース言語の設定 | /language ui zh-CN |
→ output [language] | LLM 出力言語の設定 | /language output Chinese |
- 利用可能な UI 言語:
zh-CN(簡体字中国語)、en-US(英語) - 出力言語の例:
Chinese、English、Japaneseなど
1.4 ツールとモデルの管理
AIツールおよびモデルを管理するためのコマンド。
| コマンド | 説明 | 使用例 |
|---|---|---|
/mcp | 設定されたMCPサーバーおよびツールの一覧表示 | /mcp, /mcp desc |
/tools | 現在利用可能なツール一覧の表示 | /tools, /tools desc |
/approval-mode | ツール使用時の承認モード変更 | /approval-mode <mode (auto-edit)> --project |
→plan | 分析のみ、実行しない | セキュアレビュー |
→default | 編集には承認が必要 | 日常使用 |
→auto-edit | 編集を自動で承認 | 信頼できる環境 |
→yolo | 全てを自動で承認 | クイックプロトタイピング |
/model | 現在のセッションで使用するモデルの切り替え | /model |
/extensions | 現在のセッションで有効な拡張機能一覧の表示 | /extensions |
/memory | AIの指示コンテキストの管理 | /memory add Important Info |
1.5 情報、設定、ヘルプ
情報を取得したり、システム設定を実施するためのコマンドです。
| コマンド | 説明 | 使用例 |
|---|---|---|
/help | 利用可能なコマンドのヘルプ情報を表示します | /help または /? |
/about | バージョン情報を表示します | /about |
/stats | 現在のセッションに関する詳細な統計を表示します | /stats |
/settings | 設定エディタを開きます | /settings |
/auth | 認証方法を変更します | /auth |
/bug | Qwen Codeに関する問題を報告します | /bug ボタンが反応しない |
/copy | 最後の出力内容をクリップボードにコピーします | /copy |
/quit-confirm | 終了前に確認ダイアログを表示します | /quit-confirm(ショートカット:Ctrl+Cを2回押す) |
/quit | Qwen Codeを直ちに終了します | /quit または /exit |
1.6 共通ショートカット
| ショートカット | 機能 | 備考 |
|---|---|---|
Ctrl/cmd+L | 画面をクリア | /clear と同等 |
Ctrl/cmd+T | ツール説明の切り替え | MCP ツール管理 |
Ctrl/cmd+C×2 | 終了確認 | 安全な終了メカニズム |
Ctrl/cmd+Z | 入力の取り消し | テキスト編集 |
Ctrl/cmd+Shift+Z | 入力のやり直し | テキスト編集 |
2. @ コマンド(ファイルの紹介)
@ コマンドは、ローカルのファイルまたはディレクトリの内容を会話に素早く追加するために使用されます。
| コマンド形式 | 説明 | 例 |
|---|---|---|
@<ファイルパス> | 指定されたファイルの内容を挿入する | @src/main.py Please explain this code |
@<ディレクトリパス> | ディレクトリ内のすべてのテキストファイルを再帰的に読み込む | @docs/ Summarize content of this document |
単独の @ | @ 記号自体について議論する際に使用される | @ What is this symbol used for in programming? |
注:パス内のスペースはバックスラッシュでエスケープする必要があります(例:@My\ Documents/file.txt)
3. 感嘆符コマンド(!) - シェルコマンドの実行
感嘆符コマンドを使用すると、Qwen Code 内で直接システムコマンドを実行できます。
| コマンド形式 | 説明 | 例 |
|---|---|---|
!<シェルコマンド> | サブシェル内でコマンドを実行 | !ls -la、!git status |
単独の ! | シェルモードに切り替え、入力内容を直接シェルコマンドとして実行 | !(Enter)→ コマンド入力 → !(終了) |
環境変数:! 経由で実行されたコマンドには、QWEN_CODE=1 環境変数が設定されます。
4. カスタムコマンド
頻繁に使用するプロンプトをショートカットコマンドとして保存し、作業効率を向上させ、一貫性を確保します。
クイック概要
| 機能 | 説明 | 利点 | 優先度 | 適用シナリオ |
|---|---|---|---|---|
| Namespace | サブディレクトリがコロン区切りのコマンドを作成する | コマンドの整理がしやすくなる | ||
| グローバルコマンド | ~/.qwen/commands/ | 全プロジェクトで利用可能 | 低 | 個人でよく使うコマンド、プロジェクト間での共通利用 |
| プロジェクトコマンド | <プロジェクトルートディレクトリ>/.qwen/commands/ | プロジェクト固有、バージョン管理可能 | 高 | チーム共有、プロジェクト固有のコマンド |
優先度ルール: プロジェクトコマンド > ユーザーコマンド(同一名の場合はプロジェクトコマンドが使用される)
コマンド命名規則
ファイルパスからコマンド名へのマッピング表
| ファイルの場所 | 生成されるコマンド | 呼び出し例 |
|---|---|---|
~/.qwen/commands/test.toml | /test | /test Parameter |
<project>/git/commit.toml | /git:commit | /git:commit Message |
命名規則: パス区切り文字(/ または \)はコロン(:)に変換されます。
TOMLファイル形式仕様
| フィールド | 必須 | 説明 | 例 |
|---|---|---|---|
prompt | 必須 | モデルに送信されるプロンプト内容 | prompt = "Please analyze code: {{args}}" |
description | オプション | コマンドの説明(/helpで表示されます) | description = "Code analysis tool" |
パラメータ処理メカニズム
| 処理方式 | 構文 | 適用シナリオ | セキュリティ機能 |
|---|---|---|---|
| コンテキスト対応インジェクション | {{args}} | 精密なパラメータ制御が必要な場合 | 自動シェルエスケープ |
| デフォルトパラメータ処理 | 特別なマークなし | 単純なコマンド、パラメータ追加 | そのまま追加 |
| シェルコマンドインジェクション | !{command} | 動的コンテンツが必要な場合 | 実行前に確認が必要 |
1. コンテキスト認識型注入({{args}})
| シナリオ | TOML設定 | 呼び出し方法 | 実際の効果 |
|---|---|---|---|
| 生注入 | prompt = "Fix: {{args}}" | /fix "Button issue" | Fix: "Button issue" |
| シェルコマンド内 | prompt = "Search: !{grep {{args}} .}" | /search "hello" | grep "hello" .を実行 |
2. デフォルトパラメータ処理
| 入力状況 | 処理方法 | 例 |
|---|---|---|
| パラメータあり | プロンプトの末尾に追加(2つの改行で区切る) | /cmd parameter → 元のプロンプト + パラメータ |
| パラメータなし | プロンプトをそのまま送信 | /cmd → 元のプロンプト |
🚀 動的コンテンツ注入
| 注入タイプ | 構文 | 処理順序 | 目的 |
|---|---|---|---|
| ファイル内容 | @{ファイルパス} | 最初に処理 | 静的な参照ファイルを注入 |
| シェルコマンド | !{コマンド} | 中間で処理 | 動的な実行結果を注入 |
| パラメータ置換 | {{args}} | 最後に処理 | ユーザーパラメータを注入 |
3. シェルコマンド実行 (!{...})
| 操作 | ユーザーインタラクション |
|---|---|
| 1. コマンドとパラメータの解析 | - |
| 2. 自動シェルエスケープ | - |
| 3. 確認ダイアログの表示 | ✅ ユーザー確認 |
| 4. コマンドの実行 | - |
| 5. 出力をプロンプトに挿入 | - |
例: Git コミットメッセージ生成
# git/commit.toml
description = "ステージされた変更に基づいてコミットメッセージを生成"
prompt = """
以下の差分に基づいてコミットメッセージを生成してください:
diff
!{git diff --staged}
"""4. ファイル内容の注入 (@{...})
| ファイルタイプ | サポート状況 | 処理方法 |
|---|---|---|
| テキストファイル | ✅ 完全サポート | コンテンツを直接注入 |
| 画像/PDF | ✅ マルチモーダル対応 | エンコードして注入 |
| バイナリファイル | ⚠️ 制限付きサポート | スキップまたは切り捨てられる可能性あり |
| ディレクトリ | ✅ 再帰的な注入 | .gitignore ルールに従う |
例: コードレビュー コマンド
# review.toml
description = "ベストプラクティスに基づくコードレビュー"
prompt = """
{{args}} をレビューし、基準を参照してください:
@{docs/code-standards.md}
"""実用的な作成例
「純粋関数へのリファクタリング」コマンド作成手順表
| 操作 | コマンド/コード |
|---|---|
| 1. ディレクトリ構造の作成 | mkdir -p ~/.qwen/commands/refactor |
| 2. コマンドファイルの作成 | touch ~/.qwen/commands/refactor/pure.toml |
| 3. コマンド内容の編集 | 下記の完全なコードを参照してください。 |
| 4. コマンドのテスト | @file.js → /refactor:pure |
description = "コードを純粋関数にリファクタリング"
prompt = """
現在のコンテキスト内のコードを分析し、純粋関数にリファクタリングしてください。
要件:
1. リファクタリング後のコードを提供すること
2. 主な変更点と純粋関数の特性の実装について説明すること
3. 関数名は変更しないこと
"""カスタムコマンドのベストプラクティスまとめ
コマンド設計の推奨事項表
| プラクティスポイント | 推奨アプローチ | 避けるべきこと |
|---|---|---|
| コマンド命名 | 名前空間を使って整理する | あまりにも一般的な名前は避ける |
| パラメータ処理 | 明確に {{args}} を使用する | デフォルトの追加処理に依存する(混乱しやすい) |
| エラー処理 | Shell のエラー出力を活用する | 実行失敗を無視する |
| ファイル構成 | 機能ごとにディレクトリで整理する | すべてのコマンドをルートディレクトリに置く |
| 説明フィールド | 常に明確な説明を提供する | 自動生成された説明に依存する |
セキュリティ機能リマインダーテーブル
| セキュリティメカニズム | 保護効果 | ユーザー操作 |
|---|---|---|
| シェルエスケープ | コマンドインジェクション防止 | 自動処理 |
| 実行確認 | 誤実行回避 | ダイアログ確認 |
| エラーレポート | 問題診断支援 | エラー情報表示 |