Skip to Content
ユーザーガイド設定設定

Qwen Code の設定

Tip

認証 / API キー: 認証(API キー、Alibaba Cloud Coding Plan)および認証関連の環境変数(OPENAI_API_KEY など)については、認証 を参照してください。

Note

新しい設定形式に関する注意: settings.json ファイルの形式が、より整理された新しい構造に更新されました。旧形式は自動的に移行されます。 Qwen Code では、環境変数、コマンドライン引数、設定ファイルなど、動作を構成する複数の方法を提供しています。このドキュメントでは、異なる設定方法と利用可能な設定項目について説明します。

設定の階層

設定は以下の優先順位で適用されます(数字が小さいほど優先度が低く、大きいほど上書きされます):

レベル設定ソース説明
1デフォルト値アプリケーション内にハードコードされたデフォルト値
2システムデフォルトファイルシステム全体のデフォルト設定。他の設定ファイルで上書き可能
3ユーザー設定ファイル現在のユーザー向けのグローバル設定
4プロジェクト設定ファイルプロジェクト固有の設定
5システム設定ファイルシステム全体の設定。他のすべての設定ファイルを上書き
6環境変数システム全体またはセッション固有の変数。.env ファイルから読み込まれる場合あり
7コマンドライン引数CLI 起動時に渡される値

設定ファイル

Qwen Code は永続的な設定に JSON 設定ファイルを使用します。これらのファイルには 4 つの保存場所があります:

ファイルタイプ場所適用範囲
システムデフォルトファイルLinux: /etc/qwen-code/system-defaults.json
Windows: C:\ProgramData\qwen-code\system-defaults.json
macOS: /Library/Application Support/QwenCode/system-defaults.json
パスは QWEN_CODE_SYSTEM_DEFAULTS_PATH 環境変数で上書き可能。
システム全体のデフォルト設定のベースレイヤーを提供します。これらの設定は優先度が最も低く、ユーザー、プロジェクト、またはシステム上書き設定によって上書きされることを想定しています。
ユーザー設定ファイル~/.qwen/settings.json~ はホームディレクトリ)。現在のユーザーのすべての Qwen Code セッションに適用されます。
プロジェクト設定ファイルプロジェクトのルートディレクトリ内の .qwen/settings.jsonその特定のプロジェクトから Qwen Code を実行した場合にのみ適用されます。プロジェクト設定はユーザー設定を上書きします。
システム設定ファイルLinux: /etc/qwen-code/settings.json
Windows: C:\ProgramData\qwen-code\settings.json
macOS: /Library/Application Support/QwenCode/settings.json
パスは QWEN_CODE_SYSTEM_SETTINGS_PATH 環境変数で上書き可能。
システム上のすべてのユーザーのすべての Qwen Code セッションに適用されます。システム設定はユーザー設定とプロジェクト設定を上書きします。企業のシステム管理者がユーザーの Qwen Code 設定を管理する場合に有用です。
Note

設定内の環境変数に関する注意: settings.json ファイル内の文字列値は、$VAR_NAME または ${VAR_NAME} 構文を使用して環境変数を参照できます。これらの変数は設定の読み込み時に自動的に解決されます。例えば、環境変数 MY_API_TOKEN がある場合、settings.json"apiKey": "$MY_API_TOKEN" のように使用できます。

プロジェクト内の .qwen ディレクトリ

プロジェクト設定ファイルに加えて、プロジェクトの .qwen ディレクトリには、Qwen Code の動作に関連するその他のプロジェクト固有のファイルを含めることができます。例:

設定の移行

Qwen Code は、レガシーな設定を新しい形式に自動的に移行します。移行前に旧設定ファイルはバックアップされます。以下の設定は、否定形(disable*)から肯定形(enable*)の命名に変更されました:

旧設定新設定備考
disableAutoUpdate + disableUpdateNaggeneral.enableAutoUpdate単一設定に統合
disableLoadingPhrasesui.accessibility.enableLoadingPhrases
disableFuzzySearchcontext.fileFiltering.enableFuzzySearch
disableCacheControlmodel.generationConfig.enableCacheControl
Note

真偽値の反転: 移行時、真偽値は反転されます(例:disableAutoUpdate: trueenableAutoUpdate: false になります)。

disableAutoUpdatedisableUpdateNag の統合ポリシー

両方のレガシー設定が存在し、値が異なる場合、移行は以下のポリシーに従います:いずれかdisableAutoUpdate または disableUpdateNagtrue の場合、enableAutoUpdatefalse になります:

disableAutoUpdatedisableUpdateNag移行後の enableAutoUpdate
falsefalsetrue
falsetruefalse
truefalsefalse
truetruefalse

settings.json で利用可能な設定

設定はカテゴリ別に整理されています。ほとんどの設定は、settings.json ファイル内の対応するトップレベルカテゴリオブジェクト内に配置する必要があります。proxy などの一部の互換性設定はトップレベルキーです。

top-level

設定説明デフォルト
proxystringCLI HTTP リクエスト用のプロキシ URL。優先順位は --proxy > settings.json 内の proxy > HTTPS_PROXY / https_proxy / HTTP_PROXY / http_proxy 環境変数。undefined

general

設定説明デフォルト
general.preferredEditorstringファイルを開く際に優先するエディタ。undefined
general.vimModebooleanVim キーバインドを有効化。false
general.enableAutoUpdateboolean起動時の自動更新チェックとインストールを有効化。true
general.showSessionRecapboolean離席後にターミナルに戻った際、「前回の続き」の要約を 1 行で自動表示。デフォルトはオフ。この設定に関係なく /recap で手動トリガー可能。false
general.sessionRecapAwayThresholdMinutesnumberフォーカスイン時に自動要約がトリガーされるまでのターミナル非アクティブ時間(分)。showSessionRecap が有効な場合のみ使用。5
general.gitCoAuthorbooleanQwen Code 経由でコミットを行う際、git コミットメッセージに Co-authored-by トレイラーを自動追加。true
general.checkpointing.enabledbooleanリカバリ用のセッションチェックポイントを有効化。false
general.defaultFileEncodingstring新規ファイルのデフォルトエンコーディング。BOM なし UTF-8 の場合は "utf-8"(デフォルト)、BOM 付き UTF-8 の場合は "utf-8-bom"。プロジェクトで BOM が必須の場合のみ変更。"utf-8"

output

設定説明デフォルト可能な値
output.formatstringCLI 出力の形式。"text""text", "json"

ui

