# OpenClaw 接続

> **最終確認**：2026-09-18 · 📄 公式ドキュメント準拠（OpenClaw v2026.9.4、2026-09-11 公開）

## 概要

| 項目 | 内容 |
|---|---|
| 利用できるモデル | Claude ✅（Anthropic プロトコル）· GPT ✅ · 中国系モデル ✅ · Gemini ⚠️（上流に `google-generative-ai` アダプターはあるが本項では未検証） |
| プロトコルと Base URL | Anthropic：`https://api.qcode.cc/api` · OpenAI：`https://api.qcode.cc/openai/v1` |
| 設定場所 | `~/.openclaw/openclaw.json`（JSON5、ホットリロード）または `openclaw onboard` ウィザード |
| 公式ドキュメント | [Custom Providers](https://github.com/openclaw/openclaw/blob/main/docs/concepts/model-providers/custom-providers.md) · [docs.openclaw.ai](https://docs.openclaw.ai) |

OpenClaw は**自分のマシンで動くオープンソースの AI アシスタント**です。自己ホスト型の Gateway プロセスが Discord、Telegram、Slack、iMessage などのチャネルに接続し、macOS / Windows / Linux ネイティブアプリもあります。**コードエディタではありません**——複数のモデルに対する「アシスタント＋ゲートウェイ」として使われることが多く、OpenAI / Anthropic 互換エンドポイントを公式にサポートしているため、このセクションに載せています。

## 前提条件

- OpenClaw のインストール済み（公式インストーラー `curl -fsSL https://openclaw.ai/install.sh | bash`。npm で直接入れる場合 Node 24.16+ が必要、公式推奨は 26+、[README](https://github.com/openclaw/openclaw#readme) 参照）。
- QCode.cc の `cr_` キー 1 本（[コンソール](https://qcode.cc/dashboard)で作成）。上流ベンダーのアカウントは**不要**。
- OpenClaw 自身のアカウントも不要。モデルはすべて設定した provider 由来します。

## 設定手順

### ルート A：設定ファイルを直接編集（推奨）

`~/.openclaw/openclaw.json` の `models.providers` に追記します。ファイルは JSON5（コメント・末尾カンマ可）で、Gateway が監視して自動リロードするため再起動は不要です：

```json5
{
  models: {
    mode: "merge", // keep built-in providers, append QCode
    providers: {
      qcode: {
        baseUrl: "https://api.qcode.cc/api",
        apiKey: "${QCODE_API_KEY}",
        api: "anthropic-messages",
        models: [
          { id: "claude-sonnet-5", name: "Claude Sonnet 5", input: ["text", "image"] },
        ],
      },
      qcode_openai: {
        baseUrl: "https://api.qcode.cc/openai/v1",
        apiKey: "${QCODE_API_KEY}",
        api: "openai-completions",
        models: [
          { id: "gpt-5.6", name: "GPT-5.6" },
          { id: "glm-5.3", name: "GLM-5.3" },
        ],
      },
    },
  },
}
```

3 つのポイント（出典：公式 [custom-providers ドキュメント](https://github.com/openclaw/openclaw/blob/main/docs/concepts/model-providers/custom-providers.md)）：

- `apiKey` は `${ENV_VAR}` 展開に対応。上流はベタ書きではなくシークレット参照・環境変数を推奨しています。
- `api` はリクエストアダプター：Anthropic 側は `anthropic-messages`、OpenAI 側は `openai-completions`。`baseUrl` だけ書いて `api` を省略すると `openai-completions` 扱いになります。
- 画像（ビジョン）を受け取るモデルは `input: ["text", "image"]` を明示しないと、画像はテキスト参照としてしか渡されません。

### ルート B：onboard ウィザードの Custom Provider

```bash
openclaw onboard --install-daemon
```

プロバイダー一覧で **Custom Provider** を選び（先頭に無い場合は **More…** の中）、base URL・API Key・互換性・モデル ID の順に入力します。ウィザードは保存前に実際の補完を試みます（公式表現：*verifies a real reply before saving*）。URL の打ちミスはこの時点で検出されます。

非インタラクティブ（スクリプト向け）の等価コマンド、Claude モデルの例：

```bash
openclaw onboard --non-interactive --accept-risk \
  --auth-choice custom-api-key \
  --custom-base-url "https://api.qcode.cc/api" \
  --custom-model-id "claude-sonnet-5" \
  --custom-api-key "$QCODE_API_KEY" \
  --custom-compatibility anthropic
```

🔴 綴りが 2 箇所違います：ウィザードのフラグ `--custom-compatibility` の値は `anthropic`、設定ファイルの `api` の値は `anthropic-messages` です（[onboard ドキュメント](https://github.com/openclaw/openclaw/blob/main/docs/cli/onboard.md)）。

## 接続の確認

1. ルート B を使った場合、保存前にウィザードが実リクエストで検証済みです。
2. ルート A の場合、まず `ping` などで一文投げてみます。失敗したら `~/.openclaw/openclaw.json` の JSON5 構文（コメントや余分なカンマ）を先に確認してください。
3. パスとキーの到達だけを確認する場合：

```bash
curl -s -o /dev/null -w '%{http_code}\n' -X POST https://api.qcode.cc/api/v1/messages \
  -H "x-api-key: $QCODE_API_KEY"
# → 401 = キー無効；JSON エラー以外のコード = パス到達OK
```

4. すべてのリクエスト（OpenClaw が送ったものを含む）は [probe.qcode.cc](https://probe.qcode.cc) に記録されます。キーを入力すると実際のモデルとステータスコードが見えます。駄目な場合は [トラブルシューティング](/docs/reference/troubleshooting) の順に確認してください。

## 既知の制限

- **Base URL の形式についての注意**：公式の `anthropic-messages` 実例（Synthetic、MiniMax）はいずれも `baseUrl` に `/v1` を**付けません**（例 `https://api.minimax.io/anthropic`）。本頁もそれに倣い `https://api.qcode.cc/api` を使っています。ただし OpenClaw が実際に付与するパスは公式ドキュメントに逐語の記載がなく、当方で実測もしていません。リクエストが 404 になる場合は `baseUrl` を完全パス `https://api.qcode.cc/api/v1/messages` に変更してください。
- `openai-responses` アダプターは「`/v1/responses` 対応バックエンド専用」の公式説明どおり、QCode では GPT 系専用です。中国系モデルは `openai-completions` 経由で（プロトコル対応表は [エンドポイントと API 形式](/docs/getting-started/endpoints-and-api-paths)）。
- 非直結の `anthropic-messages` エンドポイントでは OpenClaw は Anthropic の beta ヘッダーを抑制します（公式挙動）。サードパーティ製ゲートウェイには好都合です。他のツールで `anthropic-beta` 起因の 400 が出ていても、OpenClaw の問題ではありません。
- Gemini 系統（`google-generative-ai`）は公式列挙値に存在しますが、QCode の `/gemini` エンドポイントの baseUrl 形式は今回未検証のため例を載せていません。
- 公式ドキュメントは GitHub の `main` ブランチが正本で、docs.openclaw.ai は若干遅れることがあります。

## 関連ドキュメント

- [エンドポイントと API 形式](/docs/getting-started/endpoints-and-api-paths) —— 4 プロトコルの Base URL の入れ方
- [ツール互換性一覧](/docs/ide/tool-compatibility) —— 各ツールのプロトコル対応
- [CC Switch 設定](/docs/ide/cc-switch) —— Claude Code / Codex のプロバイダーを GUI で切替
- [中国系モデル](/docs/usage/cn-models) —— GLM / Kimi / DeepSeek / Qwen の販売中 ID
- [トラブルシューティング](/docs/reference/troubleshooting)