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

Qwen Code 設定

Tip

認証 / API キー: 認証(Qwen OAuth と OpenAI 互換 API)および認証関連の環境変数(例: 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 の操作に関連するその他のプロジェクト固有のファイルを含めることができます。例えば以下のようなものです。

settings.json で利用可能な設定

設定はカテゴリごとに整理されています。すべての設定は、settings.json ファイル内の対応するトップレベルカテゴリオブジェクト内に配置する必要があります。

general

設定説明デフォルト
general.preferredEditorstringファイルを開く際に使用する優先エディタ。undefined
general.vimModebooleanVim キーバインドを有効にする。false
general.disableAutoUpdateboolean自動更新を無効にする。false
general.disableUpdateNagboolean更新通知のプロンプトを無効にする。false
general.gitCoAuthorbooleanQwen Code 経由でコミットを作成する際に、Co-authored-by トレーラーを自動的に Git コミットメッセージに追加する。true
general.checkpointing.enabledboolean復旧用のセッションチェックポイントを有効にする。false

output

設定説明デフォルト使用可能な値
output.format文字列CLI 出力の形式。"text""text", "json"

ui

設定説明デフォルト
ui.theme文字列UI のカラーテーマ。利用可能なオプションについては、テーマを参照してください。undefined
ui.customThemesオブジェクトカスタムテーマ定義。{}
ui.hideWindowTitle真偽値ウィンドウタイトルバーを非表示にします。false
ui.hideTips真偽値UI 内の役立つヒントを非表示にします。false
ui.showLineNumbers真偽値CLI 出力内のコードブロックに行番号を表示します。true
ui.showCitations真偽値チャット内で生成されたテキストの引用情報を表示します。true
enableWelcomeBack真偽値会話履歴があるプロジェクトに戻ったときに、ようこそダイアログを表示します。有効にすると、Qwen Code は以前に生成されたプロジェクトサマリー (.qwen/PROJECT_SUMMARY.md) を持つプロジェクトに戻ってきたことを自動的に検出し、前の会話を続けるか新しく始めるかを選択できるダイアログを表示します。この機能は /summary コマンドと終了確認ダイアログと連携しています。true
ui.accessibility.disableLoadingPhrases真偽値アクセシビリティ用のロード中メッセージを無効にします。false
ui.accessibility.screenReader真偽値スクリーンリーダーモードを有効にし、スクリーンリーダーとの互換性を高めるために TUI を調整します。false
ui.customWittyPhrases文字列の配列ロード状態中に表示するカスタムフレーズのリスト。指定された場合、CLI はデフォルトのフレーズではなくこれらのフレーズを順番に表示します。[]

ide

設定説明デフォルト
ide.enabledbooleanIDE統合モードを有効にする。false
ide.hasSeenNudgebooleanユーザーがIDE統合の通知を既に表示したかどうか。false

privacy

設定説明デフォルト
privacy.usageStatisticsEnabledboolean使用状況統計の収集を有効にする。true

model

設定説明デフォルト
model.namestring会話に使用する Qwen モデル。undefined
model.maxSessionTurnsnumberセッション内で保持するユーザー/モデル/ツールのターン数の最大値。-1 は無制限を意味します。-1
model.summarizeToolOutputobjectツール出力の要約を有効または無効にします。tokenBudget 設定を使用して、要約のトークン予算を指定できます。注: 現在サポートされているのは run_shell_command ツールのみです。例: {"run_shell_command": {"tokenBudget": 2000}}undefined
model.generationConfigobject基盤となるコンテンツ生成器に渡される高度なオーバーライド。timeoutmaxRetriesdisableCacheControl、および customHeaders (API リクエスト用のカスタム HTTP ヘッダー) などのリクエスト制御機能と、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, "disableCacheControl": false, "customHeaders": { "X-Request-ID": "req-123", "X-User-ID": "user-456" }, "samplingParams": { "temperature": 0.2, "top_p": 0.8, "max_tokens": 1024 } } } }

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

model.openAILoggingDir の例:

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

modelProviders

modelProviders を使用して、認証タイプごとのキュレーション済みモデルリストを宣言し、/model ピッカーで切り替えられるようにします。キーは有効な認証タイプ(openaianthropicgeminivertex-ai など)である必要があります。各エントリには id が必要であり、必ず envKey を含める必要があります。また、オプションとして namedescriptionbaseUrlgenerationConfig を指定できます。認証情報は設定に永続化されることはありません。実行時に process.env[envKey] から読み込まれます。Qwen OAuth モデルはハードコードされており、上書きすることはできません。

