コンテンツにスキップ
無料で登録
Coding Agent のセットアップ

Qwen Code のセットアップ:API Key、Base URL、モデル

BetterToken API Key と Base URL で Qwen Code を設定し、Responses 構成とファイル読み取りの制限を確認します。

~/.qwen/settings.json の modelProviders.openai を通じて Qwen Code を BetterToken に接続します。GPT モデルを使った macOS のテストでは、Qwen Code 0.26.0 が Responses と Chat Completions の両方でテキストリクエストを完了しました。

主な設定

項目値
API KeyenvKey で参照する BetterToken API Key
Base URLbaseUrl に設定する https://bettertoken.ai/v1
モデルYOUR_MODEL_ID
Provider 設定modelProviders.openai
API 形式wireApi: "responses"

前提条件

インストール

公式クイックスタートの npm の手順を使います。

ターミナルウィンドウ
npm install -g @qwen-code/qwen-code@latest
qwen --version

手動設定

YOUR_API_KEY を置き換えて、ターミナルに API Key を設定します。

ターミナルウィンドウ
export BETTERTOKEN_API_KEY="YOUR_API_KEY"

これらの設定を ~/.qwen/settings.json に統合します。2 か所の YOUR_MODEL_ID を同じ正確な Model ID に置き換えます。

{
"modelProviders": {
"openai": [
{
"id": "YOUR_MODEL_ID",
"envKey": "BETTERTOKEN_API_KEY",
"baseUrl": "https://bettertoken.ai/v1",
"wireApi": "responses"
}
]
},
"security": {
"auth": {
"selectedType": "openai"
}
},
"model": {
"name": "YOUR_MODEL_ID"
}
}

envKey は環境変数の名前であり、API Key 自体を格納するものではありません。公式モデルプロバイダーのリファレンスでは wireApi: "chat-completions" もサポートされています。このテストでは Responses のほうがファイル読み取りの成功回数は多かったものの、どちらの形式もすべての試行に成功したわけではありません。

接続の確認

同じターミナルでテキストのみの確認を実行します。

ターミナルウィンドウ
qwen -p "Reply with only: OK" --output-format stream-json --max-session-turns 4

最終回答に OK があることを確認します。テキストリクエストの成功は、ファイル読み取りタスクで正しい最終回答が得られることを意味しません。ワークフローを選ぶ際は、上記の制限を考慮してください。

モデルの切り替え

modelProviders.openai の下にモデルの項目を追加し、model.name をその正確な id に設定して新しいセッションを開始します。

よくあるエラー

症状確認事項
認証に失敗するQwen Code を実行するターミナルで envKey が指定する変数を export します。
エンドポイントが違うbaseUrl に https://bettertoken.ai/v1 を設定します。リクエストのプロトコルは wireApi が選択します。
モデルが見つからないmodel.name を modelProviders.openai 内の id と一致させます。
ファイル読み取り後の回答が空または誤っている0.26.0 ではツール結果が正しくても発生しました。Responses に切り替えても失敗はなくならないため、ファイル読み取りには別のテスト済みクライアントを使います。

関連ガイド

技術情報

wireApi: "responses" は /v1/responses を選択し、wireApi: "chat-completions" は /v1/chat/completions を選択します。Qwen Code 0.26.0 のテストでは両方のテキスト経路が成功しました。ファイル読み取りの結果はそれぞれ 2/3 件、0/3 件でした。