設定説明デフォルト
ui.themestringUI のカラースキーマ。利用可能なオプションは テーマ を参照。undefined
ui.customThemesobjectカスタムテーマ定義。{}
ui.statusLineobjectカスタムステータスライン設定。フッター左セクションに表示されるシェルコマンド。ステータスライン を参照。undefined
ui.hideWindowTitlebooleanウィンドウタイトルバーを非表示。false
ui.hideTipsbooleanUI 内のすべてのヒント(起動時および応答後)を非表示。コンテキストヒント を参照。false
ui.hideBannerbooleanアプリケーションバナーを非表示。false
ui.hideFooterbooleanUI からフッターを非表示。false
ui.showMemoryUsagebooleanUI にメモリ使用量情報を表示。false
ui.showLineNumbersbooleanCLI 出力のコードブロックに行番号を表示。true
ui.showCitationsbooleanチャット内の生成テキストに出典を表示。true
ui.compactModebooleanツール出力と思考プロセスを非表示にし、表示をクリーンに。セッション中は Ctrl+O、または設定ダイアログで切り替え可能。コンパクトモードでもツール承認プロンプトは常に表示されます。設定はセッション間で保持されます。false
ui.shellOutputMaxLinesnumberインライン表示されるシェル出力の最大行数。0 に設定すると上限を無効化し、全出力を表示。非表示の行は +N lines インジケーターで示されます。エラー、! プレフィックスのユーザー開始コマンド、ツール確認、フォーカスされた埋め込みシェルは常に全出力を表示。5
enableWelcomeBackboolean会話履歴のあるプロジェクトに戻った際にウェルカムバックダイアログを表示。有効化すると、Qwen Code は以前生成されたプロジェクトサマリー(.qwen/PROJECT_SUMMARY.md)があるプロジェクトに戻ったことを自動検出し、以前の会話を続けるか新規開始するかを選択するダイアログを表示します。新しいチャットセッションを開始を選択した場合、その選択はプロジェクトサマリーが変更されるまで現在のプロジェクトで記憶されます。この機能は /summary コマンドおよび終了確認ダイアログと連携します。true
ui.accessibility.enableLoadingPhrasesbooleanローディングフレーズを有効化(アクセシビリティ向上のために無効化可能)。true
ui.accessibility.screenReaderbooleanスクリーンリーダーモードを有効化。TUI をスクリーンリーダーとの互換性向上のために調整します。false
ui.customWittyPhrasesarray of stringsローディング状態に表示するカスタムフレーズのリスト。指定すると、CLI はデフォルトの代わりにこれらのフレーズを循環表示します。[]
ui.enableFollowupSuggestionsbooleanモデル応答後に入力予測を行う フォローアップ提案 を有効化。提案はゴーストテキストとして表示され、Tab、Enter、または右矢印キーで確定可能。true
ui.enableCacheSharingboolean提案生成にキャッシュ対応フォーククエリを使用。プレフィックスキャッシュをサポートするプロバイダーでのコスト削減に有効(実験的)。true
ui.enableSpeculationboolean確定した提案を提出前に投機的に実行。確定時に結果が即座に表示されます(実験的)。false
experimental.emitToolUseSummariesboolean各ツール呼び出しバッチを要約する短い LLM ベースのラベルを生成。ツール使用サマリー を参照。fastModel の設定が必要。未設定の場合は自動的にスキップされます。セッションごとに QWEN_CODE_EMIT_TOOL_USE_SUMMARIES=0 または =1 で上書き可能。true

ide

設定説明デフォルト
ide.enabledbooleanIDE 統合モードを有効化。false
ide.hasSeenNudgebooleanユーザーが IDE 統合の案内を表示済みかどうか。false

privacy

設定説明デフォルト
privacy.usageStatisticsEnabledboolean使用統計情報の収集を有効化。true

model

設定説明デフォルト
model.namestring会話に使用する Qwen モデル。undefined
model.maxSessionTurnsnumberセッションで保持するユーザー/モデル/ツールのターンの最大数。-1 は無制限。-1
model.generationConfigobject基盤のコンテンツジェネレーターに渡される高度な上書き設定。timeoutmaxRetriesenableCacheControlsplitToolMedia(LM Studio などの厳密な OpenAI 互換サーバー向け。role: "tool" メッセージで非テキストコンテンツを拒否する場合、メディアをフォローアップユーザーメッセージに分割)、contextWindowSize(モデルのコンテキストウィンドウサイズを上書き)、modalities(自動検出された入力モダリティを上書き)、customHeaders(API リクエスト用のカスタム HTTP ヘッダー)、extra_body(OpenAI 互換 API リクエスト専用の追加ボディパラメータ)、reasoning{ effort: 'low' | 'medium' | 'high' | 'max', budget_tokens?: number } で思考強度を制御、または false で無効化。'max' は DeepSeek 拡張 — プロバイダーごとの動作は 推論/思考設定 を参照。注意: OpenAI 互換プロバイダーで samplingParams が設定されている場合、パイプラインはそれらのキーをそのまま送信し、別個のトップレベル reasoning フィールドは削除されます。その場合は reasoning_effortsamplingParams(または extra_body)内に配置してください)、および samplingParams 配下の微調整ノブ(例:temperaturetop_pmax_tokens)をサポートします。プロバイダーのデフォルトに依存する場合は未設定のままにしてください。undefined
model.chatCompression.contextPercentageThresholdnumberチャット履歴圧縮のしきい値をモデルの総トークン制限の割合として設定。自動圧縮と手動 /compress コマンドの両方に適用される 0〜1 の値。例えば、0.6 はチャット履歴がトークン制限の 60% を超えた時点で圧縮をトリガーします。圧縮を完全に無効にするには 0 を使用。0.7
model.skipNextSpeakerCheckboolean次のスピーカーチェックをスキップ。false
model.skipLoopDetectionbooleanループ検出チェックを無効化。ループ検出は AI 応答の無限ループを防止しますが、正当なワークフローを中断する誤検出を生成する場合があります。頻繁な誤検出による中断が発生する場合はこのオプションを有効にしてください。false
model.skipStartupContextboolean各セッション開始時の起動ワークスペースコンテキスト(環境サマリーと確認)の送信をスキップ。コンテキストを手動で提供したい場合、または起動時のトークン消費を節約したい場合に有効化。false
model.enableOpenAILoggingbooleanデバッグおよび分析用に OpenAI API 呼び出しのログを有効化。有効化すると、API リクエストとレスポンスが JSON ファイルに記録されます。false
model.openAILoggingDirstringOpenAI API ログ用のカスタムディレクトリパス。未指定の場合、現在の作業ディレクトリ内の logs/openai にデフォルト設定されます。絶対パス、相対パス(現在の作業ディレクトリから解決)、および ~ 展開(ホームディレクトリ)をサポート。undefined

model.generationConfig の例:

{ "model": { "generationConfig": { "timeout": 60000, "contextWindowSize": 128000, "modalities": { "image": true }, "enableCacheControl": true, "customHeaders": { "X-Client-Request-ID": "req-123" }, "extra_body": { "enable_thinking": true }, "samplingParams": { "temperature": 0.2, "top_p": 0.8, "max_tokens": 1024 } } } }

max_tokens(適応型出力トークン):

samplingParams.max_tokens が未設定の場合、Qwen Code は GPU リソース使用量を最適化するために適応型出力トークン戦略を使用します:

  1. リクエストはデフォルトで 8K 出力トークンの制限から開始
  2. 応答が切り捨てられた場合(モデルが制限に達した場合)、Qwen Code は自動的に 64K トークンで再試行
  3. 部分的な出力は破棄され、再試行からの完全な応答に置き換えられます