{ "modelProviders": { "openai": [ { "id": "gpt-4o", "name": "GPT-4o", "envKey": "OPENAI_API_KEY", "baseUrl": "https://api.openai.com/v1", "generationConfig": { "timeout": 60000, "maxRetries": 3, "customHeaders": { "X-Model-Version": "v1.0", "X-Request-Priority": "high" }, "samplingParams": { "temperature": 0.2 } } } ], "anthropic": [ { "id": "claude-3-5-sonnet", "envKey": "ANTHROPIC_API_KEY", "baseUrl": "https://api.anthropic.com/v1" } ], "gemini": [ { "id": "gemini-2.0-flash", "name": "Gemini 2.0 Flash", "envKey": "GEMINI_API_KEY", "baseUrl": "https://generativelanguage.googleapis.com" } ], "vertex-ai": [ { "id": "gemini-1.5-pro-vertex", "envKey": "GOOGLE_API_KEY", "baseUrl": "https://generativelanguage.googleapis.com" } ] } }

[!note] /model コマンドのみがデフォルト以外の認証タイプを公開します。Anthropic、Gemini、Vertex AI などは modelProviders 経由で定義する必要があります。/auth コマンドは意図的に組み込みの Qwen OAuth および OpenAI フローのみを表示します。

解決レイヤーとアトミック性

有効な auth/model/credential の値は、以下の優先順位(最初に存在するものが優先)に従ってフィールドごとに選択されます。--auth-type--model を組み合わせて、プロバイダー項目を直接指定できます。これらの CLI フラグは他のレイヤーよりも先に実行されます。

