コマンド
このドキュメントでは、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 | セッションの1行要約を今すぐ生成 | /recap |
/restore | ツール呼び出し実行前のチェックポイントにプロジェクトファイルを戻す | /restore (一覧表示) または /restore <ID> |
/delete | 以前のセッションを削除 | /delete |
/branch | 現在の会話を新しいセッションにフォーク | /branch |
/fork | 会話全体を継承したバックグラウンドエージェントを起動 | /fork <指示> |
/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 <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> |
/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 |
/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)をインストールしてください。拡張機能は MCP サーバー、スキル、コマンドをバンドルしており、これらは Qwen Code 自体と同じ権限で実行されます。つまり、ファイル、API キー、会話データにアクセスできます。/extensions install は確認を求めません。
auto-edit、auto、yolo の各承認モードは、ツール実行時の承認プロンプトをスキップします。yolo モードでは、シェルコマンド、ファイル書き込み、ネットワークリクエストを含むすべてのアクションが確認なしで実行されます。これらのモードは、信頼できる、サンドボックス化された、または使い捨ての環境でのみ使用してください。
/workflows、/lsp、/trust は、それぞれ対応する機能が有効な場合にのみ登録されます。有効化には、環境変数 QWEN_CODE_ENABLE_WORKFLOWS=1、CLI フラグ --experimental-lsp、設定 security.folderTrust.enabled が必要です。無効な場合は表示されず、不明なコマンドとして報告されます。
1.5 組み込みスキル
これらのコマンドは、バンドルされたスキルを呼び出し、特殊なワークフローを提供します。
| コマンド | 説明 | 使用例 |
|---|---|---|
/review | 5つの並列エージェントと決定論的分析でコード変更をレビュー | /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 のドキュメントについては コードレビュー を参照してください。
1.6 サイドクエスチョン (/btw)
/btw コマンドを使用すると、メインの会話フローを中断したり影響を与えたりすることなく、素早くサイドクエスチョンを行うことができます。
| コマンド | 説明 |
|---|---|
/btw <質問> | 素早くサイドクエスチョンを行う |
?btw <質問> | サイドクエスチョンの代替構文 |
動作方法:
- サイドクエスチョンは、最近の会話コンテキスト(最大過去20メッセージ)を含む別個の API 呼び出しとして送信されます。
- 応答はコンポーザーの上に表示されます。待機中も入力は続けられます。
- メインの会話は ブロックされません。独立して続行されます。
- サイドクエスチョンの応答は、メインの会話履歴の 一部にはなりません。
- 回答は完全な Markdown サポート(コードブロック、リスト、テーブルなど)でレンダリングされます。
キーボードショートカット(対話モード):
| ショートカット | アクション |
|---|---|
Escape | キャンセル(ロード中)または消去(完了後) |
Space または Enter | 回答を消去(入力が空の場合) |
Ctrl+C または Ctrl+D | 実行中のサイドクエスチョンをキャンセル |
例:
(メイン会話がリファクタリングについて行われている最中)
> /btw What's the difference between let and var in JavaScript?
╭──────────────────────────────────────────╮
│ /btw What's the difference between let │
│ and var in JavaScript? │
│ │
│ + Answering... │
│ Press Escape, Ctrl+C, or Ctrl+D to cancel│
╰──────────────────────────────────────────╯
> (コンポーザーはアクティブなまま — 入力を続行)
(回答が届いた後)
╭──────────────────────────────────────────╮
│ /btw What's the difference between let │
│ and var in JavaScript? │
│ │
│ `let` is block-scoped, while `var` is │
│ function-scoped. `let` was introduced │
│ in ES6 and doesn't hoist the same way. │
│ │
│ Press Space, Enter, or Escape to dismiss │
╰──────────────────────────────────────────╯
> (コンポーザーはまだアクティブ)対応実行モード:
| モード | 動作 |
|---|---|
| インタラクティブ | 上記ComposerにMarkdownレンダリングで表示 |
| 非インタラクティブ | テキスト結果を返す: btw> 質問\n回答 |
| ACP (エージェントプロトコル) | stream_messages 非同期ジェネレータを返す |
メインタスクを中断せずに素早く回答が必要な場合は /btw を使用してください。コンセプトの明確化、事実確認、クイックな説明を得るのに特に便利で、主要なワークフローに集中したまま利用できます。
1.7 セッション要約 (/recap)
/recap コマンドは、現在のセッションの簡潔な「前回の続き」サマリーを生成します。履歴を何ページもスクロールしなくても、以前の会話を再開できます。
| コマンド | 説明 |
|---|---|
/recap | 一行のセッション要約を生成して表示 |
動作の仕組み:
- 設定済みの高速モデル(
fastModel設定)が利用可能な場合はそれを使用し、なければメインセッションモデルにフォールバックします。要約には小さく安価なモデルで十分です。 - 最近の会話(最大30メッセージ、テキストのみ。ツール呼び出しとツール応答は除外)が、タイトなシステムプロンプトとともにモデルに送信されます。
- 要約は薄い色で
❯のプレフィックスを付けて表示され、実際のアシスタント返信とは区別されます。 - モデルターンの処理中または別のコマンドが処理中の場合は、インラインエラーで拒否されます。利用可能な会話がない場合、または生成自体が失敗した場合は、
/recapは要約の代わりに短い情報メッセージを表示します。手動コマンドは常に何かしら応答します。
離席からの復帰時の自動トリガー:
ターミナルが 5分以上 ブラー状態になり、再びフォーカスされると、自動的に要約が生成・表示されます(モデル応答が進行中でない場合のみ。進行中の場合、現在のターンが終了してから実行されます)。手動コマンドとは異なり、自動トリガーは失敗時に完全にサイレントです。生成エラーや要約する内容がない場合、履歴にメッセージは追加されません。general.showSessionRecap 設定で制御されます(デフォルト: false)。手動の /recap コマンドはこの設定に関わらず常に動作します。
例:
> /recap
❯ 長セッションのOOM(原因は無制限のstreamContentHistoryとcontentStats)に対処するため
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。ファイルを変更したモデルターンごとにタブが表示されます。最近のターンが最初に表示されます。各タブには元のプロンプトのプレビューが表示され、コンテキストがわかります。
ファイルリストにはファイルごとの統計(追加行/削除行)と、特別な状態を示すタグ(new, deleted, untracked, binary, truncated, oversized)が表示されます。ファイルでEnterを押すと、シンタックスハイライトされたハンクを含むインラインdiffを表示できます。
ターンごとのdiffを表示するには、ファイルチェックポイント機能が有効になっている必要があります(インタラクティブモードではデフォルトでオン)。ファイルチェックポイントがオフの場合は、「Current」ソースのみが利用可能です。
キーボードショートカット:
| キー | 動作 |
|---|---|
← / → | ソースを切り替え(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 │
│ │
│ ←/→ source · ↑/↓ file · Enter view · Esc close │
└──────────────────────────────────────────────────────────────────────────┘非インタラクティブモード:
ヘッドレス(--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 情報、設定、ヘルプ
情報取得やシステム設定のためのコマンドです。
| コマンド | 説明 | 使用例 |
|---|---|---|
/help | 利用可能なコマンドのヘルプ情報を表示 | /help または /? |
/status | バージョン情報を表示 | /status または /about |
/status paths | 現在のセッションファイルとログのパスを表示 | /status paths |
/stats | インタラクティブな使用統計ダッシュボードを開く(セッション、アクティビティ、効率タブ) | /stats または /usage |
/stats model | モデルごとのトークン内訳と推定コストを表示 | /stats model |
/stats tools | ツールごとの呼び出し回数を表示 | /stats tools |
/stats skills | 現在のライブセッションでのスキルごとの呼び出し回数を表示(ライブのみ。セッションを跨ぐ日次/月次アクティビティは含まない) | /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 |
/settings | 設定エディタを開く | /settings |
/auth | 認証方法を変更 | /auth, /connect, /login |
/doctor | インストールと環境の診断を実行 | /doctor, /doctor memory |
→ memory | 現在のプロセスのメモリ診断情報を表示 | /doctor memory [--json] [--sample] [--snapshot] |
→ cpu-profile | Chrome DevTools分析用のCPUプロファイルを記録 | /doctor cpu-profile [--duration <秒数>] |
→ 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 ボタンクリックが応答しない |
/copy | クリップボードにコピー: 返信(N番目前)、コード(言語指定)、LaTeX、Mermaid | /copy, /copy 2, /copy python, /copy latex, /copy mermaid |
/quit | Qwen Codeを即座に終了 | /quit または /exit |
/doctor memory --snapshot はV8ヒープスナップショットを書き出します。このスナップショットには、現在のセッションのプロンプト、ファイル内容、APIキー、ツール結果が含まれる可能性があります。共有する前にファイルを確認してください。
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 などの従来の呼び出しは、削除通知と移行ガイダンスを表示します。詳細は 認証 ページを参照してください。
2. @ コマンド(ファイルの導入)
@ コマンドは、ローカルファイルまたはディレクトリの内容をすばやく会話に追加するために使用します。
| コマンド形式 | 説明 | 使用例 |
|---|---|---|
@<ファイルパス> | 指定したファイルの内容を注入 | @src/main.py このコードを説明してください |
@<ディレクトリパス> | ディレクトリ内の全テキストファイルを再帰的に読み込む | @docs/ このドキュメントの内容を要約してください |
単独の @ | @ 記号自体について議論する場合に使用 | @ この記号はプログラミングでどのように使われますか? |
注: パスにスペースが含まれる場合はバックスラッシュでエスケープしてください(例: @My\ Documents/file.txt)
3. エクスクラメーションコマンド (!) - シェルコマンド実行
エクスクラメーションコマンドを使用すると、Qwen Code内で直接システムコマンドを実行できます。
| コマンド形式 | 説明 | 使用例 |
|---|---|---|
!<シェルコマンド> | サブシェルでコマンドを実行 | !ls -la, !git status |
単独の ! | シェルモードに切り替え。以降の入力はすべてシェルコマンドとして直接実行 | !(Enter) → コマンド入力 → !(終了) |
環境変数: ! で実行されたコマンドは、QWEN_CODE=1 環境変数を設定します。
4. カスタムコマンド
頻繁に使用するプロンプトをショートカットコマンドとして保存し、作業効率の向上と一貫性の確保を実現します。
カスタムコマンドは現在、Markdown形式(オプションでYAMLフロントマター付き)を使用しています。TOML形式は非推奨ですが、後方互換性のために引き続きサポートされます。TOMLファイルが検出された場合、自動移行プロンプトが表示されます。
クイック概要
| 機能 | 説明 | 利点 | 優先度 | 適用シナリオ |
|---|---|---|---|---|
| 名前空間 | サブディレクトリがコロン区切りコマンドを作成 | コマンドの整理が容易 | ||
| グローバルコマンド | ~/.qwen/commands/ | すべてのプロジェクトで利用可能 | 低 | 個人の頻出コマンド、プロジェクト横断的な使用 |
| プロジェクトコマンド | <プロジェクトルート>/.qwen/commands/ | プロジェクト固有、バージョン管理可能 | 高 | チーム共有、プロジェクト固有のコマンド |
優先順位ルール: プロジェクトコマンド > ユーザーコマンド(同名の場合はプロジェクトコマンドが優先)
コマンド命名ルール
ファイルパスとコマンド名の対応表
| ファイルの場所 | 生成されるコマンド | 呼び出し例 |
|---|---|---|
~/.qwen/commands/test.md | /test | /test パラメータ |
<プロジェクト>/.qwen/commands/git/commit.md | /git:commit | /git:commit メッセージ |
命名ルール: パス区切り文字(/ または \)をコロン(:)に変換
Markdownファイル形式仕様(推奨)
カスタムコマンドは、オプションのYAMLフロントマターを持つMarkdownファイルを使用します。
---
description: オプションの説明(/help に表示)
---
プロンプトの内容をここに記述。
パラメータ注入には {{args}} を使用。| フィールド | 必須 | 説明 | 例 |
|---|---|---|---|
description | オプション | コマンドの説明(/help に表示) | description: コード分析ツール |
| プロンプト本文 | 必須 | モデルに送信されるプロンプト内容 | フロントマター以降のMarkdownコンテンツ |
TOMLファイル形式(非推奨)
非推奨: TOML形式は引き続きサポートされますが、将来のバージョンで削除される予定です。Markdown形式に移行してください。
| フィールド | 必須 | 説明 | 例 |
|---|---|---|---|
prompt | 必須 | モデルに送信されるプロンプト内容 | prompt = "コードを分析してください: {{args}}" |
description | オプション | コマンドの説明(/help に表示) | description = "コード分析ツール" |
パラメータ処理メカニズム
| 処理方法 | 構文 | 適用シナリオ | セキュリティ機能 |
|---|---|---|---|
| コンテキスト認識注入 | {{args}} | 正確なパラメータ制御が必要 | 自動シェルエスケープ |
| デフォルトパラメータ処理 | 特別なマークなし | シンプルなコマンド、パラメータ追加 | そのまま追加 |
| シェルコマンド注入 | !{command} | 動的コンテンツが必要 | 実行前に確認が必要 |
1. コンテキスト認識注入 ({{args}})
| シナリオ | TOML設定 | 呼び出し方法 | 実際の効果 |
|---|---|---|---|
| 生の注入 | prompt = "修正: {{args}}" | /fix "ボタン問題" | 修正: "ボタン問題" |
| シェルコマンド内 | prompt = "検索: !{grep {{args}} .}" | /search "hello" | grep "hello" . を実行 |
2. デフォルトパラメータ処理
| 入力状況 | 処理方法 | 例 |
|---|---|---|
| パラメータあり | プロンプトの末尾に追加(2行の改行で区切り) | /cmd パラメータ → 元のプロンプト + パラメータ |
| パラメータなし | そのままプロンプトを送信 | /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 <サブコマンド> として実行します。
セッション管理
| コマンド | 説明 | 使用例 |
|---|---|---|
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「has more sessions」のヒントはstderrに出力されるため、jqへのパイプは安全です。
例:
# 最後の20セッションを表示(デフォルト)
qwen sessions list
# 最後の50セッションを表示
qwen sessions list --limit 50
# スクリプト用にJSONで出力
qwen sessions list --json | jq .