コマンド
本文書では、Qwen Code がサポートするすべてのコマンドについて詳しく説明し、セッションの効率的な管理、インターフェースのカスタマイズ、動作の制御を支援します。
Qwen Code のコマンドは特定のプレフィックスでトリガーされ、次の 3 つのカテゴリに分類されます。
| プレフィックスの種類 | 機能の説明 | 代表的なユースケース |
|---|---|---|
スラッシュコマンド (/) | Qwen Code 自体のメタレベル制御 | セッションの管理、設定の変更、ヘルプの取得 |
アットコマンド (@) | ローカルファイルの内容を会話に素早く挿入 | AI に指定されたファイルやディレクトリ配下のコードを分析させる |
感嘆符コマンド (!) | システムシェルとの直接対話 | git status、ls などのシステムコマンドの実行 |
1. スラッシュコマンド (/)
スラッシュコマンドは、Qwen Code のセッション、インターフェース、および基本的な動作を管理するために使用されます。
1.1 セッションとプロジェクトの管理
これらのコマンドは、作業の進捗を保存、復元、および要約するのに役立ちます。
| コマンド | 説明 | 使用例 |
|---|---|---|
/init | 現在のディレクトリを分析し、初期コンテキストファイルを作成する | /init |
/summary | 会話履歴に基づいてプロジェクトの要約を生成する | /summary |
/compress | トークンを節約するためにチャット履歴を要約で置き換える | /compress または /summarize |
/compress-fast | AI を使用しない高速圧縮 — 古いツール出力と考え部分を削除する | /compress-fast |
/resume | 以前の会話セッションを再開する | /resume または /continue |
/recap | 現在のセッションの一行要約を生成する | /recap |
/restore | プロジェクトファイルをツール呼び出しが実行される前のチェックポイントに戻す | /restore (リスト) または /restore <ID> |
/delete | 以前のセッションを削除する | /delete |
/branch | 現在の会話を新しいセッションにフォークする | /branch |
/fork | 完全な会話を継承するバックグラウンドエージェントを生成する | /fork <directive> |
/rewind | 会話を前のターンに巻き戻す | /rewind または /rollback |
/export | セッション履歴をファイルにエクスポートする | /export html、/export md、/export json、/export jsonl |
/rename | 現在のセッションの名前を変更またはタグ付けする | /rename My Feature または /tag |
/summarize は /compress のエイリアスです(チャット履歴を圧縮する破壊的な操作です)。代わりに非破壊的なプロジェクトの要約を生成するには、/summary を使用してください。
1.2 インターフェースとワークスペースの制御
インターフェースの外観と作業環境を調整するためのコマンド。
| コマンド | 説明 | 使用例 |
|---|---|---|
/clear | 会話履歴をクリアし、コンテキストを解放する | /clear、/reset、/new |
/context | コンテキストウィンドウの使用内訳を表示する | /context |
→ detail | 項目ごとのコンテキスト使用内訳を表示する | /context detail |
/history | 履歴の表示設定と可視性を制御する | /history collapse-on-resume、/history expand-on-resume、/history expand-now |
/diff | コミットされていない変更とターンごとの差分を表示するインタラクティブな diff ビューアを開きます。←/→ で現在の git diff と個々の会話ターンを切り替え、↑/↓ でファイルを閲覧します | /diff |
/theme | Qwen Code のビジュアルテーマを変更する | /theme |
/vim | 入力エリアの Vim 編集モードのオン/オフを切り替える | /vim |
/voice | 音声入力(ディクテーション)を切り替える | /voice、/voice hold、/voice tap、/voice off、/voice status |
/directory | マルチディレクトリサポートワークスペースを管理する | /dir add ./src,./tests、/dir show |
/cd | このセッションを新しい作業ディレクトリに移動する | /cd ../other-project |
/editor | サポートされているエディタを選択するダイアログを開く | /editor |
/statusline | インタラクティブなステータスラインプリセットダイアログを開く | /statusline |
/statusline <text> | エージェント経由でコマンドモードのステータスラインを生成する | /statusline show model and git branch |
/terminal-setup | 複数行入力用のターミナルキーバインドを設定する | /terminal-setup |
1.3 言語設定
インターフェースと出力言語を制御するための専用コマンド。
| コマンド | 説明 | 使用例 |
|---|---|---|
/language | 言語設定を表示または変更する | /language |
→ ui [language] | UI インターフェースの言語を設定する | /language ui zh-CN |
→ output [language] | LLM の出力言語を設定する | /language output Chinese |
- 利用可能な組み込み UI 言語:
zh-CN(簡体字中国語)、en-US(英語)、ru-RU(ロシア語)、de-DE(ドイツ語)、ja-JP(日本語)、pt-BR(ポルトガル語 - ブラジル)、fr-FR(フランス語)、ca-ES(カタルーニャ語) - 出力言語の例: Chinese、English、Japanese など
1.4 ツールとモデルの管理
AI ツールとモデルを管理するためのコマンド。
| コマンド | 説明 | 使用例 |
|---|---|---|
/mcp | 設定済みの MCP サーバーとツールを一覧表示する | /mcp、/mcp desc、/mcp nodesc、/mcp schema |
/import-config | Claude の設定から MCP サーバーをインポートする | /import-config all、/import-config claude-code、/import-config claude-desktop --scope user|project |
/tools | 現在利用可能なツールリストを表示する | /tools、/tools desc |
/skills | Skills パネルを開いて、スキルを閲覧、検索、切り替え、起動する | /skills、/<skill-name> |
/plan | プランモードに切り替える、またはプランモードを終了する | /plan、/plan <task>、/plan exit |
/approval-mode | ツール承認モードを変更する(現在のセッションのみ) | /approval-mode、/approval-mode auto-edit |
→ plan | 分析のみ、実行なし(安全なレビュー) | /approval-mode plan |
→ default | 編集に承認を要求する(日常使用) | /approval-mode default |
→ auto-edit | 編集を自動承認する(信頼された環境) | /approval-mode auto-edit |
→ auto | 分類器による評価承認(自律的) | /approval-mode auto |
→ yolo | すべてを自動承認する(迅速なプロトタイピング) | /approval-mode yolo |
/model | 現在のセッションで使用されるモデルを切り替える | /model、/model <model-id>(即座に切り替え) |
/model --fast | プロンプト提案用に軽量モデルを設定する | /model --fast qwen3-coder-flash |
/model --voice | 音声文字起こしに使用されるモデルを設定する | /model --voice <model-id> |
/model --vision | テキスト専用メインモデル用に画像を文字起こしするための vision-bridge モデルを設定する | /model --vision <model-id> |
/effort | 思考可能モデルの推論努力(effort)を設定する | /effort(ピッカーを開く)、/effort high(low/medium/high/xhigh/max;プロバイダーごとにマッピング・クランプされる) |
/extensions | 拡張機能を管理する | /extensions list、/extensions manage |
→ list | インストール済みの拡張機能を一覧表示する | /extensions list |
→ manage | インストール済みの拡張機能を管理する(インタラクティブ) | /extensions manage |
→ explore | ブラウザで拡張機能ページを開く | /extensions explore <Gemini|ClaudeCode> |
→ install | git リポジトリまたはパスから拡張機能をインストールする | /extensions install <repo-or-path> |
/memory | Memory Manager ダイアログを開く | /memory |
/remember | 永続的なメモリを保存する | /remember Prefer terse responses |
/forget | 一致するエントリを自動メモリから削除する | /forget <query> |
/dream | 自動メモリの統合を手動で実行する | /dream |
/hooks | Qwen Code のフックを管理する | /hooks、/hooks list |
/permissions | 権限ルールを管理する | /permissions |
/agents | サブエージェントを管理する | /agents manage、/agents create |
/arena | Arena セッションを管理する | /arena start、/arena stop、/arena status、/arena select(エイリアス choose) |
/goal | ゴールを設定する — 条件が満たされるまで作業を継続する | /goal <condition>、/goal clear |
/tasks | バックグラウンドタスクを一覧表示する | /tasks |
/workflows | ワークフローの実行を検査する | /workflows、/workflows <runId> |
/lsp | LSP サーバーのステータスを表示する | /lsp |
/trust | フォルダの信頼設定を管理する | /trust |
信頼できるソースからのみ拡張機能(/extensions install)をインストールしてください。拡張機能には、Qwen Code 自体と同じ権限で実行される MCP サーバー、skill、コマンドが含まれる場合があります。これらはあなたのファイル、API キー、会話データにアクセスできます。/extensions install は確認プロンプトを表示しません。
auto-edit、auto、yolo 承認モードは、ツール実行の承認プロンプトをバイパスします。yolo モードでは、シェルコマンド、ファイル書き込み、ネットワークリクエストを含むすべてのアクションが確認なしに実行されます。これらのモードは、信頼された、サンドボックス化された、または使い捨ての環境でのみ使用してください。
/workflows、/lsp、/trust は、それぞれの機能が有効な場合にのみ登録されます。具体的には、QWEN_CODE_ENABLE_WORKFLOWS=1 環境変数、--experimental-lsp CLI フラグ、および security.folderTrust.enabled 設定で有効化されます。無効な場合、これらは表示されず、不明なコマンドとして報告されます。
1.5 組み込み Skill
これらのコマンドは、特殊なワークフローを提供するバンドルされた skill を呼び出します。
| Command | Description | Usage Examples |
|---|---|---|
/review | 9つの並列レビューエージェントでコード変更をレビューする | /review, /review 123, /review 123 --comment |
/loop | 定期的なスケジュールでプロンプトを実行する | /loop 5m check the build |
/simplify | 最近の変更をレビューし、安全なクリーンアップ編集を直接適用する | /simplify, /simplify focus on duplication |
/qc-helper | Qwen Code の使用方法と設定に関する質問に答える | /qc-helper how do I configure MCP? |
/review の完全なドキュメントについては、Code Review を参照してください。
1.6 サイドクエスチョン (/btw)
/btw コマンドを使用すると、メインの会話フローを中断したり影響を与えたりすることなく、簡単なサイドクエスチョン(脇道に逸れた質問)を行うことができます。
| Command | Description |
|---|---|
/btw <your question> | 簡単なサイドクエスチョンを行う |
?btw <your question> | サイドクエスチョンの代替構文 |
動作の仕組み:
- サイドクエスチョンは、最近の会話コンテキスト(最大20メッセージまで)を含む別の API コールとして送信されます。
- 応答は Composer の上に表示されます。待機中も入力を続けることができます。
- メインの会話はブロックされません。独立して継続されます。
- サイドクエスチョンの応答は、メインの会話履歴の一部にはなりません。
- 回答は完全な Markdown サポート(コードブロック、リスト、テーブルなど)付きでレンダリングされます。
キーボードショートカット(インタラクティブモード):
| Shortcut | Action |
|---|---|
Escape | キャンセル(ロード中)または閉じる(完了後) |
Space または Enter | 回答を閉じる(入力が空の場合) |
Ctrl+C または Ctrl+D | 実行中のサイドクエスチョンをキャンセルする |
例:
(メインの会話がコードのリファクタリングに関するものである間)
> /btw JavaScript の let と var の違いは何ですか?
╭──────────────────────────────────────────╮
│ /btw JavaScript の let と var の違いは │
│ 何ですか? │
│ │
│ + 回答中... │
│ キャンセルするには Escape、Ctrl+C、 │
│ または Ctrl+D を押してください │
╰──────────────────────────────────────────╯
> (Composer はアクティブなままです — 入力を続けてください)
(回答が届いた後)
╭──────────────────────────────────────────╮
│ /btw JavaScript の let と var の違いは │
│ 何ですか? │
│ │
│ `let` はブロックスコープですが、`var` は │
│ 関数スコープです。`let` は ES6 で導入 │
│ され、同じ方法では巻き上げられません。 │
│ │
│ 閉じるには Space、Enter、または │
│ Escape を押してください │
╰──────────────────────────────────────────╯
> (Composer は引き続きアクティブです)サポートされる実行モード:
| Mode | Behavior |
|---|---|
| Interactive | Markdown レンダリング付きで Composer の上に表示 |
| Non-interactive | テキスト結果を返す: btw> question\nanswer |
| ACP (Agent Protocol) | stream_messages 非同期ジェネレータを返す |
メインのタスクから逸れることなく簡単な回答が必要な場合は /btw を使用してください。概念の明確化、事実の確認、または主要なワークフローに集中したまま簡単な説明を得る場合に特に便利です。
1.7 セッションリキャップ (/recap)
/recap コマンドは、現在のセッションの短い「中断していた場所」の要約を生成するため、履歴のページをスクロールして遡ることなく、古い会話を再開できます。
| Command | Description |
|---|---|
/recap | 1行のセッションリキャップを生成して表示する |
動作の仕組み:
- 利用可能な場合は設定された高速モデル(
fastModel設定)を使用し、利用できない場合はメインのセッションモデルにフォールバックします。リキャップには小さく安価なモデルで十分です。 - 最近の会話(最大30メッセージ、テキストのみ — ツール呼び出しとツール応答はフィルタリングされます)が、厳格なシステムプロンプトと共にモデルに送信されます。
- リキャップは、実際のアシスタントの応答と区別できるように、薄い色で
❯プレフィックス付きでレンダリングされます。 - モデルのターンが実行中または別のコマンドが処理中の場合、インラインエラーで拒否します。利用可能な会話がない場合、または基盤となる生成が失敗した場合、
/recapはリキャップの代わりに短い情報メッセージを表示します。手動コマンドは常に何らかの応答を返します。
離席後からの復帰時の自動トリガー:
ターミナルのフォーカスが5分以上外れ、再度フォーカスされると、リキャップが自動的に生成されて表示されます(モデルの応答が進行中でない場合のみ。進行中の場合は現在のターンが完了するのを待ってから実行されます)。手動コマンドとは異なり、自動トリガーは失敗時に完全にサイレントです。生成エラーが発生した場合や要約する内容がない場合、履歴にメッセージは追加されません。general.showSessionRecap 設定(デフォルト: false)によって制御されます。手動の /recap コマンドは、この設定に関係なく常に機能します。
例:
> /recap
❯ 境界のない streamContentHistory と contentStats によって引き起こされた
長時間セッションの OOM に対処するため、loopDetectionService.ts を
リファクタリング中。次のステップは、確認待ちでオプション B
(FNV-1a を使用した LRU スライディングウィンドウ)を実装することです。/model --fast <model>(例: qwen3-coder-flash)経由で高速モデルを設定すると、/recap を高速かつ低コストにできます。自動トリガーを有効にするには general.showSessionRecap を true に設定します。手動の /recap コマンドは、この設定に関係なく常に機能します。
1.8 Diff ビューア (/diff)
/diff コマンドは、未コミットの変更とターンごとの diff を表示するインタラクティブな diff ビューアを開きます。←/→ で現在の git diff と個々の会話ターンの間を切り替え、↑/↓ でファイルを閲覧し、Enter でインライン diff を表示します。
動作の仕組み:
インタラクティブモードでは、/diff は上部にソースピッカーを持つダイアログを開きます。
- Current — ワーキングツリーと HEAD の比較(
git diff HEAD)。ステージング済み、ステージング解除済み、未追跡ファイルを含む、すべての未コミットの変更を表示します。 - T1, T2, T3, … — ターンごとの diff。ファイルを変更したモデルターンごとに1つのタブがあります。最新のターンが最初に表示されます。各タブには、コンテキストとして元のプロンプトのプレビューが表示されます。
ファイルリストには、ファイルごとの統計情報(追加/削除された行数)と、特別な状態(new、deleted、untracked、binary、truncated、oversized)のタグが表示されます。ファイル上で Enter を押すと、構文ハイライトされた hunk でインライン diff を表示します。
ターンごとの diff にはファイルチェックポイントが有効になっている必要があります(インタラクティブモードではデフォルトでオン)。ファイルチェックポイントがオフの場合、「Current」ソースのみが利用可能です。
キーボードショートカット:
| Key | Action |
|---|---|
← / → | ソース間を切り替える(Current / T1 / T2…) |
↑ / ↓ | ファイルリストをナビゲートする |
j / k | ファイルリストをナビゲートする(vim スタイル) |
| Enter | 選択したファイルのインライン diff を表示する |
← / Esc | インライン diff 表示からファイルリストに戻る |
| Esc | ダイアログを閉じる |
例:
┌ /diff · Turn 3 "refactor the auth middleware" ──── 3 files +45 -12 ┐
│ │
│ ◀ Current · T3 · T2 · T1 ▶ │
│ │
│ › src/utils/parser.ts +30 -8 │
│ src/utils/parser.test.ts +12 -2 │
│ README.md +3 -2 │
│ │
│ ←/→ ソース · ↑/↓ ファイル · Enter 表示 · Esc 閉じる │
└─────────────────────────────────────────────────────────────────────┘非インタラクティブモード:
ヘッドレス(--prompt)または非インタラクティブなコンテキストでは、/diff はワーキングツリーと HEAD の比較のプレーンテキストサマリーを出力します。ターンごとのナビゲーションは利用できません。
3 files changed, +45 / -12
+30 -8 src/utils/parser.ts
+12 -2 src/utils/parser.test.ts
+3 -2 README.md1.9 情報、設定、およびヘルプ
情報の取得およびシステム設定の実行を行うコマンドです。
| Command | Description | Usage Examples |
|---|---|---|
/help | 利用可能なコマンドのヘルプ情報を表示する | /help または /? |
/status | バージョン情報を表示する | /status または /about |
/status paths | 現在のセッションファイルとログのパスを表示する | /status paths |
/stats | インタラクティブな使用統計ダッシュボードを開く(Session、Activity、Efficiency タブ) | /stats または /usage |
/stats model | モデルごとのトークン内訳と推定コストを表示する | /stats model |
/stats tools | ツールごとの呼び出し回数を表示する | /stats tools |
/stats skills | 現在のライブセッションの skill ごとの呼び出し回数を表示する(ライブのみ。クロスセッションのデイリー/マンスリーアクティビティは除く) | /stats skills |
/stats daily | 日次のトークン使用統計を表示する | /stats daily(エイリアス day)、/stats day [YYYY-MM-DD] |
/stats monthly | 月次のトークン使用統計を表示する | /stats monthly(エイリアス month)、/stats month [YYYY-MM] |
/stats export | 使用統計を CSV または JSON にエクスポートする | /stats export <daily|monthly> [date|month] [--format csv|json] [--output path] |
/settings | 設定エディタを開く | /settings |
/config | ドットパスキーで任意の設定を取得または設定する(ユーザー設定に書き込み) | /config(すべてリスト)、/config <key>、/config <key>=<value> |
/auth | 認証方法を変更する | /auth、/connect、/login |
/doctor | インストールと環境の診断を実行する | /doctor、/doctor memory |
→ memory | 現在のプロセスのメモリ診断を表示する | /doctor memory [--json] [--sample] [--snapshot] |
→ cpu-profile | Chrome DevTools 分析用の CPU プロファイルを記録する | /doctor cpu-profile [--duration <seconds>] |
→ rollback | スタンドアロン CLI バイナリを前のバージョンにロールバックする(スタンドアロンインストールのみ。会話履歴には /rewind を使用) | /doctor rollback |
/docs | ブラウザで Qwen Code の完全なドキュメントを開く | /docs |
/ide | IDE 統合を管理する | /ide status、/ide install、/ide enable、/ide disable |
/insight | チャット履歴からプログラミングのインサイトを生成する | /insight |
/setup-github | GitHub Actions をセットアップする | /setup-github |
/bug | Qwen Code に関する問題を報告する | /bug Button click unresponsive |
/copy | クリップボードにコピー: 返信(N番目の最後)、コード(言語別)、LaTeX、または Mermaid | /copy、/copy 2、/copy python、/copy latex、/copy mermaid |
/quit | Qwen Code を即座に終了する | /quit または /exit |
/doctor memory --snapshot は V8 ヒープスナップショットを書き出します。これには現在のセッションのプロンプト、ファイルの内容、API キー、ツール結果が含まれている可能性があります。共有する前にファイルを必ず確認してください。
/config はドット区切りのキー(例: general.vimMode)で個別の設定を読み書きし、インタラクティブな /settings エディタを補完します。引数なし(または --help)で /config を実行すると、設定可能なすべてのキーがその型と現在の値とともに一覧表示されます。/config <key> は現在の値を出力します(ただし、boolean 型のキーの場合は値がトグルされます)。/config <key>=<value> は値を設定します。変更はユーザー設定(~/.qwen/settings.json)に書き込まれます。この方法で変更できるのは boolean、string、number、enum の設定のみです。array と object の設定は settings.json を直接編集する必要があります。機密性の高い値(API キー、トークン、ベース URL)は出力時にマスクされ、tools.approvalMode を yolo に設定することはブロックされます。
1.10 一般的なショートカット
| ショートカット | 機能 | 備考 |
|---|---|---|
Ctrl/cmd+L | 画面のクリア | 表示されている画面のみをクリアします(/clear のようにセッションはリセットされません) |
Ctrl/cmd+T | ツール説明の切り替え | MCP ツール管理 |
Ctrl/cmd+C×2 | 終了確認 | セキュアな終了機構 |
Ctrl/cmd+Z | 入力の取り消し | テキスト編集 |
Ctrl/cmd+Shift+Z | 入力のやり直し | テキスト編集 |
1.11 認証コマンド
Qwen Code セッション内で /auth を使用して認証を設定します。現在の認証と環境のステータスを確認するには /doctor を使用します。
| コマンド | 説明 |
|---|---|
/auth | 認証を対話形式で設定します(エイリアス: /connect, /login) |
/doctor | 認証と環境のチェックを表示します |
単独の qwen auth CLI コマンドは削除されました。qwen auth status などのレガシーな呼び出しは、削除通知と移行ガイドとともに表示されます。詳細は Authentication ページを参照してください。
2. @ コマンド(ファイルの導入)
@ コマンドは、ローカルファイルやディレクトリの内容を会話に素早く追加するために使用します。
| コマンド形式 | 説明 | 例 |
|---|---|---|
@<file path> | 指定されたファイルの内容を注入します | @src/main.py Please explain this code |
@<directory path> | ディレクトリ内のすべてのテキストファイルを再帰的に読み込みます | @docs/ Summarize content of this document |
単独の @ | @ 記号自体について議論する際に使用します | @ What is this symbol used for in programming? |
注: パス内のスペースはバックスラッシュでエスケープする必要があります(例: @My\ Documents/file.txt)
3. 感嘆符コマンド(!) - シェルコマンドの実行
感嘆符コマンドを使用すると、Qwen Code 内で直接システムコマンドを実行できます。
| コマンド形式 | 説明 | 例 |
|---|---|---|
!<shell command> | サブシェルでコマンドを実行します | !ls -la, !git status |
単独の ! | シェルモードに切り替え、入力されたものはすべてシェルコマンドとして直接実行されます | !(Enter) → コマンド入力 → !(終了) |
環境変数: ! を介して実行されるコマンドには、QWEN_CODE=1 環境変数が設定されます。
4. カスタムコマンド
頻繁に使用するプロンプトをショートカットコマンドとして保存し、作業効率と一貫性を向上させます。
カスタムコマンドは現在、オプションの YAML フロントマターを持つ Markdown 形式を使用します。TOML 形式は非推奨ですが、後方互換性のために引き続きサポートされています。TOML ファイルが検出されると、自動移行プロンプトが表示されます。
概要
| 機能 | 説明 | 利点 | 優先度 | 適用シナリオ |
|---|---|---|---|---|
| 名前空間 | サブディレクトリがコロン区切りのコマンドを作成します | コマンドの整理が容易 | ||
| グローバルコマンド | ~/.qwen/commands/ | すべてのプロジェクトで利用可能 | 低 | 個人で頻繁に使用するコマンド、プロジェクト横断での使用 |
| プロジェクトコマンド | <project root directory>/.qwen/commands/ | プロジェクト固有でバージョン管理可能 | 高 | チームでの共有、プロジェクト固有のコマンド |
優先順位ルール: プロジェクトコマンド > ユーザーコマンド(名前が同じ場合はプロジェクトコマンドが使用されます)
コマンドの命名規則
ファイルパスからコマンド名へのマッピングテーブル
| ファイルの場所 | 生成されるコマンド | 呼び出し例 |
|---|---|---|
~/.qwen/commands/test.md | /test | /test Parameter |
<project>/.qwen/commands/git/commit.md | /git:commit | /git:commit Message |
命名規則: パス区切り文字(/ または \)はコロン(:)に変換されます。
Markdown ファイル形式の仕様(推奨)
カスタムコマンドは、オプションの YAML フロントマターを持つ Markdown ファイルを使用します。
---
description: オプションの説明(/help に表示されます)
---
ここにプロンプトの内容を記述します。
パラメータの注入には {{args}} を使用します。| フィールド | 必須 | 説明 | 例 |
|---|---|---|---|
description | 任意 | コマンドの説明(/help に表示されます) | description: Code analysis tool |
| プロンプト本文 | 必須 | モデルに送信されるプロンプトの内容 | フロントマターの後の任意の Markdown 内容 |
TOML ファイル形式(非推奨)
非推奨: TOML 形式は引き続きサポートされていますが、将来のバージョンで削除される予定です。Markdown 形式に移行してください。
| フィールド | 必須 | 説明 | 例 |
|---|---|---|---|
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 → 元のプロンプト |
🚀 動的コンテンツ注入
| 注入タイプ | 構文 | 処理順序 | 目的 |
|---|---|---|---|
| ファイル内容 | @{file path} | 最初に処理 | 静的な参照ファイルを注入 |
| シェルコマンド | !{command} | 中間で処理 | 動的な実行結果を注入 |
| パラメータ置換 | {{args}} | 最後に処理 | ユーザーパラメータを注入 |
3. シェルコマンドの実行(!{...})
| 操作 | ユーザーインタラクション |
|---|---|
| 1. コマンドとパラメータの解析 | - |
| 2. 自動シェルエスケープ | - |
| 3. 確認ダイアログの表示 | ✅ ユーザー確認 |
| 4. コマンドの実行 | - |
| 5. 出力のプロンプトへの注入 | - |
例: Git コミットメッセージの生成
---
description: ステージされた変更に基づいてコミットメッセージを生成します
---
以下の diff に基づいてコミットメッセージを生成してください:
```diff
!{git diff --staged}
```4. ファイル内容の注入(@{...})
| ファイルタイプ | サポート状況 | 処理方法 |
|---|---|---|
| テキストファイル | ✅ 完全サポート | 内容を直接注入 |
| 画像/PDF | ✅ マルチモーダルサポート | エンコードして注入 |
| バイナリファイル | ⚠️ 制限付きサポート | スキップまたは切り詰められる場合あり |
| ディレクトリ | ✅ 再帰的注入 | .gitignore ルールに従う |
例: コードレビューコマンド
---
description: ベストプラクティスに基づくコードレビュー
---
{{args}} をレビューしてください。参考基準:
@{docs/code-standards.md}実践的な作成例
「純粋関数リファクタリング」コマンド作成手順表
| 操作 | コマンド/コード |
|---|---|
| 1. ディレクトリ構造の作成 | mkdir -p ~/.qwen/commands/refactor |
| 2. コマンドファイルの作成 | touch ~/.qwen/commands/refactor/pure.md |
| 3. コマンド内容の編集 | 以下の完全なコードを参照してください。 |
| 4. コマンドのテスト | @file.js → /refactor:pure |
---
description: コードを純粋関数にリファクタリングします
---
現在のコンテキストのコードを分析し、純粋関数にリファクタリングしてください。
要件:
1. リファクタリングされたコードを提供する
2. 重要な変更点と純粋関数の特徴の実装について説明する
3. 関数の動作は変更しないカスタムコマンドのベストプラクティスまとめ
コマンド設計の推奨事項表
| 実践ポイント | 推奨されるアプローチ | 避けるべきこと |
|---|---|---|
| コマンドの命名 | 名前空間を使用して整理する | 過度に一般的な名前を避ける |
| パラメータ処理 | {{args}} を明確に使用する | デフォルトの追記に依存する(混乱しやすい) |
| エラーハンドリング | シェルのエラー出力を活用する | 実行失敗を無視する |
| ファイル構成 | ディレクトリ内で機能ごとに整理する | すべてのコマンドをルートディレクトリに置く |
| 説明フィールド | 常に明確な説明を提供する | 自動生成された説明に依存する |
セキュリティ機能のリマインダー表
| セキュリティ機構 | 保護効果 | ユーザー操作 |
|---|---|---|
| シェルエスケープ | コマンドインジェクションの防止 | 自動処理 |
| 実行確認 | 意図しない実行の回避 | ダイアログによる確認 |
| エラーレポート | 問題の診断を支援 | エラー情報の確認 |
5. CLI サブコマンド
これらのコマンドは、インタラクティブセッションを開始する前に、シェルから qwen <subcommand> として実行されます。
セッション管理
| コマンド | 説明 | 使用例 |
|---|---|---|
qwen sessions list | 最近の会話セッションの一覧表示 | qwen sessions list, qwen sessions list --json --limit 50 |
qwen sessions list
メタデータを含む最近の Qwen Code セッションを一覧表示します。
フラグ:
| フラグ | 型 | デフォルト | 説明 |
|---|---|---|---|
--json | boolean | false | JSON Lines として出力(1行に1つのJSONオブジェクト) |
--limit | number | 20 | 表示するセッションの最大数 |
人間が読みやすい出力(デフォルト):
以下の列を持つテーブル: SESSION ID, STARTED (UTC タイムスタンプ), TITLE, BRANCH, PROMPT.
JSON 出力 (--json):
stdout に JSON Lines を出力します。各行は以下のフィールドを持つ JSON オブジェクトです。
sessionId, startTime, mtime, prompt, gitBranch, customTitle, titleSource, filePath, cwd「これ以降にセッションがある」ことを示すヒントは stderr に出力されるため、jq にパイプしても安全です。
例:
# 直近20件のセッションを表示(デフォルト)
qwen sessions list
# 直近50件のセッションを表示
qwen sessions list --limit 50
# スクリプト用に JSON として出力
qwen sessions list --json | jq .