Skip to Content
ユーザーガイド機能コマンド

コマンド

本文書では、Qwen Code がサポートするすべてのコマンドについて詳しく説明し、セッションの効率的な管理、インターフェースのカスタマイズ、動作の制御を支援します。

Qwen Code のコマンドは特定のプレフィックスでトリガーされ、次の 3 つのカテゴリに分類されます。

プレフィックスの種類機能の説明代表的なユースケース
スラッシュコマンド (/)Qwen Code 自体のメタレベル制御セッションの管理、設定の変更、ヘルプの取得
アットコマンド (@)ローカルファイルの内容を会話に素早く挿入AI に指定されたファイルやディレクトリ配下のコードを分析させる
感嘆符コマンド (!)システムシェルとの直接対話git statusls などのシステムコマンドの実行

1. スラッシュコマンド (/)

スラッシュコマンドは、Qwen Code のセッション、インターフェース、および基本的な動作を管理するために使用されます。

1.1 セッションとプロジェクトの管理

これらのコマンドは、作業の進捗を保存、復元、および要約するのに役立ちます。

コマンド説明使用例
/init現在のディレクトリを分析し、初期コンテキストファイルを作成する/init
/summary会話履歴に基づいてプロジェクトの要約を生成する/summary
/compressトークンを節約するためにチャット履歴を要約で置き換える/compress または /summarize
/compress-fastAI を使用しない高速圧縮 — 古いツール出力と考え部分を削除する/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
Note

/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
/themeQwen 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-configClaude の設定から MCP サーバーをインポートする/import-config all/import-config claude-code/import-config claude-desktop --scope user|project
/tools現在利用可能なツールリストを表示する/tools/tools desc
/skillsSkills パネルを開いて、スキルを閲覧、検索、切り替え、起動する/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>
installgit リポジトリまたはパスから拡張機能をインストールする/extensions install <repo-or-path>
/memoryMemory Manager ダイアログを開く/memory
/remember永続的なメモリを保存する/remember Prefer terse responses
/forget一致するエントリを自動メモリから削除する/forget <query>
/dream自動メモリの統合を手動で実行する/dream
/hooksQwen Code のフックを管理する/hooks/hooks list
/permissions権限ルールを管理する/permissions
/agentsサブエージェントを管理する/agents manage/agents create
/arenaArena セッションを管理する/arena start/arena stop/arena status/arena select(エイリアス choose
/goalゴールを設定する — 条件が満たされるまで作業を継続する/goal <condition>/goal clear
/tasksバックグラウンドタスクを一覧表示する/tasks
/workflowsワークフローの実行を検査する/workflows/workflows <runId>
/lspLSP サーバーのステータスを表示する/lsp
/trustフォルダの信頼設定を管理する/trust
Warning

信頼できるソースからのみ拡張機能(/extensions install)をインストールしてください。拡張機能には、Qwen Code 自体と同じ権限で実行される MCP サーバー、skill、コマンドが含まれる場合があります。これらはあなたのファイル、API キー、会話データにアクセスできます。/extensions install は確認プロンプトを表示しません。

Warning

auto-editautoyolo 承認モードは、ツール実行の承認プロンプトをバイパスします。yolo モードでは、シェルコマンド、ファイル書き込み、ネットワークリクエストを含むすべてのアクションが確認なしに実行されます。これらのモードは、信頼された、サンドボックス化された、または使い捨ての環境でのみ使用してください。

Note

/workflows/lsp/trust は、それぞれの機能が有効な場合にのみ登録されます。具体的には、QWEN_CODE_ENABLE_WORKFLOWS=1 環境変数、--experimental-lsp CLI フラグ、および security.folderTrust.enabled 設定で有効化されます。無効な場合、これらは表示されず、不明なコマンドとして報告されます。

1.5 組み込み Skill

これらのコマンドは、特殊なワークフローを提供するバンドルされた skill を呼び出します。

CommandDescriptionUsage Examples
/review9つの並列レビューエージェントでコード変更をレビューする/review, /review 123, /review 123 --comment
/loop定期的なスケジュールでプロンプトを実行する/loop 5m check the build
/simplify最近の変更をレビューし、安全なクリーンアップ編集を直接適用する/simplify, /simplify focus on duplication
/qc-helperQwen Code の使用方法と設定に関する質問に答える/qc-helper how do I configure MCP?

/review の完全なドキュメントについては、Code Review を参照してください。

1.6 サイドクエスチョン (/btw)

/btw コマンドを使用すると、メインの会話フローを中断したり影響を与えたりすることなく、簡単なサイドクエスチョン(脇道に逸れた質問)を行うことができます。

CommandDescription
/btw <your question>簡単なサイドクエスチョンを行う
?btw <your question>サイドクエスチョンの代替構文

動作の仕組み:

  • サイドクエスチョンは、最近の会話コンテキスト(最大20メッセージまで)を含む別の API コールとして送信されます。
  • 応答は Composer の上に表示されます。待機中も入力を続けることができます。
  • メインの会話はブロックされません。独立して継続されます。
  • サイドクエスチョンの応答は、メインの会話履歴の一部にはなりません
  • 回答は完全な Markdown サポート(コードブロック、リスト、テーブルなど)付きでレンダリングされます。

キーボードショートカット(インタラクティブモード):

ShortcutAction
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 は引き続きアクティブです)

