コマンド
本ドキュメントでは、Qwen Code がサポートするすべてのコマンドを詳細に説明し、セッションの効率的な管理、インターフェースのカスタマイズ、動作の制御を支援します。
Qwen Code のコマンドは特定のプレフィックスでトリガーされ、以下の 3 つのカテゴリに分類されます。
| プレフィックスタイプ | 機能の説明 | 主なユースケース |
|---|---|---|
スラッシュコマンド (/) | Qwen Code 自体のメタレベル制御 | セッション管理、設定変更、ヘルプの取得 |
アットコマンド (@) | ローカルファイルの内容を会話に素早く注入 | AI に指定されたファイルやディレクトリ内のコードを分析させる |
エクスクラメーションコマンド (!) | システム Shell との直接対話 | git status や ls などのシステムコマンドの実行 |
1. スラッシュコマンド (/)
スラッシュコマンドは、Qwen Code のセッション、インターフェース、基本動作を管理するために使用されます。
1.1 セッションとプロジェクト管理
これらのコマンドは、作業進捗の保存、復元、要約に役立ちます。
| コマンド | 説明 | 使用例 |
|---|---|---|
/init | 現在のディレクトリを分析し、初期コンテキストファイルを作成 | /init |
/summary | 会話履歴に基づいてプロジェクトの要約を生成 | /summary |
/compress | チャット履歴を要約に置き換えて Token を節約 | /compress |
/resume | 以前の会話セッションを再開 | /resume |
/recap | 現在のセッションの一行要約を即時生成 | /recap |
/restore | ツール実行前のファイルの状態に復元 | /restore (一覧) または /restore <ID> |
1.2 インターフェースとワークスペース制御
インターフェースの外観や作業環境を調整するためのコマンドです。
| コマンド | 説明 | 使用例 |
|---|---|---|
/clear | ターミナル画面のコンテンツをクリア | /clear (ショートカット: Ctrl+L) |
/context | コンテキストウィンドウの使用状況の内訳を表示 | /context |
→ detail | 項目ごとのコンテキスト使用状況の内訳を表示 | /context detail |
/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(英語)、ru-RU(ロシア語)、de-DE(ドイツ語) - 出力言語の例:
Chinese、English、Japaneseなど
1.4 ツールとモデル管理
AI ツールとモデルを管理するためのコマンドです。
| コマンド | 説明 | 使用例 |
|---|---|---|
/mcp | 設定済みの MCP サーバーとツールを一覧表示 | /mcp、/mcp desc |
/tools | 現在利用可能なツールの一覧を表示 | /tools、/tools desc |
/skills | 利用可能なスキルを一覧表示および実行 | /skills、/skills <name> |
/plan | プランモードへの切り替え、またはプランモードの終了 | /plan、/plan <task>、/plan exit |
/approval-mode | ツール使用の承認モードを変更 | /approval-mode <mode (auto-edit)> --project |
→plan | 分析のみ実行。実行は行わない | セキュアなレビュー |
→default | 編集には承認が必要 | 日常使用 |
→auto-edit | 編集を自動的に承認 | 信頼された環境 |
→yolo | すべてを自動的に承認 | 迅速なプロトタイピング |
/model | 現在のセッションで使用するモデルを切り替え | /model |
/model --fast | プロンプト提案用に軽量モデルを設定 | /model --fast qwen3-coder-flash |
/extensions | 現在のセッションでアクティブなすべての拡張機能を一覧表示 | /extensions |
/memory | メモリ管理ダイアログを開く | /memory |
/remember | 永続的なメモリを保存 | /remember Prefer terse responses |
/forget | 自動メモリから一致するエントリを削除 | /forget <query> |
/dream | 自動メモリの統合を手動で実行 | /dream |
1.5 組み込みスキル
これらのコマンドは、専門的なワークフローを提供するバンドルスキルを呼び出します。
| コマンド | 説明 | 使用例 |
|---|---|---|
/review | 5つの並列エージェントと決定論的分析によるコード変更のレビュー | /review、/review 123、/review 123 --comment |
/loop | 定期的なスケジュールでプロンプトを実行 | /loop 5m check the build |
/qc-helper | Qwen Code の使用方法と設定に関する質問に回答 | /qc-helper how do I configure MCP? |
/review の完全なドキュメントについては、Code Review を参照してください。
1.6 サイド質問 (/btw)
/btw コマンドを使用すると、メインの会話フローを中断したり影響を与えたりすることなく、簡単なサイド質問を行うことができます。
| コマンド | 説明 |
|---|---|
/btw <your question> | 簡単なサイド質問を行う |
?btw <your question> | サイド質問の代替構文 |
動作原理:
- サイド質問は、最近の会話コンテキスト(最大 20 メッセージ)を含む個別の API 呼び出しとして送信されます
- 応答は Composer の上に表示され、待機中も入力を続けることができます
- メインの会話はブロックされません — 独立して続行されます
- サイド質問への応答は、メインの会話履歴の一部にはなりません
- 回答は完全な Markdown サポート(コードブロック、リスト、テーブルなど)でレンダリングされます
キーボードショートカット(インタラクティブモード):
| ショートカット | アクション |
|---|---|
Escape | キャンセル(読み込み中)または閉じる(完了後) |
Space または Enter | 回答を閉じる(入力が空の場合) |
Ctrl+C または Ctrl+D | 進行中のサイド質問をキャンセル |
例:
(While the main conversation is about refactoring code)
> /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│
╰──────────────────────────────────────────╯
> (Composer remains active — keep typing)
(After the answer arrives)
╭──────────────────────────────────────────╮
│ /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 still active)サポートされる実行モード:
| モード | 動作 |
|---|---|
| インタラクティブ | Composer の上に Markdown レンダリング付きで表示 |
| 非インタラクティブ | テキスト結果を返す: btw> question\nanswer |
| ACP (Agent Protocol) | stream_messages 非同期ジェネレーターを返す |
メインのタスクから逸脱せずに素早く回答が必要な場合は /btw を使用してください。概念の明確化、事実の確認、または主要なワークフローに集中しながら素早い説明を得る場合に特に便利です。
1.7 セッション要約 (/recap)
/recap コマンドは、現在のセッションの短い「続きから」要約を生成するため、履歴のページをスクロールバックすることなく古い会話を再開できます。
| コマンド | 説明 |
|---|---|
/recap | 一行のセッション要約を生成して表示 |
動作原理:
- 設定済みの高速モデル(
fastModel設定)が利用可能な場合はそれを使用し、利用できない場合はメインセッションモデルにフォールバックします。要約には小規模でコストの低いモデルで十分です。 - 最近の会話(最大 30 メッセージ、テキストのみ — ツール呼び出しとツール応答は除外)が、厳密なシステムプロンプトとともにモデルに送信されます。
- 要約は、実際のアシスタントの応答と区別できるよう、薄い色で
❯プレフィックス付きでレンダリングされます。 - モデルのターンが進行中または別のコマンドが処理中の場合は、インラインエラーで拒否されます。利用可能な会話がない場合、または基盤となる生成が失敗した場合は、要約の代わりに短い情報メッセージが表示されます — 手動コマンドは常に何らかの応答を返します。
離席からの復帰時の自動トリガー:
ターミナルが 5 分以上 ブラー状態になり、再度フォーカスされると、要約が自動的に生成されて表示されます(モデルの応答が進行中でない場合のみ。進行中の場合は、現在のターンが完了するのを待ってから実行されます)。手動コマンドとは異なり、自動トリガーは失敗時に完全にサイレントです。生成エラーや要約対象がない場合、履歴にメッセージは追加されません。general.showSessionRecap 設定(デフォルト: true)で制御されます。手動の /recap コマンドは、この設定に関係なく常に動作します。
例:
> /recap
❯ Refactoring loopDetectionService.ts to address long-session OOM caused by
unbounded streamContentHistory and contentStats. The next step is to
implement option B (LRU sliding window with FNV-1a) pending confirmation./model --fast <model>(例: qwen3-coder-flash)で高速モデルを設定すると、/recap を高速かつ低コストに実行できます。general.showSessionRecap を false に設定すると、自動トリガーを無効にしつつ、手動コマンドは引き続き利用できます。
1.8 情報、設定、ヘルプ
情報の取得やシステム設定を行うためのコマンドです。
| コマンド | 説明 | 使用例 |
|---|---|---|
/help | 利用可能なコマンドのヘルプ情報を表示 | /help または /? |
/about | バージョン情報を表示 | /about |
/stats | 現在のセッションの詳細な統計情報を表示 | /stats |
/settings | 設定エディタを開く | /settings |
/auth | 認証方法を変更 | /auth |
/bug | Qwen Code に関する問題を報告 | /bug Button click unresponsive |
/copy | 最後の出力内容をクリップボードにコピー | /copy |
/quit | Qwen Code を即時終了 | /quit または /exit |
1.9 一般的なショートカット
| ショートカット | 機能 | 備考 |
|---|---|---|
Ctrl/cmd+L | 画面クリア | /clear と同等 |
Ctrl/cmd+T | ツール説明の切り替え | MCP ツール管理 |
Ctrl/cmd+C×2 | 終了確認 | セキュアな終了メカニズム |
Ctrl/cmd+Z | 入力の取り消し | テキスト編集 |
Ctrl/cmd+Shift+Z | 入力のやり直し | テキスト編集 |
1.10 CLI 認証サブコマンド
セッション内の /auth スラッシュコマンドに加えて、Qwen Code はターミナルから直接認証を管理するためのスタンドアロン CLI サブコマンドを提供します。
| コマンド | 説明 |
|---|---|
qwen auth | インタラクティブな認証設定 |
qwen auth coding-plan | Alibaba Cloud Coding Plan で認証 |
qwen auth coding-plan --region china --key sk-sp-… | 非インタラクティブな Coding Plan 設定(スクリプト用) |
qwen auth api-key | API キーで認証 |
qwen auth qwen-oauth | |
qwen auth status | 現在の認証ステータスを表示 |
これらのコマンドは Qwen Code セッションの外で実行されます。セッション開始前、またはスクリプトや CI 環境で認証を設定するために使用してください。詳細は 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. エクスクラメーションコマンド (!) - Shell コマンド実行
エクスクラメーションコマンドを使用すると、Qwen Code 内でシステムコマンドを直接実行できます。
| コマンド形式 | 説明 | 例 |
|---|---|---|
!<shell command> | サブ Shell でコマンドを実行 | !ls -la、!git status |
単独の ! | Shell モードに切り替え、入力が直接 Shell コマンドとして実行される | !(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: Optional description (displayed in /help)
---
Your prompt content here.
Use {{args}} for parameter injection.| フィールド | 必須 | 説明 | 例 |
|---|---|---|---|
description | オプション | コマンドの説明(/help で表示) | description: Code analysis tool |
| プロンプト本文 | 必須 | モデルに送信されるプロンプト内容 | フロントマター以降の任意の Markdown コンテンツ |
TOML ファイル形式(非推奨)
非推奨: TOML 形式は引き続きサポートされていますが、将来のバージョンで削除される予定です。Markdown 形式への移行をお願いします。
| フィールド | 必須 | 説明 | 例 |
|---|---|---|---|
prompt | 必須 | モデルに送信されるプロンプト内容 | prompt = "Please analyze code: {{args}}" |
description | オプション | コマンドの説明(/help で表示) | description = "Code analysis tool" |
パラメータ処理メカニズム
| 処理方法 | 構文 | 適用シナリオ | セキュリティ機能 |
|---|---|---|---|
| コンテキスト対応注入 | {{args}} | 正確なパラメータ制御が必要 | 自動 Shell エスケープ |
| デフォルトパラメータ処理 | 特別なマークなし | 単純なコマンド、パラメータの追加 | そのまま追加 |
| Shell コマンド注入 | !{command} | 動的コンテンツが必要 | 実行前に確認が必要 |
1. コンテキスト対応注入 ({{args}})
| シナリオ | TOML 設定 | 呼び出し方法 | 実際の効果 |
|---|---|---|---|
| 生注入 | prompt = "Fix: {{args}}" | /fix "Button issue" | Fix: "Button issue" |
| Shell コマンド内 | prompt = "Search: !{grep {{args}} .}" | /search "hello" | grep "hello" . を実行 |
2. デフォルトパラメータ処理
| 入力状況 | 処理方法 | 例 |
|---|---|---|
| パラメータあり | プロンプトの末尾に追加(2行の改行で区切り) | /cmd parameter → 元のプロンプト + パラメータ |
| パラメータなし | プロンプトをそのまま送信 | /cmd → 元のプロンプト |
🚀 動的コンテンツ注入
| 注入タイプ | 構文 | 処理順序 | 目的 |
|---|---|---|---|
| ファイルコンテンツ | @{file path} | 最初に処理 | 静的参照ファイルの注入 |
| Shell コマンド | !{command} | 中間で処理 | 動的実行結果の注入 |
| パラメータ置換 | {{args}} | 最後に処理 | ユーザーパラメータの注入 |
3. Shell コマンド実行 (!{...})
| 操作 | ユーザーインタラクション |
|---|---|
| 1. コマンドとパラメータの解析 | - |
| 2. 自動 Shell エスケープ | - |
| 3. 確認ダイアログの表示 | ✅ ユーザー確認 |
| 4. コマンドの実行 | - |
| 5. 出力をプロンプトに注入 | - |
例: Git コミットメッセージの生成
---
description: Generate Commit message based on staged changes
---
Please generate a Commit message based on the following diff:
```diff
!{git diff --staged}
```4. ファイルコンテンツ注入 (@{...})
| ファイルタイプ | サポート状況 | 処理方法 |
|---|---|---|
| テキストファイル | ✅ 完全サポート | コンテンツを直接注入 |
| 画像/PDF | ✅ マルチモーダルサポート | エンコードして注入 |
| バイナリファイル | ⚠️ 制限付きサポート | スキップまたは切り捨てられる場合あり |
| ディレクトリ | ✅ 再帰的注入 | .gitignore ルールに従う |
例: コードレビューコマンド
---
description: Code review based on best practices
---
Review {{args}}, reference standards:
@{docs/code-standards.md}実践的な作成例
「純粋関数へのリファクタリング」コマンド作成手順表
| 操作 | コマンド/コード |
|---|---|
| 1. ディレクトリ構造の作成 | mkdir -p ~/.qwen/commands/refactor |
| 2. コマンドファイルの作成 | touch ~/.qwen/commands/refactor/pure.md |
| 3. コマンド内容の編集 | 以下の完全なコードを参照。 |
| 4. コマンドのテスト | @file.js → /refactor:pure |
---
description: Refactor code to pure function
---
Please analyze code in current context, refactor to pure function.
Requirements:
1. Provide refactored code
2. Explain key changes and pure function characteristic implementation
3. Maintain function unchangedカスタムコマンドのベストプラクティス概要
コマンド設計推奨事項表
| 実践ポイント | 推奨アプローチ | 避けるべきこと |
|---|---|---|
| コマンド命名 | 整理のためにネームスペースを使用 | 過度に一般的な名前を避ける |
| パラメータ処理 | {{args}} を明確に使用 | デフォルトの追加に依存(混乱を招く) |
| エラー処理 | Shell エラー出力を活用 | 実行失敗を無視 |
| ファイル構成 | ディレクトリで機能別に整理 | すべてのコマンドをルートディレクトリに配置 |
| 説明フィールド | 常に明確な説明を提供 | 自動生成された説明に依存 |
セキュリティ機能リマインダー表
| セキュリティメカニズム | 保護効果 | ユーザー操作 |
|---|---|---|
| Shell エスケープ | コマンドインジェクションを防止 | 自動処理 |
| 実行確認 | 誤実行を回避 | ダイアログで確認 |
| エラー報告 | 問題の診断を支援 | エラー情報を確認 |