レイヤー(上位 → 下位)authTypemodelapiKeybaseUrlapiKeyEnvKeyproxy
プログラムによるオーバーライド/auth/auth 入力/auth 入力/auth 入力
モデルプロバイダー選択modelProvider.idenv[modelProvider.envKey]modelProvider.baseUrlmodelProvider.envKey
CLI 引数--auth-type--model--openaiApiKey(またはプロバイダー固有の同等のもの)--openaiBaseUrl(またはプロバイダー固有の同等のもの)
環境変数プロバイダー固有のマッピング(例: OPENAI_MODELプロバイダー固有のマッピング(例: OPENAI_API_KEYプロバイダー固有のマッピング(例: OPENAI_BASE_URL
設定(settings.jsonsecurity.auth.selectedTypemodel.namesecurity.auth.apiKeysecurity.auth.baseUrl
デフォルト / 計算値AuthType.QWEN_OAUTH にフォールバックビルトインデフォルト(OpenAI ⇒ qwen3-coder-plus設定されていれば Config.getProxy()

* CLI の認証フラグが存在する場合、設定をオーバーライドします。それ以外の場合、security.auth.selectedType または暗黙的なデフォルトが認証タイプを決定します。追加の設定なしで表示される認証タイプは Qwen OAuth と OpenAI のみです。

モデルプロバイダー由来の値はアトミックに適用されます:一度プロバイダーモデルがアクティブになると、手動で /auth を介して資格情報をクリアするまで、そのプロバイダーが定義するすべてのフィールドは下位レイヤーから保護されます。最終的な generationConfig はすべてのレイヤーにわたる投影であり、下位レイヤーは上位レイヤーが残したギャップのみを埋めます。プロバイダーレイヤーは貫通できません。

modelProviders のマージ戦略は置換(REPLACE)です:プロジェクト設定の modelProviders 全体が、ユーザー設定の対応するセクションをマージではなく置き換えます。

生成設定のレイヤリング

generationConfig のフィールドごとの優先順位:

  1. プログラムによるオーバーライド(例:実行時の /model/auth 変更)
  2. modelProviders[authType][].generationConfig
  3. settings.model.generationConfig
  4. コンテンツジェネレーターのデフォルト値(OpenAI では getDefaultGenerationConfig、Gemini では getParameterValue など)

samplingParams および customHeaders は両方ともアトミックに扱われ、プロバイダーの値がオブジェクト全体を置き換えます。modelProviders[].generationConfig がこれらのフィールドを定義している場合、それらが直接使用されます。そうでない場合は、model.generationConfig の値が使用されます。プロバイダーとグローバル設定レベル間でのマージは行われません。コンテンツジェネレーターからのデフォルト値は最後に適用されるため、各プロバイダーは調整されたベースラインを維持します。

選択の永続性と推奨事項

[!important] 可能な限り、ユーザー範囲の ~/.qwen/settings.jsonmodelProviders を定義し、任意のスコープに認証情報の上書きを永続化しないようにしてください。プロバイダーカタログをユーザー設定に保持することで、プロジェクトとユーザーのスコープ間でのマージ/上書きの競合を防ぎ、/auth および /model の更新が常に一貫したスコープに書き戻されるようにします。

  • /model および /auth は、model.name(該当する場合)および security.auth.selectedType を、既に modelProviders を定義している最も近い書き込み可能なスコープに永続化します。それ以外の場合は、ユーザー範囲にフォールバックします。これにより、ワークスペース/ユーザーのファイルがアクティブなプロバイダーカタログと同期されます。
  • modelProviders がない場合、リゾルバーは CLI/env/設定レイヤーを混在させます。これはシングルプロバイダー構成では問題ありませんが、頻繁に切り替える場合には煩雑になります。マルチモデルのワークフローが一般的な場合は、常にプロバイダーカタログを定義して、切り替えがアトミックでソース属性付きかつデバッグ可能になるようにしてください。

context

設定説明デフォルト
context.fileName文字列または文字列の配列コンテキストファイルの名前。undefined
context.importFormat文字列メモリをインポートする際に使用する形式。undefined
context.includeDirectories配列ワークスペースコンテキストに含める追加ディレクトリ。ワークスペースコンテキストに含める追加の絶対パスまたは相対パスの配列を指定します。存在しないディレクトリはデフォルトで警告とともにスキップされます。パスには ~ を使用してユーザーのホームディレクトリを参照できます。この設定は --include-directories コマンドラインフラグと組み合わせて使用できます。[]
context.loadFromIncludeDirectories真偽値/memory refresh コマンドの動作を制御します。true に設定されている場合、QWEN.md ファイルは追加されたすべてのディレクトリから読み込まれるべきです。false に設定されている場合、QWEN.md は現在のディレクトリからのみ読み込まれるべきです。false
context.fileFiltering.respectGitIgnore真偽値検索時に .gitignore ファイルを尊重します。true
context.fileFiltering.respectQwenIgnore真偽値検索時に .qwenignore ファイルを尊重します。true
context.fileFiltering.enableRecursiveFileSearch真偽値プロンプト内の @ 接頭辞を補完する際、現在のツリー配下のファイル名を再帰的に検索することを有効にするかどうか。true
context.fileFiltering.disableFuzzySearch真偽値true の場合、ファイル検索時のファジー検索機能を無効にします。これにより、多数のファイルを持つプロジェクトでのパフォーマンスが向上する可能性があります。false

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

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

  1. .qwenignore を使用する: プロジェクトルートに .qwenignore ファイルを作成し、参照する必要がない大量のファイルを含むディレクトリ(例:ビルド成果物、ログ、node_modules など)を除外します。検索対象となるファイル数を減らすことは、パフォーマンスを改善する最も効果的な方法です。
  2. あいまい検索を無効にする: ファイルの無視だけでは不十分な場合は、settings.json ファイルで disableFuzzySearchtrue に設定して、あいまい検索を無効にできます。これにより、より単純な非あいまい一致アルゴリズムが使用され、高速になることがあります。
  3. 再帰的ファイル検索を無効にする: 最後の手段として、enableRecursiveFileSearchfalse に設定することで、再帰的ファイル検索を完全に無効にできます。これはプロジェクトの再帰的な走査を行わないため最も高速なオプションになります。ただし、@ 補完を使用する際にファイルのフルパスを入力する必要があります。

ツール

設定説明既定値備考
tools.sandboxboolean または文字列サンドボックス実行環境(boolean またはパス文字列を指定可能)。undefined
tools.shell.enableInteractiveShellboolean対話型シェル体験のために node-pty を使用します。フォールバックとして child_process が引き続き適用されます。false
tools.core文字列の配列組み込みツールのセットをホワイトリストで制限するために使用できます。run_shell_command ツールのように、それをサポートするツールに対してコマンド固有の制限を指定することもできます。たとえば、"tools.core": ["run_shell_command(ls -l)"] とすると、ls -l コマンドのみの実行が許可されます。undefined
tools.exclude文字列の配列発見から除外するツール名。run_shell_command ツールのように、それをサポートするツールに対してコマンド固有の制限を指定することもできます。たとえば、"tools.exclude": ["run_shell_command(rm -rf)"] とすると、rm -rf コマンドがブロックされます。セキュリティノート: run_shell_commandtools.exclude 内のコマンド固有の制限は単純な文字列一致に基づいており、簡単にバイパスできます。この機能はセキュリティメカニズムではなく、信頼できないコードを安全に実行するために依存すべきではありません。実行可能なコマンドを明示的に選択するには tools.core の使用を推奨します。undefined
tools.allowed文字列の配列確認ダイアログをバイパスするツール名のリスト。頻繁に使用し、信頼できるツールに便利です。たとえば、["run_shell_command(git)", "run_shell_command(npm test)"] とすると、任意の git および npm test コマンドを実行する際の確認ダイアログがスキップされます。undefined
tools.approvalMode文字列ツール使用時の既定の承認モードを設定します。default使用可能な値: plan(分析のみ、ファイルの変更やコマンド実行を行わない)、default(ファイル編集やシェルコマンド実行前に承認が必要)、auto-edit(ファイル編集を自動的に承認)、yolo(すべてのツール呼び出しを自動的に承認)
tools.discoveryCommand文字列ツール発見のために実行するコマンド。undefined
tools.callCommand文字列tools.discoveryCommand を使用して発見された特定のツールを呼び出すためのカスタムシェルコマンドを定義します。シェルコマンドは以下の条件を満たす必要があります: 関数宣言  とまったく同じように関数 name を最初のコマンドライン引数として受け取る必要があります。functionCall.args と同様に、関数引数を JSON 形式で stdin から読み込む必要があります。functionResponse.response.content と同様に、関数出力を JSON 形式で stdout に出力する必要があります。undefined
tools.useRipgrepbooleanフォールバック実装の代わりに ripgrep を使用してファイル内容検索を行います。高速な検索パフォーマンスを提供します。true
tools.useBuiltinRipgrepbooleanバンドルされた ripgrep バイナリを使用します。false に設定した場合、システムレベルの rg コマンドが代わりに使用されます。この設定は tools.useRipgreptrue の場合にのみ有効です。true
tools.enableToolOutputTruncationboolean大きなツール出力の切り捨てを有効にします。true再起動が必要: はい
tools.truncateToolOutputThreshold数値これより多くの文字数がある場合、ツール出力を切り捨てます。シェル、Grep、Glob、ReadFile、ReadManyFiles ツールに適用されます。25000再起動が必要: はい
tools.truncateToolOutputLines数値ツール出力の切り捨て時に保持される最大行数またはエントリ数。シェル、Grep、Glob、ReadFile、ReadManyFiles ツールに適用されます。1000再起動が必要: はい

mcp

設定説明既定値
mcp.serverCommand文字列MCP サーバーを起動するためのコマンド。undefined
mcp.allowed文字列の配列許可する MCP サーバーの許可リスト。モデルで利用可能にする MCP サーバー名のリストを指定できます。これを使用して、接続する MCP サーバーのセットを制限できます。なお、--allowed-mcp-server-names が設定されている場合は無視されます。undefined
mcp.excluded文字列の配列除外する MCP サーバーの拒否リスト。mcp.excludedmcp.allowed の両方にリストされているサーバーは除外されます。なお、--allowed-mcp-server-names が設定されている場合は無視されます。undefined
Note

MCP サーバーに関するセキュリティノート: これらの設定では、変更可能な MCP サーバー名に対して単純な文字列一致を使用します。この回避をユーザーにさせたくないシステム管理者は、システム設定レベルで mcpServers を構成し、ユーザーが独自の MCP サーバーを構成できないようにすることを検討してください。これは完全なセキュリティメカニズムとしては使用しないでください。

セキュリティ

設定説明既定値
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
advanced.tavilyApiKeystringTavily ウェブ検索サービス用の API キー。web_search ツール機能を有効にするために使用されます。undefined
Note

advanced.tavilyApiKey についての注意: これはレガシーな設定形式です。Qwen OAuth ユーザーの場合、DashScope プロバイダーは設定なしで自動的に利用可能です。他の認証タイプでは、新しい webSearch 設定形式を使用して Tavily または Google プロバイダーを設定してください。

experimental

設定説明デフォルト
experimental.skillsboolean実験的なエージェントスキルを有効化false

mcpServers

カスタムツールの検出と使用のために、1つ以上のモデルコンテキストプロトコル(MCP)サーバーへの接続を設定します。Qwen Code は、各設定された MCP サーバーに接続を試み、利用可能なツールを検出します。複数の MCP サーバーが同じ名前のツールを公開している場合、競合を避けるために、設定で定義したサーバーエイリアスがツール名にプレフィックスとして付加されます(例:serverAlias__actualToolName)。互換性のために、システムが MCP ツール定義から特定のスキーマプロパティを削除する可能性があることに注意してください。少なくとも commandurlhttpUrl のいずれか1つを指定する必要があります。複数が指定された場合、優先順位は httpUrl、次に url、最後に command となります。

プロパティ説明オプション
mcpServers.<SERVER_NAME>.command文字列標準 I/O 経由で MCP サーバーを起動するためのコマンド。はい
mcpServers.<SERVER_NAME>.args文字列の配列コマンドに渡す引数。はい
mcpServers.<SERVER_NAME>.envオブジェクトサーバープロセスに対して設定する環境変数。はい
mcpServers.<SERVER_NAME>.cwd文字列サーバーを起動する作業ディレクトリ。はい
mcpServers.<SERVER_NAME>.url文字列通信にサーバー送信イベント(SSE)を使用する MCP サーバーの URL。はい
mcpServers.<SERVER_NAME>.httpUrl文字列通信にストリーム可能な HTTP を使用する MCP サーバーの URL。はい
mcpServers.<SERVER_NAME>.headersオブジェクトurl または httpUrl へのリクエスト時に送信する HTTP ヘッダーのマップ。はい
mcpServers.<SERVER_NAME>.timeout数値この MCP サーバーに対するリクエストのタイムアウト(ミリ秒単位)。はい
mcpServers.<SERVER_NAME>.trust真偽値このサーバーを信頼し、すべてのツール呼び出し確認をバイパスします。はい
mcpServers.<SERVER_NAME>.description文字列表示目的で使用される可能性のあるサーバーの簡単な説明。はい
mcpServers.<SERVER_NAME>.includeTools文字列の配列この MCP サーバーから含めるツール名のリスト。指定された場合、ここにリストされたツールのみがこのサーバーから利用可能になります(ホワイトリスト方式)。指定されない場合、デフォルトですべてのサーバーツールが有効になります。はい
mcpServers.<SERVER_NAME>.excludeTools文字列の配列この MCP サーバーから除外するツール名のリスト。ここにリストされたツールは、サーバーによって公開されていてもモデルからは利用できません。注: excludeToolsincludeTools よりも優先されます。ツールが両方のリストにある場合、除外されます。はい

テレメトリ

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

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

settings.json

以下は、v0.3.0 で追加されたネスト構造を持つ settings.json ファイルの例です。

{ "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", "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", "summarizeToolOutput": { "run_shell_command": { "tokenBudget": 100 } } }, "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.json ファイル内の advanced.excludedEnvVars 設定を使用してカスタマイズできます。

環境変数テーブル

変数名説明備考
GEMINI_TELEMETRY_ENABLEDテレメトリーを有効にするには true または 1 を設定します。他の値は無効化として扱われます。telemetry.enabled 設定を上書きします。
GEMINI_TELEMETRY_TARGETテレメトリーの送信先(local または gcp)を設定します。telemetry.target 設定を上書きします。
GEMINI_TELEMETRY_OTLP_ENDPOINTテレメトリー用のOTLPエンドポイントを設定します。telemetry.otlpEndpoint 設定を上書きします。
GEMINI_TELEMETRY_OTLP_PROTOCOLOTLPプロトコル(grpc または http)を設定します。telemetry.otlpProtocol 設定を上書きします。
GEMINI_TELEMETRY_LOG_PROMPTSユーザープロンプトのログ記録を有効または無効にするには true または 1 を設定します。他の値は無効化として扱われます。telemetry.logPrompts 設定を上書きします。
GEMINI_TELEMETRY_OUTFILEターゲットが local の場合にテレメトリーを書き出すファイルパスを設定します。telemetry.outfile 設定を上書きします。
GEMINI_TELEMETRY_USE_COLLECTOR外部OTLPコレクターの使用を有効または無効にするには true または 1 を設定します。他の値は無効化として扱われます。telemetry.useCollector 設定を上書きします。
GEMINI_SANDBOXsettings.json 内の sandbox 設定の代替です。truefalsedockerpodman、またはカスタムコマンド文字列を受け入れます。
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_COLOR任意の値を設定してCLIでのすべてのカラーアウトプットを無効にします。
CLI_TITLECLIのタイトルをカスタマイズする文字列を設定します。
CODE_ASSIST_ENDPOINTコードアシストサーバーのエンドポイントを指定します。開発とテストに便利です。
TAVILY_API_KEYTavilyウェブ検索サービス用のAPIキーです。web_search ツール機能を有効化するために使用されます。例: export TAVILY_API_KEY="tvly-your-api-key-here"

コマンドライン引数

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

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

引数エイリアス説明可能な値備考
--model-mこのセッションで使用する Qwen モデルを指定します。モデル名例: npm start -- --model qwen3-coder-plus
--prompt-pコマンドに直接プロンプトを渡すために使用されます。これにより、Qwen Code が非対話モードで起動します。プロンプトテキストスクリプトの例では、構造化された出力を得るために --output-format json フラグを使用してください。
--prompt-interactive-i提供されたプロンプトを初期入力として対話セッションを開始します。プロンプトテキストプロンプトは対話セッション内で処理され、その前に処理されることはありません。標準入力からのパイプ入力時は使用できません。例: qwen -i "explain this code"
--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 とは同時に使用できません。新しい統一的な方法として --yolo の代わりに --approval-mode=yolo を使用してください。例: qwen --approval-mode auto-edit
承認モード について詳しく見る。
--allowed-tools確認ダイアログをバイパスするツール名のカンマ区切りリスト。ツール名例: qwen --allowed-tools "Shell(git status)"
--telemetryテレメトリ を有効にします。
--telemetry-targetテレメトリターゲットを設定します。詳細は テレメトリ を参照してください。
--telemetry-otlp-endpointテレメトリの OTLP エンドポイントを設定します。詳細は テレメトリ を参照してください。
--telemetry-otlp-protocolテレメトリの OTLP プロトコル (grpc または http) を設定します。デフォルトは grpc です。詳細は テレメトリ を参照してください。
--telemetry-log-promptsテレメトリのプロンプトログ記録を有効にします。詳細は テレメトリ を参照してください。
--checkpointingチェックポイント を有効にします。
--acpACP モード (エージェントクライアントプロトコル) を有効にします。Zed のような IDE/エディター統合に便利です。安定版。非推奨の --experimental-acp フラグに置き換えます。
--experimental-skills実験的な エージェントスキル を有効にします (skill ツールを登録し、.qwen/skills/ および ~/.qwen/skills/ からスキルを読み込みます)。実験的機能。
--extensions-eセッションで使用する拡張機能のリストを指定します。拡張機能名指定しない場合、利用可能なすべての拡張機能が使用されます。qwen -e none という特別な用語を使用して、すべての拡張機能を無効化できます。例: qwen -e my-extension -e my-other-extension
--list-extensions-l利用可能なすべての拡張機能を一覧表示して終了します。
--proxyCLI のプロキシを設定します。プロキシアドレス例: --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.json 内の enableOpenAILogging 設定を上書きします。
--openai-logging-dirOpenAI API ログのカスタムディレクトリパスを設定します。ディレクトリパスこのフラグは settings.json 内の openAILoggingDir 設定を上書きします。絶対パス、相対パス、および ~ 展開をサポートします。例: qwen --openai-logging-dir "~/qwen-logs" --openai-logging
--tavily-api-keyこのセッションのウェブ検索機能のための Tavily API キーを設定します。API キー例: qwen --tavily-api-key tvly-your-api-key-here

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

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

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

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

以下は、TypeScriptプロジェクトのルートに配置されるコンテキストファイルに含まれる内容の概念的な例です。

# プロジェクト: 私の素晴らしいTypeScriptライブラリ ## 全般的な指示: - 新しいTypeScriptコードを生成する際は、既存のコーディングスタイルに従ってください。 - 新しい関数とクラスにはすべてJSDocコメントを付けてください。 - 適切な場面では関数型プログラミングパラダイムを優先してください。 - すべてのコードはTypeScript 5.0およびNode.js 20+と互換性を持つ必要があります。 ## コーディングスタイル: - インデントには2スペースを使用してください。 - インターフェース名には接頭辞として`I`を使用してください (例: `IUserService`)。 - プライベートなクラスメンバーにはアンダースコア(`_`)を接頭辞として付けてください。 - 常に厳密等価演算子(`===`および`!==`)を使用してください。 ## 特定のコンポーネント: `src/api/client.ts` - このファイルはすべてのアウトバウンドAPIリクエストを処理します。 - 新しいAPI呼び出し関数を追加する際は、堅牢なエラーハンドリングとロギングが含まれていることを確認してください。 - すべてのGETリクエストには既存の`fetchWithRetry`ユーティリティを使用してください。

依存関係について:

  • 新しい外部依存関係は、絶対に必要な場合を除いて導入しないでください。
  • 新しい依存関係が必要な場合は、その理由を明記してください。
この例は、プロジェクト全体のコンテキストや特定のコーディング規約、特定のファイルやコンポーネントに関するメモを提供する方法を示しています。コンテキストファイルが関連性が高く正確であればあるほど、AI はより適切に支援できます。プロジェクト固有のコンテキストファイルを作成し、規約やコンテキストを確立することを強く推奨します。 - **階層的な読み込みと優先順位:** CLI は、複数の場所からコンテキストファイル(例:`QWEN.md`)を読み込むことで、階層的なメモリシステムを実装しています。このリスト内で下位にあるファイル(より具体的なファイル)の内容は、通常上位にあるファイル(より一般的なファイル)の内容を上書きまたは補完します。正確な連結順序と最終的なコンテキストは `/memory show` コマンドを使用して確認できます。通常の読み込み順序は以下の通りです: 1. **グローバルコンテキストファイル:** - 場所:`~/.qwen/<設定されたコンテキストファイル名>`(例:ユーザーのホームディレクトリ内の `~/.qwen/QWEN.md`)。 - 範囲:すべてのプロジェクトに対してデフォルトの指示を提供します。 2. **プロジェクトルートおよび親ディレクトリのコンテキストファイル:** - 場所:CLI は、現在の作業ディレクトリから開始し、プロジェクトルート(`.git` フォルダで識別される)またはホームディレクトリまでの各親ディレクトリで、設定されたコンテキストファイルを検索します。 - 範囲:プロジェクト全体またはその重要な部分に関連するコンテキストを提供します。 - **連結と UI 表示:** 見つかったすべてのコンテキストファイルの内容は連結され(出所とパスを示すセパレータ付き)、システムプロンプトの一部として提供されます。CLI のフッターには読み込まれたコンテキストファイルの数が表示され、アクティブな指示コンテキストについての視覚的な手がかりを提供します。 - **コンテンツのインポート:** `@path/to/file.md` 構文を使用して他の Markdown ファイルをインポートすることで、コンテキストファイルをモジュール化できます。詳細については、[メモリインポートプロセッサのドキュメント](../configuration/memory) を参照してください。 - **メモリ管理コマンド:** - `/memory refresh` を使用して、すべての設定された場所からすべてのコンテキストファイルを強制的に再スキャンおよび再読み込みします。これにより、AI の指示コンテキストが更新されます。 - `/memory show` を使用して、現在読み込まれている結合された指示コンテキストを表示し、AI が使用している階層とコンテンツを確認できます。 - `/memory` コマンドとそのサブコマンド(`show` および `refresh`)の詳細については、[コマンドドキュメント](../features/commands) を参照してください。 これらの設定レイヤーとコンテキストファイルの階層的性質を理解し活用することで、AI のメモリを効果的に管理し、Qwen Code の応答を特定のニーズやプロジェクトに合わせて調整できます。 ## サンドボックス Qwen Code は、シェルコマンドやファイルの変更など、潜在的に安全でない操作をサンドボックス化された環境内で実行して、システムを保護できます。 [サンドボックス](../features/sandbox) はデフォルトでは無効になっていますが、以下の方法で有効にできます: - `--sandbox` または `-s` フラグを使用する。 - `GEMINI_SANDBOX` 環境変数を設定する。 - `--yolo` または `--approval-mode=yolo` を使用している場合、デフォルトでサンドボックスが有効になります。 デフォルトでは、事前に構築された `qwen-code-sandbox` Docker イメージが使用されます。 プロジェクト固有のサンドボックス化が必要な場合は、プロジェクトのルートディレクトリに `.qwen/sandbox.Dockerfile` としてカスタム Dockerfile を作成できます。この Dockerfile はベースとなるサンドボックスイメージに基づいてください:

FROM qwen-code-sandbox

ここにカスタムの依存関係や設定を追加してください

例:

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