サポートされる実行モード:

ModeBehavior
InteractiveMarkdown レンダリング付きで Composer の上に表示
Non-interactiveテキスト結果を返す: btw> question\nanswer
ACP (Agent Protocol)stream_messages 非同期ジェネレータを返す
Tip

メインのタスクから逸れることなく簡単な回答が必要な場合は /btw を使用してください。概念の明確化、事実の確認、または主要なワークフローに集中したまま簡単な説明を得る場合に特に便利です。

1.7 セッションリキャップ (/recap)

/recap コマンドは、現在のセッションの短い「中断していた場所」の要約を生成するため、履歴のページをスクロールして遡ることなく、古い会話を再開できます。

CommandDescription
/recap1行のセッションリキャップを生成して表示する

動作の仕組み:

  • 利用可能な場合は設定された高速モデル(fastModel 設定)を使用し、利用できない場合はメインのセッションモデルにフォールバックします。リキャップには小さく安価なモデルで十分です。
  • 最近の会話(最大30メッセージ、テキストのみ — ツール呼び出しとツール応答はフィルタリングされます)が、厳格なシステムプロンプトと共にモデルに送信されます。
  • リキャップは、実際のアシスタントの応答と区別できるように、薄い色で プレフィックス付きでレンダリングされます。
  • モデルのターンが実行中または別のコマンドが処理中の場合、インラインエラーで拒否します。利用可能な会話がない場合、または基盤となる生成が失敗した場合、/recap はリキャップの代わりに短い情報メッセージを表示します。手動コマンドは常に何らかの応答を返します。

離席後からの復帰時の自動トリガー:

ターミナルのフォーカスが5分以上外れ、再度フォーカスされると、リキャップが自動的に生成されて表示されます(モデルの応答が進行中でない場合のみ。進行中の場合は現在のターンが完了するのを待ってから実行されます)。手動コマンドとは異なり、自動トリガーは失敗時に完全にサイレントです。生成エラーが発生した場合や要約する内容がない場合、履歴にメッセージは追加されません。general.showSessionRecap 設定(デフォルト: false)によって制御されます。手動の /recap コマンドは、この設定に関係なく常に機能します。

例:

> /recap ❯ 境界のない streamContentHistory と contentStats によって引き起こされた 長時間セッションの OOM に対処するため、loopDetectionService.ts を リファクタリング中。次のステップは、確認待ちでオプション B (FNV-1a を使用した LRU スライディングウィンドウ)を実装することです。
Tip

/model --fast <model>(例: qwen3-coder-flash)経由で高速モデルを設定すると、/recap を高速かつ低コストにできます。自動トリガーを有効にするには general.showSessionRecaptrue に設定します。手動の /recap コマンドは、この設定に関係なく常に機能します。

