# Qwen Code 設定

> **最終確認**：2026-10-13 · 📄 公式ドキュメント準拠（Qwen Code 0.25.1）

## 概要

| 項目 | 内容 |
|---|---|
| 使えるモデル | Claude ✅（Anthropic 側に登録）· GPT ✅ · 中国系モデル ✅（OpenAI 互換側に登録）· Gemini ❌（QCode は Gemini シリーズを提供していません。Claude、GPT、または中国系モデルをご利用ください） |
| プロトコルと Base URL | Anthropic：`https://api.qcode.cc/api` · OpenAI 互換：`https://api.qcode.cc/openai/v1` |
| 設定する場所 | `~/.qwen/settings.json` の `modelProviders`。セッション内では `/auth`・`/model`・`/doctor` |
| 公式ドキュメント | [認証](https://qwenlm.github.io/qwen-code-docs/en/users/configuration/auth/) · [設定リファレンス](https://qwenlm.github.io/qwen-code-docs/en/users/configuration/settings/) |

Qwen Code はターミナル向けのオープンソースのコーディング支援 CLI で、npm での公開名は `@qwen-code/qwen-code` です。本ページはバージョン `0.25.1` で確認しました。公式ドキュメントは「OpenAI、Anthropic、Google、Azure OpenAI、OpenRouter、Requesty、ModelScope などの第三者プロバイダ、または自社で運用するエンドポイントにつなぐ」方法を API Key 認証としてまとめており、QCode はこのエンドポイントを使います。`modelProviders` で利用可能なモデルと接続方法を宣言し、実行中は `/model` で切り替えます。

## どのプロトコルか

| 使いたいモデル | `modelProviders` のキー（auth type） | 入力する Base URL |
|---|---|---|
| Claude | `anthropic` | `https://api.qcode.cc/api` |
| GPT と中国系モデル | `openai` | `https://api.qcode.cc/openai/v1` |

公式ドキュメントではプロトコルがプロバイダ側のキーに書き込まれています。組み込みプロバイダのキーは有効な auth type（`openai`、`anthropic`、`gemini`、`vertex-ai`）でなければなりません。個々のモデルは、プロトコル・`id`・設定した `baseUrl` の三つで一意に決まります。

🔴 **Claude を OpenAI 互換エンドポイントで呼ばないでください。** QCode の OpenAI エンドポイントは Claude のモデル ID を拒否し、`Model '<id>' is not available on this endpoint` に相当するエラーを返します。Claude は必ず `anthropic` 側に登録し、Base URL は `https://api.qcode.cc/api` にします。GPT を Anthropic 側で使うこともできません。

Base URL は上の表どおりに入力してください。**末尾にスラッシュを付けない**こと、リクエストパスを欄に書き込まないことも条件です。入力するのは base であり、`.../v1/messages` や `.../chat/completions` ではありません。地域ノードを使う場合は、Anthropic 側を `https://asia.qcode.cc/api` または `https://us.qcode.cc/api` に置き換えます。キーは同じものです。

## インストール

npm でインストールするには Node.js 22 以降が必要です。

```bash
npm install -g @qwen-code/qwen-code@latest
```

macOS と Linux では Homebrew も使えます。

```bash
brew install qwen-code
```

プロジェクトディレクトリでターミナルを開いて起動します。

```bash
cd /path/to/your-project
qwen
```

ウェルカム画面で `/help` と入力すると、利用可能なコマンドの一覧が表示されます。

## Claude の設定（Anthropic 側）

公式が推奨するのは `~/.qwen/settings.json` にまとめて書く方法です。以下のフィールド名はすべて公式ドキュメントの表記どおりです。`modelProviders` は auth type ごとの配列を持ち、各モデルには `id` が必須で、`name`・`baseUrl`・`generationConfig` は省略可能です。`envKey` は資格情報が入った環境変数の名前を指定します。

```json
{
  "modelProviders": {
    "anthropic": [
      {
        "id": "claude-sonnet-5",
        "name": "claude-sonnet-5",
        "envKey": "ANTHROPIC_API_KEY",
        "baseUrl": "https://api.qcode.cc/api"
      }
    ]
  },
  "env": {
    "ANTHROPIC_API_KEY": "cr_your_qcode_key"
  },
  "security": {
    "auth": {
      "selectedType": "anthropic"
    }
  },
  "model": {
    "name": "claude-sonnet-5"
  }
}
```

四つのブロックの役割は、公式のフィールド表の表記に沿うと次のとおりです。`modelProviders` は利用可能なモデルと接続方法を宣言します。`env` は `settings.json` に API キーを保持する最終手段で、シェルでの `export` や `.env` ファイルの方が優先度が高くなっています。`security.auth.selectedType` は起動時にどのプロトコルを使うかを Qwen Code に伝えます。`model.name` は起動時に有効になる既定のモデルで、`modelProviders` のいずれかの `id` と一致しなければなりません。

Anthropic のプロトコルは環境変数でも設定できます。公式が並べている三つは `ANTHROPIC_API_KEY`、`ANTHROPIC_BASE_URL`、`ANTHROPIC_MODEL` です。

```bash
export ANTHROPIC_API_KEY="cr_your_qcode_key"
export ANTHROPIC_BASE_URL="https://api.qcode.cc/api"
export ANTHROPIC_MODEL="claude-sonnet-5"
qwen
```

CLI の中で `/auth` を実行する方法もあります。三番目のトップレベル選択肢である **Custom Provider** は、公式の記述では「ローカルサーバー、プロキシ、または未対応プロバイダを手動でつなぐ」ための入り口で、OpenAI・Anthropic・Gemini その他の互換エンドポイントをサポートします。

> **Anthropic 側のパスについて。** 公式の Anthropic 例では `baseUrl` を `/v1` まで書いています（`"baseUrl": "https://api.anthropic.com/v1"`）。Anthropic のエンドポイントが base からどうリクエストパスを組み立てるかは公式に書かれていません。したがって本ページは QCode のドキュメントにある値だけを提示します。base には `https://api.qcode.cc/api` を入れて終わりです。他の表記について、当方で動作確認をしたという主張は一切ありません。

## GPT と中国系モデルの設定（OpenAI 互換側）

公式ドキュメントは `openai` という auth type について、OpenAI 公式 API だけでなくあらゆる OpenAI 互換エンドポイントにも対応すると説明しています。QCode の GPT と中国系モデルはこのエンドポイントで提供されます。ホスト型のゲートウェイを指す場合の公式ルールは明確で、`baseUrl` には完全な chat パスではなく API の `/v1` ルートを設定します。リクエストパスは SDK 自身が追加します。`https://api.qcode.cc/openai/v1` がそのルートです。

```json
{
  "modelProviders": {
    "openai": [
      {
        "id": "gpt-6.1-sol",
        "name": "gpt-6.1-sol",
        "envKey": "OPENAI_API_KEY",
        "baseUrl": "https://api.qcode.cc/openai/v1"
      },
      {
        "id": "deepseek-v4.1-flash",
        "name": "deepseek-v4.1-flash",
        "envKey": "OPENAI_API_KEY",
        "baseUrl": "https://api.qcode.cc/openai/v1"
      }
    ]
  },
  "env": {
    "OPENAI_API_KEY": "cr_your_qcode_key"
  },
  "security": {
    "auth": {
      "selectedType": "openai"
    }
  },
  "model": {
    "name": "gpt-6.1-sol"
  }
}
```

既定以外の auth type は `/model` を通した場合だけ露出します。使いたいモデルは配列に追加し、そこから選んでください。モデル ID は QCode の一覧にある表記を使います。`gpt-6.1-sol`、`gpt-6-sol`、`gpt-5.6-terra`、または [`glm-5.3`](/docs/usage/cn-models)、[`deepseek-v4.1-flash`](/docs/usage/cn-models)、`qwen3.8-max` のような中国系モデルの ID です。

環境変数で設定する場合は、公式がこのプロトコル用に挙げた三つを使います。

```bash
export OPENAI_API_KEY="cr_your_qcode_key"
export OPENAI_BASE_URL="https://api.qcode.cc/openai/v1"
export OPENAI_MODEL="gpt-6.1-sol"
qwen
```

## 動作確認

まず CLI 自身に状況を確かめさせます。

```text
/doctor
/model
```

`/doctor` は公式が案内している自己確認のコマンドで、「現在の設定をいつでも確認する」ためのものです。クイックスタートのコマンド表での説明は「現在の認証と環境を確認」になっています。`/model` は宣言した項目の一覧を開きます。`modelProviders` の編集に再起動は不要で、公式は `settings.json` の `modelProviders` の変更が稼働中の対話セッションに取り込まれると明記しています。ただし新しい項目を見るには `/model` を開き直してください。

次に、CLI とは切り離してエンドポイント自体を確認します。Anthropic Messages のリクエストではキーを `x-api-key` に、バージョンを `anthropic-version` に入れます。

```bash
KEY="cr_your_qcode_key"
curl -X POST https://api.qcode.cc/api/v1/messages \
  -H "x-api-key: $KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":32,"messages":[{"role":"user","content":"ping"}]}'
```

本ページはドキュメントに基づいて作成されており、試験用のキーは保有していません。したがってこのリクエストの戻り値を主張していません。curl が通るのに CLI が通らない場合は、`~/.qwen/settings.json` の設定に問題があります。curl が通らない場合は Base URL とキーを確認し、そのうえで[トラブルシューティング](/docs/reference/troubleshooting)へ進んでください。

## 既知の制限とトラブルシューティング

| 症状 | 意味 | 対処 |
|---|---|---|
| Claude の ID が OpenAI 互換 Base URL で失敗する | QCode は Anthropic プロトコルでのみ Claude を提供しています | そのモデルを `anthropic` の配列へ移し、`baseUrl` を `https://api.qcode.cc/api` にします |
| `security.auth.apiKey` や `security.auth.baseUrl` が残っている | 公式はどちらも非推奨と明記し、`modelProviders` へ移行するよう案内しています（前者は `envKey`） | 削除し、`modelProviders` に宣言します |
| Anthropic の項目に `wireApi` を書いた | 公式文書では設定エラーとされています。`wireApi` は OpenAI 側のフィールドです | Anthropic の項目からは取り除いてください |
| `extra_body` が効かない | 対象は `openai` と `qwen-oauth` だけで、Anthropic と Gemini プロバイダでは無視されると公式に書かれています | provider のモデルは `modelProviders[].generationConfig.extra_body` に書くのが公式の表記です |
| `model.name` が反映されない | `modelProviders` のいずれかの `id` と一致する必要があるためです | 宣言済みの `id` を使うか、`/model` で選びます |
| ピッカーに欲しいモデルがない | 既定以外の auth type は `/model` 経由のみで露出し、Anthropic のモデルは `modelProviders` で宣言する必要があります | `~/.qwen/settings.json` に追加し、`/model` を開き直します |

その他の注意点：

- **Gemini**：Qwen Code 自体は `gemini` という auth type を設定できますが、QCode は Gemini シリーズを提供していません。[Claude、GPT、または中国系モデル](/docs/usage/cn-models)をご利用ください。
- **提供していないモデル**：QCode は `gpt-6-luna` と `gpt-5.6-luna` を提供していません。`gpt-6.1-sol`、`gpt-6-sol`、`gpt-5.6-terra` など他の GPT をお選びください。用途に合うモデルの選び方は[モデルの選び方](/docs/usage/model-selection)にまとめています。
- **再起動の要否**：`modelProviders` の変更は稼働中のセッションに反映されます。`providerProtocol` は起動時に一度だけ読まれるため、変更したら再起動が必要です。
- **このページでは資格情報をコマンドラインの flag で渡しません**：OpenAI の Base URL 用 flag の綴りが公式ページ間で二通りに書かれているためです。認証情報は `~/.qwen/settings.json` または環境変数でのみ設定してください。
- **Base URL の書き方**：末尾にスラッシュを付けず、リクエストパスを `baseUrl` に入力しません。
- **費用**：トークン単位の課金です。各モデルの単価は [qcode.cc/models](https://qcode.cc/models) に掲載されています。本ページでは金額を書いていません。

## 関連ドキュメント

- [エンドポイントと API パス](/docs/getting-started/endpoints-and-api-paths)：モデル群ごとにどのプロトコルを使うか
- [ツール対応状況](/docs/ide/tool-compatibility)：Anthropic または OpenAI 互換プロトコルを使う他のツール
- [OpenCode 設定](/docs/ide/opencode)：同じ二つのエンドポイントを使う別のターミナル CLI
- [中国系モデル](/docs/usage/cn-models)
- [モデルの選び方](/docs/usage/model-selection)
- [トラブルシューティング](/docs/reference/troubleshooting)