これはユーザーに対して透過的です — エスカレーションが発生した場合、一時的に再試行インジケーターが表示される場合があります。応答の 99% は 5K トークン未満であるため、再試行はまれにしか発生しません(リクエストの 1% 未満)。

この動作を上書きするには、設定で samplingParams.max_tokens を設定するか、QWEN_CODE_MAX_OUTPUT_TOKENS 環境変数を使用してください。

contextWindowSize:

選択したモデルのデフォルトコンテキストウィンドウサイズを上書きします。Qwen Code はモデル名マッチングに基づき、組み込みのデフォルトと定数フォールバック値を使用してコンテキストウィンドウを決定します。プロバイダーの実効コンテキスト制限が Qwen Code のデフォルトと異なる場合にこの設定を使用してください。この値はモデルの想定される最大コンテキスト容量を定義するものであり、リクエストごとのトークン制限ではありません。

modalities:

選択したモデルの自動検出された入力モダリティを上書きします。Qwen Code はモデル名パターンマッチングに基づき、サポートされているモダリティ(画像、PDF、音声、動画)を自動検出します。自動検出が不正確な場合(例:サポートしているが認識されていないモデルで pdf を有効化する場合)にこの設定を使用してください。形式:{ "image": true, "pdf": true, "audio": true, "video": true }。サポートされていないタイプはキーを省略するか false に設定。

customHeaders:

すべての API リクエストにカスタム HTTP ヘッダーを追加できます。リクエストのトレーシング、モニタリング、API ゲートウェイルーティング、またはモデルごとに異なるヘッダーが必要な場合に有用です。modelProviders[].generationConfig.customHeaderscustomHeaders が定義されている場合は直接使用され、それ以外の場合は model.generationConfig.customHeaders のヘッダーが使用されます。2 つのレベル間でマージは行われません。

extra_body フィールドを使用すると、API に送信されるリクエストボディにカスタムパラメータを追加できます。標準設定フィールドでカバーされていないプロバイダー固有のオプションに有用です。注意: このフィールドは OpenAI 互換プロバイダー(openaiqwen-oauth)でのみサポートされます。Anthropic および Gemini プロバイダーでは無視されます。 modelProviders[].generationConfig.extra_bodyextra_body が定義されている場合は直接使用され、それ以外の場合は model.generationConfig.extra_body の値が使用されます。

model.openAILoggingDir の例:

  • "~/qwen-logs" - ~/qwen-logs ディレクトリにログ出力
  • "./custom-logs" - 現在のディレクトリからの相対パス ./custom-logs にログ出力
  • "/tmp/openai-logs" - 絶対パス /tmp/openai-logs にログ出力

fastModel

設定説明デフォルト
fastModelstringプロンプト提案 および投機的実行の生成に使用されるモデル。メインモデルを使用する場合は空のままにしてください。小型/高速モデル(例:qwen3-coder-flash)はレイテンシとコストを削減します。/model --fast でも設定可能。""

context

設定説明デフォルト
context.fileNamestring or array of stringsコンテキストファイルの名前。undefined
context.importFormatstringメモリインポート時に使用する形式。undefined
context.includeDirectoriesarrayワークスペースコンテキストに含める追加ディレクトリ。ワークスペースコンテキストに含める追加の絶対パスまたは相対パスの配列を指定します。デフォルトでは、存在しないディレクトリは警告付きでスキップされます。パスには ~ を使用してユーザーのホームディレクトリを参照できます。この設定は --include-directories コマンドラインフラグと組み合わせ可能です。[]
context.loadFromIncludeDirectoriesboolean/memory refresh コマンドの動作を制御します。true に設定すると、追加されたすべてのディレクトリから QWEN.md ファイルが読み込まれます。false に設定すると、QWEN.md は現在のディレクトリからのみ読み込まれます。false
context.fileFiltering.respectGitIgnoreboolean検索時に .gitignore ファイルを尊重。true
context.fileFiltering.respectQwenIgnoreboolean検索時に .qwenignore ファイルを尊重。true
context.fileFiltering.enableRecursiveFileSearchbooleanプロンプトで @ プレフィックスを補完する際、現在のツリー下でファイル名を再帰的に検索するかどうか。true
context.fileFiltering.enableFuzzySearchbooleantrue の場合、ファイル検索時にファジー検索機能を有効化。ファイル数が非常に多いプロジェクトでパフォーマンスを向上させるには false に設定。true
context.clearContextOnIdle.toolResultsThresholdMinutesnumber古いツール結果コンテンツをクリアするまでの非アクティブ時間(分)。無効化するには -1 を使用。60
context.clearContextOnIdle.toolResultsNumToKeepnumberクリア時に保持する最新コンパクト化可能ツール結果の数。最小値は 1。5

ファイル検索パフォーマンスのトラブルシューティング

ファイル検索(例:@ 補完)でパフォーマンスの問題が発生している場合、特にファイル数が非常に多いプロジェクトでは、推奨順に以下の方法を試してください:

  1. .qwenignore の使用: プロジェクトルートに .qwenignore ファイルを作成し、参照不要な大量のファイルを含むディレクトリ(例:ビルド成果物、ログ、node_modules)を除外します。クロールされるファイルの総数を減らすことが、パフォーマンス向上に最も効果的です。
  2. ファジー検索の無効化: ファイルの除外だけでは不十分な場合、settings.jsonenableFuzzySearchfalse に設定してファジー検索を無効化できます。これにより、より単純な非ファジーマッチングアルゴリズムが使用され、高速化される場合があります。
  3. 再帰ファイル検索の無効化: 最終手段として、enableRecursiveFileSearchfalse に設定して再帰ファイル検索を完全に無効化できます。プロジェクトの再帰クロールを回避するため、これが最速のオプションになります。ただし、@ 補完使用時にファイルへのフルパスを入力する必要があります。

tools