1.8 Diff ビューア (/diff)

/diff コマンドは、未コミットの変更とターンごとの diff を表示するインタラクティブな diff ビューアを開きます。←/→ で現在の git diff と個々の会話ターンの間を切り替え、↑/↓ でファイルを閲覧し、Enter でインライン diff を表示します。

動作の仕組み:

インタラクティブモードでは、/diff は上部にソースピッカーを持つダイアログを開きます。

  • Current — ワーキングツリーと HEAD の比較(git diff HEAD)。ステージング済み、ステージング解除済み、未追跡ファイルを含む、すべての未コミットの変更を表示します。
  • T1, T2, T3, … — ターンごとの diff。ファイルを変更したモデルターンごとに1つのタブがあります。最新のターンが最初に表示されます。各タブには、コンテキストとして元のプロンプトのプレビューが表示されます。

ファイルリストには、ファイルごとの統計情報(追加/削除された行数)と、特別な状態(newdeleteduntrackedbinarytruncatedoversized)のタグが表示されます。ファイル上で Enter を押すと、構文ハイライトされた hunk でインライン diff を表示します。

ターンごとの diff にはファイルチェックポイントが有効になっている必要があります(インタラクティブモードではデフォルトでオン)。ファイルチェックポイントがオフの場合、「Current」ソースのみが利用可能です。

キーボードショートカット:

KeyAction
/ ソース間を切り替える(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.md

1.9 情報、設定、およびヘルプ

情報の取得およびシステム設定の実行を行うコマンドです。

CommandDescriptionUsage 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-profileChrome DevTools 分析用の CPU プロファイルを記録する/doctor cpu-profile [--duration <seconds>]
rollbackスタンドアロン CLI バイナリを前のバージョンにロールバックする(スタンドアロンインストールのみ。会話履歴には /rewind を使用)/doctor rollback
/docsブラウザで Qwen Code の完全なドキュメントを開く/docs
/ideIDE 統合を管理する/ide status/ide install/ide enable/ide disable
/insightチャット履歴からプログラミングのインサイトを生成する/insight
/setup-githubGitHub Actions をセットアップする/setup-github
/bugQwen Code に関する問題を報告する/bug Button click unresponsive
/copyクリップボードにコピー: 返信(N番目の最後)、コード(言語別)、LaTeX、または Mermaid/copy/copy 2/copy python/copy latex/copy mermaid
/quitQwen Code を即座に終了する/quit または /exit
Warning

/doctor memory --snapshot は V8 ヒープスナップショットを書き出します。これには現在のセッションのプロンプト、ファイルの内容、API キー、ツール結果が含まれている可能性があります。共有する前にファイルを必ず確認してください。

Note

/config はドット区切りのキー(例: general.vimMode)で個別の設定を読み書きし、インタラクティブな /settings エディタを補完します。引数なし(または --help)で /config を実行すると、設定可能なすべてのキーがその型と現在の値とともに一覧表示されます。/config <key> は現在の値を出力します(ただし、boolean 型のキーの場合は値がトグルされます)。/config <key>=<value> は値を設定します。変更はユーザー設定(~/.qwen/settings.json)に書き込まれます。この方法で変更できるのは booleanstringnumberenum の設定のみです。arrayobject の設定は settings.json を直接編集する必要があります。機密性の高い値(API キー、トークン、ベース URL)は出力時にマスクされ、tools.approvalModeyolo に設定することはブロックされます。

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認証と環境のチェックを表示します
Note

単独の 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. カスタムコマンド

頻繁に使用するプロンプトをショートカットコマンドとして保存し、作業効率と一貫性を向上させます。

Note

カスタムコマンドは現在、オプションの 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 ファイル形式(非推奨)

Warning

非推奨: 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 セッションを一覧表示します。

フラグ:

フラグデフォルト説明
--jsonbooleanfalseJSON Lines として出力(1行に1つのJSONオブジェクト)
--limitnumber20表示するセッションの最大数

人間が読みやすい出力(デフォルト):

以下の列を持つテーブル: 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 .
Last updated on