コマンド
このドキュメントでは、Qwen Code がサポートするすべてのコマンドについて詳しく説明し、セッションの管理、インターフェースのカスタマイズ、およびその動作制御を効率的に行えるようにします。
Qwen Code のコマンドは特定のプレフィックスを通じて起動され、以下の3つのカテゴリに分類されます。
| プレフィックスの種類 | 機能説明 | 主な使用例 |
|---|---|---|
スラッシュコマンド (/) | Qwen Code 自体のメタレベル制御 | セッション管理、設定変更、ヘルプ表示など |
アットコマンド (@) | ローカルファイルの内容を会話に素早く挿入 | AI に特定のファイルやディレクトリ内のコードを分析させる場合 |
エクスクラメーションコマンド (!) | システムシェルとの直接的なやり取り | git status や ls などのシステムコマンドを実行する場合 |
1. スラッシュコマンド (/)
スラッシュコマンドは、Qwen Codeセッションの管理、インターフェース、および基本的な動作に使用されます。
1.1 セッションおよびプロジェクト管理
これらのコマンドを使用すると、作業の進行状況を保存、復元、および要約できます。
| コマンド | 説明 | 使用例 |
|---|---|---|
/init | 現在のディレクトリを分析し、初期コンテキストファイルを作成する | /init |
/summary | 会話履歴に基づいてプロジェクトの要約を生成する | /summary |
/compress | チャット履歴を要約で置き換えてトークンを節約する | /compress |
/resume | 前回の会話セッションを再開する | /resume |
/restore | ツール実行前の状態にファイルを復元する | /restore (リスト表示) または /restore <ID> |
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(英語)、ru-RU(ロシア語)、de-DE(ドイツ語) - 出力言語の例:
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 重要な情報 |
1.5 情報、設定、およびヘルプ
情報の取得やシステム設定を実行するためのコマンド。
| コマンド | 説明 | 使用例 |
|---|---|---|
/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.6 よく使われるショートカット
| ショートカット | 機能 | 備考 |
|---|---|---|
Ctrl/cmd+L | 画面のクリア | /clear と同等 |
Ctrl/cmd+T | ツール説明の切り替え | MCP ツール管理 |
Ctrl/cmd+C×2 | 終了確認 | セキュア終了メカニズム |
Ctrl/cmd+Z | 入力の元に戻す | テキスト編集 |
Ctrl/cmd+Shift+Z | 入力のやり直し | テキスト編集 |
2. @ コマンド(ファイルの紹介)
@ コマンドを使用すると、ローカルのファイルやディレクトリの内容を会話に素早く追加できます。
| コマンド形式 | 説明 | 例 |
|---|---|---|
@<ファイルパス> | 指定したファイルの内容を挿入する | @src/main.py このコードを説明してください |
@<ディレクトリパス> | ディレクトリ内のすべてのテキストファイルを再帰的に読み込む | @docs/ このドキュメントの内容を要約してください |
単独の @ | プログラミングで @ 記号自体を議論する場合に使用 | @ この記号はプログラミングで何に使われますか? |
注: パスにスペースが含まれる場合は、バックスラッシュでエスケープする必要があります(例: @My\ Documents/file.txt)
3. エクスクラメーションコマンド (!) - シェルコマンド実行
エクスクラメーションコマンドを使用すると、Qwen Code 内で直接システムコマンドを実行できます。
| コマンド形式 | 説明 | 例 |
|---|---|---|
!<shell command> | サブシェルでコマンドを実行 | !ls -la, !git status |
単独の ! | シェルモードに切り替え、入力した内容はすべてシェルコマンドとして直接実行される | !(Enter) → コマンド入力 → !(終了) |
環境変数: ! 経由で実行されたコマンドでは、QWEN_CODE=1 環境変数が設定されます。
4. カスタムコマンド
頻繁に使用するプロンプトをショートカットコマンドとして保存し、作業効率を向上させ、一貫性を確保します。
クイック概要
| 機能 | 説明 | 利点 | 優先度 | 適用シナリオ |
|---|---|---|---|---|
| 名前空間 | サブディレクトリがコロン付きコマンドを作成 | コマンドの整理がしやすい | ||
| グローバルコマンド | ~/.qwen/commands/ | すべてのプロジェクトで利用可能 | 低 | 個人でよく使うコマンド、プロジェクト横断的な利用 |
| プロジェクトコマンド | <プロジェクトルートディレクトリ>/.qwen/commands/ | プロジェクト固有、バージョン管理可能 | 高 | チーム共有、プロジェクト固有のコマンド |
優先度ルール: プロジェクトコマンド > ユーザーコマンド (名前が同じ場合はプロジェクトコマンドが使用される)
コマンド命名規則
ファイルパスからコマンド名へのマッピング表
| ファイル位置 | 生成されるコマンド | 例 |
|---|---|---|
~/.qwen/commands/test.toml | /test | /test パラメータ |
<project>/git/commit.toml | /git:commit | /git:commit メッセージ |
命名規則: パス区切り文字(/ または \)はコロン(:)に変換されます
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 に基づいてコミットメッセージを生成してください:
diff
!{git diff --staged}
"""4. ファイルコンテンツの注入 (@{...})
| ファイルタイプ | サポート状況 | 処理方法 |
|---|---|---|
| テキストファイル | ✅ 完全サポート | コンテンツを直接注入 |
| 画像/PDF | ✅ マルチモーダルサポート | エンコードして注入 |
| バイナリファイル | ⚠️ 限定的サポート | スキップまたは切り捨てられる可能性あり |
| ディレクトリ | ✅ 再帰的注入 | .gitignore ルールに従う |
例: コードレビュー コマンド
# review.toml
description = "ベストプラクティスに基づいたコードレビュー"
prompt = """
{{args}} をレビューし、以下の基準を参照:
@{docs/code-standards.md}
"""実践的な作成例
「Pure Function Refactoring」コマンド作成手順表
| 操作 | コマンド/コード |
|---|---|
| 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}} を使用する | デフォルトの追加に依存する(混同しやすい) |
| エラーハンドリング | シェルのエラー出力を活用する | 実行失敗を無視する |
| ファイル整理 | 機能ごとにディレクトリで整理する | すべてのコマンドをルートディレクトリに置く |
| 説明フィールド | 常に明確な説明を提供する | 自動生成された説明に依存する |
セキュリティ機能リマインダーテーブル
| セキュリティメカニズム | 保護効果 | ユーザー操作 |
|---|---|---|
| シェルエスケープ | コマンドインジェクションの防止 | 自動処理 |
| 実行確認 | 間違った実行の回避 | ダイアログでの確認 |
| エラー報告 | 問題の診断を支援 | エラー情報の表示 |
Last updated on