設定説明デフォルト備考
tools.sandboxboolean or stringサンドボックス実行環境(真偽値またはパス文字列)。undefined
tools.sandboxImagestring--sandbox-image および QWEN_SANDBOX_IMAGE が未設定の場合、Docker/Podman で使用されるサンドボックスイメージ URI。undefined
tools.shell.enableInteractiveShellbooleanインタラクティブシェル体験に node-pty を使用。child_process へのフォールバックは引き続き適用されます。false
tools.corearray of strings非推奨。 次バージョンで削除予定。代わりに permissions.allow + permissions.deny を使用してください。組み込みツールを許可リストに制限します。リストにないすべてのツールは無効化されます。undefined
tools.excludearray of strings非推奨。 代わりに permissions.deny を使用してください。発見から除外するツール名。初回読み込み時に自動的に permissions 形式に移行されます。undefined
tools.allowedarray of strings非推奨。 代わりに permissions.allow を使用してください。確認ダイアログをバイパスするツール名。初回読み込み時に自動的に permissions 形式に移行されます。undefined
tools.approvalModestringツール使用のデフォルト承認モードを設定。default可能な値: plan(分析のみ、ファイル変更やコマンド実行は不可)、default(ファイル編集またはシェルコマンド実行前に承認を要求)、auto-edit(ファイル編集を自動承認)、yolo(すべてのツール呼び出しを自動承認)
tools.discoveryCommandstringツール発見のために実行するコマンド。undefined
tools.callCommandstringtools.discoveryCommand で発見された特定のツールを呼び出すためのカスタムシェルコマンドを定義。シェルコマンドは以下の条件を満たす必要があります:最初の引数として関数 name関数宣言  と完全に一致)を受け取る。stdin 上で JSON として関数引数を読み取る(functionCall.args に類似)。stdout 上で JSON として関数出力を返す(functionResponse.response.content に類似)。undefined
tools.useRipgrepbooleanフォールバック実装の代わりにファイルコンテンツ検索に ripgrep を使用。検索パフォーマンスが向上します。true
tools.useBuiltinRipgrepboolean同梱の ripgrep バイナリを使用。false に設定すると、システムレベルの rg コマンドが代わりに使用されます。この設定は tools.useRipgreptrue の場合のみ有効です。true
tools.truncateToolOutputThresholdnumberこの文字数を超える場合、ツール出力を切り捨て。Shell、Grep、Glob、ReadFile、ReadManyFiles ツールに適用。25000再起動が必要: はい
tools.truncateToolOutputLinesnumberツール出力切り捨て時に保持する最大行数またはエントリ数。Shell、Grep、Glob、ReadFile、ReadManyFiles ツールに適用。1000再起動が必要: はい
Note

tools.core / tools.exclude / tools.allowed からの移行: これらのレガシー設定は非推奨であり、初回読み込み時に自動的に新しい permissions 形式に移行されます。permissions.allow / permissions.deny を直接設定することを推奨します。/permissions を使用してルールを対話的に管理できます。

memory

設定説明デフォルト
memory.enableManagedAutoMemoryboolean会話からのメモリのバックグラウンド抽出を有効化。true
memory.enableManagedAutoDreamboolean収集されたメモリの自動統合(重複排除とクリーンアップ)を有効化。false

自動メモリの動作方法および /memory/remember/dream コマンドの使用方法については メモリ を参照してください。

permissions

権限システムは、どのツールを実行可能か、どのツールに確認が必要か、どのツールがブロックされるかを細かく制御します。

決定優先順位(高い順): deny > ask > allow > (デフォルト/インタラクティブモード)

最初に一致するルールが適用されます。ルールは "ToolName" または "ToolName(specifier)" 形式を使用します。

設定説明デフォルト
permissions.allowarray of strings自動承認されるツール呼び出しのルール(確認不要)。すべてのスコープ(ユーザー + プロジェクト + システム)でマージされます。undefined
permissions.askarray of strings常にユーザー確認が必要なツール呼び出しのルール。allow より優先されます。undefined
permissions.denyarray of stringsブロックされるツール呼び出しのルール。最高優先度 — allowask の両方を上書きします。undefined

ツール名エイリアス(ルール内でいずれも使用可能):

エイリアス正規ツール備考
Bash, Shellrun_shell_command
Read, ReadFileread_fileメタカテゴリ — 下記参照
Edit, EditFileeditメタカテゴリ — 下記参照
Write, WriteFilewrite_file
Grep, SearchFilesgrep_search
Glob, FindFilesglob
ListFileslist_directory
WebFetchweb_fetch
Agenttask
Skillskill

メタカテゴリ:

一部のルール名は複数のツールを自動的にカバーします:

ルール名カバーされるツール
Readread_file, grep_search, glob, list_directory
Editedit, write_file

[!important] Read(/path/**)4 つすべて の読み取りツール(ファイル読み取り、grep、glob、ディレクトリ一覧)に一致します。 ファイル読み取りのみを制限するには、ReadFile(/path/**) または read_file(/path/**) を使用してください。

ルール構文の例:

ルール意味
"Bash"すべてのシェルコマンド
"Bash(git *)"git で始まるシェルコマンド(単語境界:gitk は含まない)
"Bash(git push *)"git push origin main のようなシェルコマンド
"Bash(npm run *)"任意の npm run スクリプト
"Read"すべてのファイル読み取り操作(read、grep、glob、list)
"Read(./secrets/**)"./secrets/ 配下の任意のファイルを再帰的に読み取り
"Edit(/src/**/*.ts)"プロジェクトルート /src/ 配下の TypeScript ファイルを編集
"WebFetch(api.example.com)"api.example.com およびそのすべてのサブドメインからフェッチ
"mcp__puppeteer"puppeteer MCP サーバーからのすべてのツール

パスパターンプレフィックス:

