Skip to content

OpenClaw

OpenClaw 是一個開源、自託管的個人 AI 助手平臺,把 Telegram、Discord、WhatsApp、iMessage 等訊息應用連線到執行在你自己硬體上的 AI 代理。在 openclaw.json 中把 WRouter 新增為自定義 provider,即可讓 WRouter 路由的所有模型對 OpenClaw 的智慧體可用。

前置要求

要求
Node.js≥ 22
OpenClaw最新版本
WRouter一把可用 sk- Token

安裝與引導

bash
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon

嚮導會完成認證、Gateway 設定與可選的渠道初始化。其他安裝方式(Docker、手動)見 OpenClaw Getting Started

通過 models.providers 接入 WRouter

OpenClaw 從 openclaw.json 發現模型 provider。把 WRouter 宣告為自定義 provider,列出你要暴露的模型,再把智慧體的預設模型指向它即可。

內建 provider 外掛已經發布了預設目錄。只有當你想覆蓋預設的 baseUrl、headers 或模型列表時才需要顯式 models.providers.<id> 條目——這正是 WRouter 接入的場景。

1. 提供 API Key

在 shell、服務環境或 OpenClaw 可讀取的 .env 中:

bash
export WROUTER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

2. 編輯 openclaw.json

補充(或合併)以下片段:

js
{
  models: {
    mode: "merge",
    providers: {
      wrouter: {
        baseUrl: "https://wrouter.ai/v1",
        apiKey: "${WROUTER_API_KEY}",
        api: "openai-completions",
        models: [
          { id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
          { id: "gemini-2.5-flash", name: "Gemini 2.5 Flash" },
          // 多模態模型 — 讓圖片以原生輸入方式傳入
          { id: "gpt-5.4", name: "GPT-4o", input: ["text", "image"] },
        ],
      },
    },
  },

  agents: {
    defaults: {
      model: {
        primary:   "wrouter/claude-sonnet-4-6",
        fallbacks: ["wrouter/gemini-2.5-flash"],
      },
      models: {
        "wrouter/claude-sonnet-4-6": { alias: "sonnet" },
        "wrouter/gemini-2.5-flash":  { alias: "flash" },
      },
    },
  },
}

關鍵配置說明

配置項說明
models.mode建議設為 "merge",保留 OpenClaw 內建 provider 的同時追加 WRouter
models.providers.wrouter.baseUrlWRouter 地址,必須帶 /v1
models.providers.wrouter.apiKey推薦用 ${WROUTER_API_KEY} 注入,避免明文
models.providers.wrouter.apiOpenAI 相容閘道器使用 "openai-completions"
models.providers.wrouter.models[]每一項的 id 必須與 WRouter 控制台中暴露的模型 ID 完全一致
models.providers.wrouter.models[].input如該模型支援圖片,設為 ["text", "image"]——這樣 WebChat 與節點附件會作為原生輸入傳入,而非文本媒體引用
agents.defaults.model.primary預設主模型,格式 provider/model-id(如 wrouter/claude-sonnet-4-6
agents.defaults.model.fallbacks主模型失敗時按順序切換的備選列表
agents.defaults.models可選別名 / 每模型後設資料 — 只控制可見性,本身不會註冊新的執行時模型。自定義 provider 模型必須同時出現在 models.providers.<provider>.models[]

驗證

通過任一已接入渠道(Telegram、Discord、Web UI)傳送訊息。智慧體應通過 WRouter 用 primary 模型響應;失敗時按配置自動 fallback。

推薦模型

模型用途
claude-sonnet-4-6跨渠道日常主力
gpt-5.4多模態(圖片附件)— 記得加 input: ["text", "image"]
gemini-2.5-flash長對話歷史
tts-1 + whisper-1語音渠道(TTS + STT)

常見錯誤

現象可能原因
上游返回 404baseUrl 沒帶 /v1
執行時報模型"未註冊"模型只在 agents.defaults.models 裡聲明瞭;必須同時出現在 models.providers.<provider>.models[]
圖片附件被當作文本引用沒在該模型上設 input: ["text", "image"]
Fallback 不生效fallbacks 中的 ID 與 models.providers.wrouter.models[].id 不匹配

已知限制

  • 渠道整合(Telegram 機器人、Discord webhook、WhatsApp Business)需要在對應平臺單獨申請與配置。
  • OpenClaw 執行在你自己的硬體上,可用性與安全由你負責。
  • 語音互動質量取決於作業系統(macOS / iOS / Android 的 STT/TTS 支援有差異)。