コマンド
このドキュメントでは、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 |
/skills | 利用可能なスキルを一覧・実行(実験的) | /skills, /skills <name> |
/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 内で直接システムコマンドを実行できます。
| コマンド形式 | 説明 | 例 |
|---|---|---|
!<シェルコマンド> | サブシェル内でコマンドを実行する | !ls -la, !git status |
単独の ! | シェルモードに切り替え、入力した内容はすべてシェルコマンドとして直接実行される | !(Enter) → コマンド入力 → !(終了) |
環境変数: ! 経由で実行されたコマンドでは、QWEN_CODE=1 という環境変数が設定されます。
4. カスタムコマンド
よく使用するプロンプトをショートカットコマンドとして保存して、作業効率を向上させ、一貫性を確保します。
注釈: カスタムコマンドは現在、オプションのYAMLフロントマターを持つMarkdown形式を使用しています。TOML形式は非推奨となりましたが、下位互換性のために引き続きサポートされています。TOMLファイルが検出された場合、自動移行プロンプトが表示されます。
クイック概要
| 機能 | 説明 | 利点 | 優先度 | 適用シナリオ |
|---|---|---|---|---|
| 名前空間 | サブディレクトリがコロン付きコマンドを作成 | コマンドの整理に優れている | ||
| グローバルコマンド | ~/.qwen/commands/ | すべてのプロジェクトで利用可能 | 低 | 個人でよく使うコマンド、プロジェクト横断的な利用 |
| プロジェクトコマンド | <プロジェクトルートディレクトリ>/.qwen/commands/ | プロジェクト固有、バージョン管理可能 | 高 | チーム共有、プロジェクト固有のコマンド |
優先順位ルール: プロジェクトコマンド > ユーザーコマンド(名前が同じ場合はプロジェクトコマンドが使用される)
コマンド命名規則
ファイルパスからコマンド名へのマッピング表
| ファイルの場所 | 生成されるコマンド | 呼び出し例 |
|---|---|---|
~/.qwen/commands/test.md | /test | /test パラメータ |
<project>/git/commit.md | /git:commit | /git:commit メッセージ |
命名規則: パス区切り文字(/ または \)はコロン(:)に変換されます
Markdown ファイル形式仕様(推奨)
カスタムコマンドは、オプションの YAML フロントマターを持つ Markdown ファイルを使用します:
---
description: オプションの説明(/help で表示されます)
---
ここにプロンプトの内容を記述します。
パラメータの注入には {{args}} を使用してください。| フィールド | 必須 | 説明 | 例 |
|---|---|---|---|
description | オプション | コマンドの説明(/help で表示されます) | description: コード分析ツール |
| プロンプト本文 | 必須 | モデルに送信されるプロンプトの内容 | フロントマター以降の任意の Markdown 内容 |
TOML ファイル形式(非推奨)
非推奨: TOML 形式は引き続きサポートされますが、将来のバージョンで削除される予定です。Markdown 形式への移行をお願いします。
| フィールド | 必須 | 説明 | 例 |
|---|---|---|---|
prompt | 必須 | モデルに送信するプロンプト内容 | prompt = "Please analyze code: {{args}}" |
description | 任意 | コマンドの説明(/help で表示されます) | description = "Code analysis tool" |
パラメータ処理メカニズム
| 処理方法 | 構文 | 適用可能なシナリオ | セキュリティ機能 |
|---|---|---|---|
| コンテキスト認識インジェクション | {{args}} | 精確なパラメータ制御が必要 | 自動シェルエスケープ |
| 既定のパラメータ処理 | 特別なマークなし | 単純なコマンド、パラメータ追加 | そのまま追加 |
| シェルコマンドインジェクション | !{command} | 動的コンテンツが必要 | 実行前に確認が必要 |
1. コンテキスト認識インジェクション ({{args}})
| シナリオ | TOML設定 | 呼び出し方法 | 実際の効果 |
|---|---|---|---|
| 生インジェクション | prompt = "修正: {{args}}" | /fix "ボタンの問題" | 修正: "ボタンの問題" |
| シェルコマンド内 | prompt = "検索: !{grep {{args}} .}" | /search "hello" | grep "hello" . を実行 |
2. デフォルトパラメータ処理
| 入力状況 | 処理方法 | 例 |
|---|---|---|
| パラメータあり | プロンプト末尾に追加(2つの改行で区切る) | /cmd parameter → 元のプロンプト + パラメータ |
| パラメータなし | プロンプトをそのまま送信 | /cmd → 元のプロンプト |
🚀 動的コンテンツ注入
| 注入タイプ | 構文 | 処理順序 | 目的 |
|---|---|---|---|
| ファイルコンテンツ | @{ファイルパス} | 最初に処理される | 静的リファレンスファイルを挿入する |
| シェルコマンド | !{コマンド} | 中間に処理される | 動的実行結果を挿入する |
| パラメータ置換 | {{args}} | 最後に処理される | ユーザーパラメータを挿入する |
3. シェルコマンド実行 (!{...})
| 操作 | ユーザーインタラクション |
|---|---|
| 1. コマンドとパラメータの解析 | - |
| 2. 自動シェルエスケープ | - |
| 3. 確認ダイアログの表示 | ✅ ユーザー確認 |
| 4. コマンド実行 | - |
| 5. 出力をプロンプトに挿入 | - |
例: Git コミットメッセージ生成
---
description: ステージされた変更に基づいてコミットメッセージを生成する
---
以下の diff に基づいてコミットメッセージを生成してください:
```diff
!{git diff --staged}
```
#### 4. ファイルコンテンツの注入(`@{...}`)
| ファイルタイプ | サポート状況 | 処理方法 |
| -------------- | ---------------------- | --------------------------- |
| テキストファイル | ✅ 完全サポート | コンテンツを直接注入 |
| 画像/PDF | ✅ マルチモーダル対応 | エンコードして注入 |
| バイナリファイル | ⚠️ 制限付きサポート | スキップまたは切り捨てられる可能性あり |
| ディレクトリ | ✅ 再帰的注入 | .gitignore のルールに従う |
例:コードレビューのコマンド
```markdown
---
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` |
```markdown
---
description: 純粋関数にコードをリファクタリングする
---
現在のコンテキスト内のコードを分析し、純粋関数にリファクタリングしてください。
要件:
1. リファクタリングされたコードを提供する
2. 主な変更点と純粋関数の特徴実装について説明する
3. 関数の動作は変更しない
```
### カスタムコマンドのベストプラクティスまとめ
#### コマンド設計推奨テーブル
| プラクティスポイント | 推奨アプローチ | すべきではないこと |
| -------------------- | ----------------------------------- | ------------------------------------------- |
| コマンド命名 | 組織のために名前空間を使用する | あまりにも一般的な名前を避ける |
| パラメータ処理 | 明確に `{{args}}` を使用する | デフォルトの追加に依存する(混同しやすい) |
| エラー処理 | シェルのエラー出力を活用する | 実行失敗を無視する |
| ファイル構成 | 機能ごとにディレクトリで整理する | すべてのコマンドをルートディレクトリに置く |
| 説明フィールド | 常に明確な説明を提供する | 自動生成された説明に依存する |
#### セキュリティ機能リマインダーテーブル
| セキュリティメカニズム | 保護効果 | ユーザー操作 |
| ---------------------- | -------------------------- | ---------------------- |
| シェルエスケープ | コマンドインジェクションの防止 | 自動処理 |
| 実行確認 | 偶発的な実行の回避 | ダイアログでの確認 |
| エラーレポート | 問題の診断を支援 | エラー情報の表示 |