OpenClaw 接続
OpenClaw に QCode.cc をモデルプロバイダーとして設定する:openclaw.json の models.providers の書き方、onboard ウィザードの Custom Provider、接続の確認方法
最終確認: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 · 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 参照)。 - QCode.cc の
cr_キー 1 本(コンソールで作成)。上流ベンダーのアカウントは不要。 - OpenClaw 自身のアカウントも不要。モデルはすべて設定した provider 由来します。
設定手順¶
ルート A:設定ファイルを直接編集(推奨)¶
~/.openclaw/openclaw.json の models.providers に追記します。ファイルは JSON5(コメント・末尾カンマ可)で、Gateway が監視して自動リロードするため再起動は不要です:
{
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 ドキュメント):
apiKeyは${ENV_VAR}展開に対応。上流はベタ書きではなくシークレット参照・環境変数を推奨しています。apiはリクエストアダプター:Anthropic 側はanthropic-messages、OpenAI 側はopenai-completions。baseUrlだけ書いてapiを省略するとopenai-completions扱いになります。- 画像(ビジョン)を受け取るモデルは
input: ["text", "image"]を明示しないと、画像はテキスト参照としてしか渡されません。
ルート B:onboard ウィザードの Custom Provider¶
openclaw onboard --install-daemon
プロバイダー一覧で Custom Provider を選び(先頭に無い場合は More… の中)、base URL・API Key・互換性・モデル ID の順に入力します。ウィザードは保存前に実際の補完を試みます(公式表現:verifies a real reply before saving)。URL の打ちミスはこの時点で検出されます。
非インタラクティブ(スクリプト向け)の等価コマンド、Claude モデルの例:
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 ドキュメント)。
接続の確認¶
- ルート B を使った場合、保存前にウィザードが実リクエストで検証済みです。
- ルート A の場合、まず
pingなどで一文投げてみます。失敗したら~/.openclaw/openclaw.jsonの JSON5 構文(コメントや余分なカンマ)を先に確認してください。 - パスとキーの到達だけを確認する場合:
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
- すべてのリクエスト(OpenClaw が送ったものを含む)は probe.qcode.cc に記録されます。キーを入力すると実際のモデルとステータスコードが見えます。駄目な場合は トラブルシューティング の順に確認してください。
既知の制限¶
- 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 形式)。- 非直結の
anthropic-messagesエンドポイントでは OpenClaw は Anthropic の beta ヘッダーを抑制します(公式挙動)。サードパーティ製ゲートウェイには好都合です。他のツールでanthropic-beta起因の 400 が出ていても、OpenClaw の問題ではありません。 - Gemini 系統(
google-generative-ai)は公式列挙値に存在しますが、QCode の/geminiエンドポイントの baseUrl 形式は今回未検証のため例を載せていません。 - 公式ドキュメントは GitHub の
mainブランチが正本で、docs.openclaw.ai は若干遅れることがあります。
関連ドキュメント¶
- エンドポイントと API 形式 —— 4 プロトコルの Base URL の入れ方
- ツール互換性一覧 —— 各ツールのプロトコル対応
- CC Switch 設定 —— Claude Code / Codex のプロバイダーを GUI で切替
- 中国系モデル —— GLM / Kimi / DeepSeek / Qwen の販売中 ID
- トラブルシューティング