プレフィックス意味
//ファイルシステムルートからの絶対パス//etc/passwd
~/ホームディレクトリからの相対パス~/Documents/*.pdf
/プロジェクトルートからの相対パス/src/**/*.ts
./現在の作業ディレクトリからの相対パス./secrets/**
(なし)./ と同じsecrets/**

シェルコマンドバイパス防止:

ReadEditWebFetch の権限ルールは、エージェントが同等のシェルコマンドを実行する場合にも適用されます。例えば、denyRead(./.env) が含まれている場合、エージェントはシェルコマンドで cat .env を実行してバイパスできません。サポートされるシェルコマンドには catgrepcurlwgetcpmvrmchmod など多数が含まれます。不明/安全なコマンド(例:git)はファイル/ネットワークルールの影響を受けません。

レガシー設定からの移行:

レガシー設定同等の permissions ルール備考
tools.allowedpermissions.allow初回読み込み時に自動移行
tools.excludepermissions.deny初回読み込み時に自動移行
tools.corepermissions.allow(許可リスト)自動移行。リストにないツールはレジストリレベルで無効化

設定例:

{ "permissions": { "allow": ["Bash(git *)", "Bash(npm run *)", "Read(//Users/alice/code/**)"], "ask": ["Bash(git push *)", "Edit"], "deny": ["Bash(rm -rf *)", "Read(.env)", "WebFetch(malicious.com)"] } }

[!tip] settings.json を直接編集せずに、インタラクティブ CLI で /permissions を使用してルールを表示、追加、削除できます。

slashCommands

CLI で利用可能なスラッシュコマンドを制御します。マルチテナントまたはエンタープライズ環境でコマンド表面をロックダウンする場合に有用です。

設定説明デフォルト
slashCommands.disabledarray of strings非表示にし、実行を拒否するスラッシュコマンド名。最終的なコマンド名に対して大文字小文字を区別せずにマッチング(拡張コマンドの場合は明確化された形式、例:myext.deploy)。スコープ間でユニオンとしてマージされるため、ワークスペース設定はユーザーまたはシステム設定で定義されたエントリを追加できますが、削除はできません。undefined

同じ拒否リストは、--disabled-slash-commands CLI フラグ(カンマ区切りまたは繰り返し)および QWEN_DISABLED_SLASH_COMMANDS 環境変数でも提供可能。3 つのソースからの値はすべてユニオンされます。

例 — サンドボックス環境の組み込みコマンドをロックダウン:

{ "slashCommands": { "disabled": ["auth", "mcp", "extensions", "ide", "quit"] } }

システムレベルの settings.json/etc/qwen-code/settings.json または QWEN_CODE_SYSTEM_SETTINGS_PATH)にこれらの値を設定すると、ユーザーは自身のスコープから拒否リストを縮小できず、無効化されたコマンドはオートコンプリートに表示されず、入力しても実行されません。

[!note] この設定はスラッシュコマンド(例:/auth/mcp)のみを制御します。ツール権限には影響しません — その場合は permissions.deny を参照してください。また、Ctrl+CEsc などのキーボードショートカットもインターセプトしません。

mcp

設定説明デフォルト
mcp.serverCommandstringMCP サーバーを起動するコマンド。undefined
mcp.allowedarray of strings許可する MCP サーバーの許可リスト。モデルに利用可能にする MCP サーバー名のリストを指定できます。接続する MCP サーバーのセットを制限するために使用できます。--allowed-mcp-server-names が設定されている場合、これは無視されることに注意してください。undefined
mcp.excludedarray of strings除外する MCP サーバーの拒否リスト。mcp.excludedmcp.allowed の両方にリストされているサーバーは除外されます。--allowed-mcp-server-names が設定されている場合、これは無視されることに注意してください。undefined
Note

MCP サーバーのセキュリティに関する注意: これらの設定は変更可能な MCP サーバー名に対する単純な文字列マッチングを使用します。ユーザーのバイパスを防ぎたいシステム管理者の場合、ユーザーが独自の MCP サーバーを設定できないように、システム設定レベルで mcpServers を構成することを検討してください。これは完全なセキュリティメカニズムとして使用すべきではありません。

lsp

[!warning] 実験的機能: LSP サポートは現在実験的であり、デフォルトで無効です。--experimental-lsp コマンドラインフラグを使用して有効化してください。

Language Server Protocol (LSP) は、定義へ移動、参照の検索、診断などのコードインテリジェンス機能を提供します。

LSP サーバーの設定は settings.json ではなく、プロジェクトルートディレクトリの .lsp.json ファイルを通じて行われます。設定の詳細と例については LSP ドキュメント を参照してください。

security

設定説明デフォルト
security.folderTrust.enabledbooleanフォルダ信頼が有効かどうかを追跡する設定。false
security.auth.selectedTypestring現在選択されている認証タイプ。undefined
security.auth.enforcedTypestring必須の認証タイプ(エンタープライズ向けに有用)。undefined
security.auth.useExternalboolean外部認証フローを使用するかどうか。undefined

advanced

設定説明デフォルト
advanced.autoConfigureMemorybooleanNode.js メモリ制限を自動構成。false
advanced.dnsResolutionOrderstringDNS 解決順序。undefined
advanced.excludedEnvVarsarray of stringsプロジェクトコンテキストから除外する環境変数。プロジェクト .env ファイルから読み込まれるべきでない環境変数を指定します。これにより、プロジェクト固有の環境変数(DEBUG=true など)が CLI の動作に干渉するのを防ぎます。.qwen/.env ファイルからの変数は決して除外されません。["DEBUG","DEBUG_MODE"]
advanced.bugCommandobjectバグレポートコマンドの設定。/bug コマンドのデフォルト URL を上書きします。プロパティ: urlTemplate(文字列): {title}{info} プレースホルダーを含む URL。例: "bugCommand": { "urlTemplate": "https://bug.example.com/new?title={title}&info={info}" }undefined

mcpServers

カスタムツールの発見と使用のために、1 つ以上の Model-Context Protocol (MCP) サーバーへの接続を構成します。Qwen Code は、利用可能なツールを発見するために、構成された各 MCP サーバーへの接続を試みます。複数の MCP サーバーが同じ名前のツールを公開する場合、ツール名には構成で定義したサーバーエイリアスがプレフィックスとして付与されます(例:serverAlias__actualToolName)。これにより競合を回避します。互換性のため、システムが MCP ツール定義から特定のプロパティを削除する場合があることに注意してください。commandurlhttpUrl の少なくとも 1 つを提供する必要があります。複数が指定されている場合、優先順位は httpUrl、次に url、次に command の順です。

プロパティ説明オプション
mcpServers.<SERVER_NAME>.commandstring標準入出力経由で MCP サーバーを起動するために実行するコマンド。はい
mcpServers.<SERVER_NAME>.argsarray of stringsコマンドに渡す引数。はい
mcpServers.<SERVER_NAME>.envobjectサーバープロセスに設定する環境変数。はい
mcpServers.<SERVER_NAME>.cwdstringサーバーを起動する作業ディレクトリ。はい
mcpServers.<SERVER_NAME>.urlstring通信に Server-Sent Events (SSE) を使用する MCP サーバーの URL。はい
mcpServers.<SERVER_NAME>.httpUrlstring通信にストリーミング HTTP を使用する MCP サーバーの URL。はい
mcpServers.<SERVER_NAME>.headersobjecturl または httpUrl へのリクエストに送信する HTTP ヘッダーのマップ。はい
mcpServers.<SERVER_NAME>.timeoutnumberこの MCP サーバーへのリクエストのタイムアウト(ミリ秒)。はい
mcpServers.<SERVER_NAME>.trustbooleanこのサーバーを信頼し、すべてのツール呼び出し確認をバイパス。はい
mcpServers.<SERVER_NAME>.descriptionstringサーバーの簡単な説明。表示目的で使用される場合があります。はい
mcpServers.<SERVER_NAME>.includeToolsarray of stringsこの MCP サーバーから含めるツール名のリスト。指定すると、このサーバーからリストされたツールのみが利用可能になります(許可リスト動作)。未指定の場合、サーバーからのすべてのツールがデフォルトで有効化されます。はい
mcpServers.<SERVER_NAME>.excludeToolsarray of stringsこの MCP サーバーから除外するツール名のリスト。ここにリストされたツールは、サーバーによって公開されていてもモデルには利用できません。注意: excludeToolsincludeTools より優先されます — ツールが両方のリストにある場合、除外されます。はい

telemetry

Qwen Code のログとメトリクス収集を構成します。詳細については テレメトリ を参照してください。

設定説明デフォルト
telemetry.enabledbooleanテレメトリが有効かどうか。
telemetry.targetstring収集されたテレメトリの送信先。サポートされる値は localgcp
telemetry.otlpEndpointstringOTLP エクスポーターのエンドポイント。
telemetry.otlpProtocolstringOTLP エクスポーターのプロトコル(grpc または http)。
telemetry.logPromptsbooleanログにユーザープロンプトの内容を含めるかどうか。
telemetry.outfilestringtargetlocal の場合、テレメトリを書き込むファイル。
telemetry.useCollectorboolean外部 OTLP コレクターを使用するかどうか。

settings.json の例

以下は、v0.3.0 以降の新しいネスト構造を持つ settings.json ファイルの例です:

{ "proxy": "http://localhost:7890", "general": { "vimMode": true, "preferredEditor": "code" }, "ui": { "theme": "GitHub", "hideTips": false, "customWittyPhrases": [ "You forget a thousand things every day. Make sure this is one of 'em", "Connecting to AGI" ] }, "tools": { "approvalMode": "yolo", "sandbox": "docker", "sandboxImage": "ghcr.io/qwenlm/qwen-code:0.14.1", "discoveryCommand": "bin/get_tools", "callCommand": "bin/call_tool", "exclude": ["write_file"] }, "mcpServers": { "mainServer": { "command": "bin/mcp_server.py" }, "anotherServer": { "command": "node", "args": ["mcp_server.js", "--verbose"] } }, "telemetry": { "enabled": true, "target": "local", "otlpEndpoint": "http://localhost:4317", "logPrompts": true }, "privacy": { "usageStatisticsEnabled": true }, "model": { "name": "qwen3-coder-plus", "maxSessionTurns": 10, "enableOpenAILogging": false, "openAILoggingDir": "~/qwen-logs", }, "context": { "fileName": ["CONTEXT.md", "QWEN.md"], "includeDirectories": ["path/to/dir1", "~/path/to/dir2", "../path/to/dir3"], "loadFromIncludeDirectories": true, "fileFiltering": { "respectGitIgnore": false } }, "advanced": { "excludedEnvVars": ["DEBUG", "DEBUG_MODE", "NODE_ENV"] } }

シェル履歴

CLI は実行したシェルコマンドの履歴を保持します。異なるプロジェクト間の競合を避けるため、この履歴はユーザーのホームフォルダー内のプロジェクト固有ディレクトリに保存されます。

  • 場所: ~/.qwen/tmp/<project_hash>/shell_history
    • <project_hash> はプロジェクトのルートパスから生成される一意の識別子です。
    • 履歴は shell_history という名前のファイルに保存されます。

環境変数と .env ファイル

環境変数は、特に機密情報(トークンなど)や環境間で変更される可能性がある設定の構成に一般的に使用されます。

Qwen Code は .env ファイルから環境変数を自動的に読み込むことができます。 認証関連の変数(OPENAI_* など)および推奨される .qwen/.env アプローチについては、認証 を参照してください。

Tip

環境変数の除外: 一部の環境変数(DEBUGDEBUG_MODE など)は、CLI の動作への干渉を防ぐため、デフォルトでプロジェクト .env ファイルから自動的に除外されます。.qwen/.env ファイルからの変数は決して除外されません。settings.jsonadvanced.excludedEnvVars 設定を使用してこの動作をカスタマイズできます。

環境変数テーブル

変数説明備考
QWEN_TELEMETRY_ENABLEDテレメトリを有効にするには true または 1 に設定。その他の値は無効化として扱われます。telemetry.enabled 設定を上書きします。
QWEN_TELEMETRY_TARGETテレメトリターゲットを設定(local または gcp)。telemetry.target 設定を上書きします。
QWEN_TELEMETRY_OTLP_ENDPOINTテレメトリの OTLP エンドポイントを設定。telemetry.otlpEndpoint 設定を上書きします。
QWEN_TELEMETRY_OTLP_PROTOCOLOTLP プロトコルを設定(grpc または http)。telemetry.otlpProtocol 設定を上書きします。
QWEN_TELEMETRY_LOG_PROMPTSユーザープロンプトのログ記録を有効化または無効化するには true または 1 に設定。その他の値は無効化として扱われます。telemetry.logPrompts 設定を上書きします。
QWEN_TELEMETRY_OUTFILEターゲットが local の場合、テレメトリを書き込むファイルパスを設定。telemetry.outfile 設定を上書きします。
QWEN_TELEMETRY_USE_COLLECTOR外部 OTLP コレクターの使用を有効化または無効化するには true または 1 に設定。その他の値は無効化として扱われます。telemetry.useCollector 設定を上書きします。
QWEN_SANDBOXsettings.jsonsandbox 設定の代替。truefalsedockerpodman、またはカスタムコマンド文字列を受け入れます。
QWEN_SANDBOX_IMAGEDocker/Podman のサンドボックスイメージ選択を上書き。tools.sandboxImage より優先されます。
SEATBELT_PROFILE(macOS 固有)macOS 上の Seatbelt(sandbox-exec)プロファイルを切り替え。permissive-open: (デフォルト)プロジェクトフォルダー(およびその他のいくつかのフォルダー、packages/cli/src/utils/sandbox-macos-permissive-open.sb を参照)への書き込みを制限しますが、他の操作は許可。 strict: デフォルトで操作を拒否する厳格なプロファイルを使用。 <profile_name>: カスタムプロファイルを使用。カスタムプロファイルを定義するには、プロジェクトの .qwen/ ディレクトリに sandbox-macos-<profile_name>.sb という名前のファイルを作成します(例:my-project/.qwen/sandbox-macos-custom.sb)。
DEBUG または DEBUG_MODE(基盤ライブラリまたは CLI 自体でよく使用)詳細なデバッグログを有効化するには true または 1 に設定。トラブルシューティングに有用。注意: これらの変数は、CLI の動作への干渉を防ぐため、デフォルトでプロジェクト .env ファイルから自動的に除外されます。Qwen Code 専用に設定する必要がある場合は .qwen/.env ファイルを使用してください。
NO_COLORCLI のすべてのカラー出力を無効化するには任意の値に設定。
CLI_TITLECLI のタイトルをカスタマイズするには文字列に設定。
CODE_ASSIST_ENDPOINTコードアシストサーバーのエンドポイントを指定。開発およびテストに有用。
QWEN_CODE_MAX_OUTPUT_TOKENSレスポンスごとのデフォルト最大出力トークンを上書き。未設定の場合、Qwen Code は適応戦略を使用:8K トークンから開始し、レスポンスが切り捨てられた場合は自動的に 64K で再試行。固定制限を使用するには特定の値(例:16000)に設定。キャップされたデフォルト(8K)より優先されますが、設定内の samplingParams.max_tokens によって上書きされます。設定すると自動エスカレーションが無効化されます。例:export QWEN_CODE_MAX_OUTPUT_TOKENS=16000
QWEN_CODE_UNATTENDED_RETRY永続リトライモードを有効化するには true または 1 に設定。有効化すると、一時的な API キャパシティエラー(HTTP 429 Rate Limit および 529 Overloaded)は指数バックオフ(リトライごとに最大 5 分)と stderr 上の 30 秒ごとのハートビートキープアライブで無期限に再試行されます。長時間実行タスクが一時的な API 停止を乗り越える必要がある CI/CD パイプラインおよびバックグラウンド自動化向けに設計。明示的に設定する必要があります — CI=true だけではこのモードは有効化されません。詳細は ヘッドレスモード を参照。例:export QWEN_CODE_UNATTENDED_RETRY=1
QWEN_CODE_PROFILE_STARTUP起動パフォーマンスプロファイリングを有効化するには 1 に設定。フェーズごとの所要時間を含む JSON タイミングレポートを ~/.qwen/startup-perf/ に書き込み。サンドボックス子プロセス内でのみアクティブ。未設定の場合はオーバーヘッドゼロ。例:export QWEN_CODE_PROFILE_STARTUP=1

コマンドライン引数

CLI 実行時に直接渡される引数は、その特定のセッションに対して他の設定を上書きできます。

サンドボックスイメージ選択の優先順位は: --sandbox-image > QWEN_SANDBOX_IMAGE > tools.sandboxImage > 組み込みデフォルトイメージ。

コマンドライン引数テーブル

引数エイリアス説明可能な値備考
--model-mこのセッションに使用する Qwen モデルを指定。モデル名例:npm start -- --model qwen3-coder-plus
--prompt-pプロンプトをコマンドに直接渡すために使用。Qwen Code を非インタラクティブモードで起動。プロンプトテキストスクリプトの例については、構造化出力を取得するために --output-format json フラグを使用。
--prompt-interactive-i提供されたプロンプトを初期入力としてインタラクティブセッションを開始。プロンプトテキストプロンプトはセッション前ではなく、インタラクティブセッション内で処理されます。stdin からパイプ入力する場合は使用できません。例:qwen -i "explain this code"
--system-promptこの実行の組み込みメインセッションシステムプロンプトを上書き。プロンプトテキストQWEN.md などの読み込まれたコンテキストファイルは、この上書きの後に引き続き追加されます。--append-system-prompt と組み合わせ可能。
--append-system-promptこの実行のメインセッションシステムプロンプトに追加の指示を付加。プロンプトテキスト組み込みプロンプトおよび読み込まれたコンテキストファイルの後に適用されます。--system-prompt と組み合わせ可能。例は ヘッドレスモード を参照。
--output-format-o非インタラクティブモードの CLI 出力形式を指定。text, json, stream-jsontext: (デフォルト)標準の人間可読出力。 json: 実行終了時に出力されるマシン可読 JSON 出力。 stream-json: 実行中に発生するたびに出力されるストリーミング JSON メッセージ。構造化出力およびスクリプトには、--output-format json または --output-format stream-json フラグを使用。詳細は ヘッドレスモード を参照。
--input-format標準入力から消費される形式を指定。text, stream-jsontext: (デフォルト)stdin またはコマンドライン引数からの標準テキスト入力。 stream-json: 双方向通信のための stdin 経由の JSON メッセージプロトコル。 要件: --input-format stream-json には --output-format stream-json の設定が必要。 stream-json 使用時、stdin はプロトコルメッセージ用に予約されます。詳細は ヘッドレスモード を参照。
--include-partial-messagesstream-json 出力形式使用時に部分的なアシスタントメッセージを含める。有効化すると、ストリーミング中に発生するストリームイベント(message_start、content_block_delta など)を出力。デフォルト: false。 要件: --output-format stream-json の設定が必要。ストリームイベントの詳細は ヘッドレスモード を参照。
--sandbox-sこのセッションのサンドボックスモードを有効化。
--sandbox-imageサンドボックスイメージ URI を設定。
--debug-dこのセッションのデバッグモードを有効化し、より詳細な出力を提供。
--all-files-a設定されている場合、現在のディレクトリ内のすべてのファイルを再帰的にプロンプトのコンテキストとして含める。
--help-hコマンドライン引数に関するヘルプ情報を表示。
--show-memory-usage現在のメモリ使用量を表示。
--yoloYOLO モードを有効化。すべてのツール呼び出しを自動承認。
--approval-modeツール呼び出しの承認モードを設定。plan, default, auto-edit, yoloサポートされるモード: plan: 分析のみ — ファイル変更やコマンド実行は不可。 default: ファイル編集またはシェルコマンドに承認を要求(デフォルト動作)。 auto-edit: 編集ツール(edit、write_file)を自動承認し、他はプロンプト表示。 yolo: すべてのツール呼び出しを自動承認(--yolo と同等)。 --yolo と同時に使用不可。新しい統合アプローチには --approval-mode=yolo を使用。例:qwen --approval-mode auto-edit
承認モード を参照。
--allowed-tools確認ダイアログをバイパスするツール名のカンマ区切りリスト。ツール名例:qwen --allowed-tools "Shell(git status)"
--disabled-slash-commands非表示/無効化するスラッシュコマンド名(カンマ区切りまたは繰り返し)。slashCommands.disabled 設定および QWEN_DISABLED_SLASH_COMMANDS 環境変数とユニオン。最終的なコマンド名に対して大文字小文字を区別せずにマッチング。コマンド名例:qwen --disabled-slash-commands "auth,mcp,extensions"
--telemetryテレメトリ を有効化。
--telemetry-targetテレメトリターゲットを設定。詳細は テレメトリ を参照。
--telemetry-otlp-endpointテレメトリの OTLP エンドポイントを設定。詳細は テレメトリ を参照。
--telemetry-otlp-protocolテレメトリの OTLP プロトコルを設定(grpc または http)。デフォルトは grpc。詳細は テレメトリ を参照。
--telemetry-log-promptsテレメトリ用にプロンプトのログ記録を有効化。詳細は テレメトリ を参照。
--checkpointingチェックポイント を有効化。
--acpACP モード(Agent Client Protocol)を有効化。Zed などの IDE/エディタ統合に有用。安定版。非推奨の --experimental-acp フラグを置き換え。
--experimental-lspコードインテリジェンス(定義へ移動、参照の検索、診断など)の実験的 LSP(Language Server Protocol) 機能を有効化。実験的。言語サーバーのインストールが必要。
--extensions-eセッションに使用する拡張機能のリストを指定。拡張機能名未提供の場合、利用可能なすべての拡張機能が使用されます。すべての拡張機能を無効にするには特殊な用語 qwen -e none を使用。例:qwen -e my-extension -e my-other-extension
--list-extensions-l利用可能なすべての拡張機能を一覧表示して終了。
--proxyCLI のプロキシを設定。プロキシ URL例:--proxy http://localhost:7890
--include-directoriesマルチディレクトリサポートのためにワークスペースに追加のディレクトリを含める。ディレクトリパス複数回指定可能、またはカンマ区切りで指定可能。最大 5 ディレクトリ追加可能。例:--include-directories /path/to/project1,/path/to/project2 または --include-directories /path/to/project1 --include-directories /path/to/project2
--screen-readerスクリーンリーダーモードを有効化。TUI をスクリーンリーダーとの互換性向上のために調整。
--versionCLI のバージョンを表示。
--openai-loggingデバッグおよび分析用に OpenAI API 呼び出しのログ記録を有効化。このフラグは settings.jsonenableOpenAILogging 設定を上書きします。
--openai-logging-dirOpenAI API ログ用のカスタムディレクトリパスを設定。ディレクトリパスこのフラグは settings.jsonopenAILoggingDir 設定を上書きします。絶対パス、相対パス、および ~ 展開をサポート。例:qwen --openai-logging-dir "~/qwen-logs" --openai-logging

コンテキストファイル(階層的指示コンテキスト)

CLI の 動作 に対する厳密な設定ではありませんが、コンテキストファイル(デフォルトは QWEN.mdcontext.fileName 設定で変更可能)は 指示コンテキスト(「メモリ」とも呼ばれる)の構成において重要です。この強力な機能を使用すると、プロジェクト固有の指示、コーディングスタイルガイド、または関連する背景情報を AI に提供でき、応答をニーズに合わせてより適切かつ正確にできます。CLI には、アクティブなコンテキストを通知するために、読み込まれたコンテキストファイルの数を表示するフッターのインジケーターなどの UI 要素が含まれています。

  • 目的: これらの Markdown ファイルには、Qwen モデルが対話中に認識してほしい指示、ガイドライン、またはコンテキストが含まれます。システムはこの指示コンテキストを階層的に管理するように設計されています。

コンテキストファイルのコンテンツ例(例:QWEN.md

以下は、TypeScript プロジェクトのルートにあるコンテキストファイルの概念的な例です:

# Project: My Awesome TypeScript Library ## General Instructions: - When generating new TypeScript code, please follow the existing coding style. - Ensure all new functions and classes have JSDoc comments. - Prefer functional programming paradigms where appropriate. - All code should be compatible with TypeScript 5.0 and Node.js 20+. ## Coding Style: - Use 2 spaces for indentation. - Interface names should be prefixed with `I` (e.g., `IUserService`). - Private class members should be prefixed with an underscore (`_`). - Always use strict equality (`===` and `!==`). ## Specific Component: `src/api/client.ts` - This file handles all outbound API requests. - When adding new API call functions, ensure they include robust error handling and logging. - Use the existing `fetchWithRetry` utility for all GET requests. ## Regarding Dependencies: - Avoid introducing new external dependencies unless absolutely necessary. - If a new dependency is required, please state the reason.

この例は、一般的なプロジェクトコンテキスト、特定のコーディング規約、さらには特定のファイルやコンポーネントに関するメモをどのように提供できるかを示しています。コンテキストファイルが関連性が高く正確であるほど、AI はより適切に支援できます。規約とコンテキストを確立するために、プロジェクト固有のコンテキストファイルを強く推奨します。

  • 階層的読み込みと優先順位: CLI は複数の場所からコンテキストファイル(例:QWEN.md)を読み込むことで階層的メモリシステムを実装します。このリストの下位(より具体的)にあるファイルのコンテンツは、通常、上位(より一般的)にあるファイルのコンテンツを上書きまたは補足します。正確な連結順序と最終的なコンテキストは /memory show コマンドで確認できます。一般的な読み込み順序は以下の通りです:
    1. グローバルコンテキストファイル:
      • 場所: ~/.qwen/<configured-context-filename>(例:ユーザーホームディレクトリの ~/.qwen/QWEN.md)。
      • 適用範囲: すべてのプロジェクトのデフォルト指示を提供。
    2. プロジェクトルートおよび祖先コンテキストファイル:
      • 場所: CLI は現在の作業ディレクトリで設定されたコンテキストファイルを検索し、プロジェクトルート(.git フォルダで識別)またはホームディレクトリのいずれかに到達するまで各親ディレクトリを検索。
      • 適用範囲: プロジェクト全体またはその重要な部分に関連するコンテキストを提供。
  • 連結と UI 表示: 見つかったすべてのコンテキストファイルのコンテンツは(出典とパスを示す区切り文字付きで)連結され、システムプロンプトの一部として提供されます。CLI フッターには読み込まれたコンテキストファイルの数が表示され、アクティブな指示コンテキストに関する視覚的な手がかりを提供します。
  • コンテンツのインポート: @path/to/file.md 構文を使用して他の Markdown ファイルをインポートすることで、コンテキストファイルをモジュール化できます。詳細は メモリインポートプロセッサードキュメント を参照してください。
  • メモリ管理コマンド:
    • /memory refresh を使用して、すべての構成された場所からすべてのコンテキストファイルの再スキャンと再読み込みを強制。これにより AI の指示コンテキストが更新されます。
    • /memory show を使用して、現在読み込まれている結合された指示コンテキストを表示。AI が使用している階層とコンテンツを確認できます。
    • /memory コマンドおよびそのサブコマンド(show および refresh)の詳細については コマンドドキュメント を参照してください。

これらの設定階層とコンテキストファイルの階層的性質を理解し活用することで、AI のメモリを効果的に管理し、Qwen Code の応答を特定のニーズやプロジェクトに合わせて調整できます。

サンドボックス

Qwen Code は、システムを保護するために、サンドボックス環境内で潜在的に安全でない操作(シェルコマンドやファイル変更など)を実行できます。

サンドボックス はデフォルトで無効ですが、以下の方法で有効化できます:

  • --sandbox または -s フラグを使用。
  • QWEN_SANDBOX 環境変数を設定。
  • --yolo または --approval-mode=yolo 使用時はデフォルトでサンドボックスが有効化。

デフォルトでは、事前構築された qwen-code-sandbox Docker イメージを使用します。

プロジェクト固有のサンドボックスニーズに応じて、プロジェクトのルートディレクトリに .qwen/sandbox.Dockerfile を作成してカスタム Dockerfile を作成できます。この Dockerfile はベースサンドボックスイメージを基にできます:

FROM qwen-code-sandbox # Add your custom dependencies or configurations here # For example: # RUN apt-get update && apt-get install -y some-package # COPY ./my-config /app/my-config

.qwen/sandbox.Dockerfile が存在する場合、Qwen Code 実行時に BUILD_SANDBOX 環境変数を使用してカスタムサンドボックスイメージを自動的にビルドできます:

BUILD_SANDBOX=1 qwen -s

使用統計情報

Qwen Code の改善に役立てるため、匿名化された使用統計情報を収集しています。このデータは CLI の使用方法の理解、一般的な問題の特定、新機能の優先順位付けに役立ちます。

収集する情報:

  • ツール呼び出し: 呼び出されたツールの名前、成功/失敗、実行にかかった時間をログ記録。ツールに渡された引数やツールから返されたデータは収集しません。
  • API リクエスト: 各リクエストに使用されたモデル、リクエストの所要時間、成功/失敗をログ記録。プロンプトやレスポンスのコンテンツは収集しません。
  • セッション情報: 有効化されたツールや承認モードなど、CLI の構成に関する情報を収集。

収集しない情報:

  • 個人を特定できる情報(PII): 名前、メールアドレス、API キーなどの個人情報は収集しません。
  • プロンプトとレスポンスのコンテンツ: プロンプトのコンテンツやモデルからのレスポンスはログ記録しません。
  • ファイルコンテンツ: CLI によって読み書きされたファイルのコンテンツはログ記録しません。

オプトアウト方法:

settings.json ファイルの privacy カテゴリ配下の usageStatisticsEnabled プロパティを false に設定することで、いつでも使用統計情報の収集をオプトアウトできます:

{ "privacy": { "usageStatisticsEnabled": false } }
Note

使用統計情報が有効な場合、イベントは Alibaba Cloud RUM 収集エンドポイントに送信されます。

Last updated on