Skip to content

OpenClaw 接入

OpenClaw 是開源 Agent / Gateway 工具,適合把 Telegram、飛書、本地工具和多模型 provider 統一到一個入口。CodyRouter 可以作為 OpenClaw 的自訂模型提供商使用。

準備工作

  • 一台 Ubuntu / Debian 伺服器,推薦 Ubuntu 22.04+。
  • Node.js 22+,OpenClaw 官方建議 Node.js 24。
  • 一個 CodyRouter 帳號,並已建立 API Key。
  • 一個 Telegram 帳號。

如果伺服器還沒有 Git 和 Node.js,可以先安裝:

bash
sudo apt update && sudo apt install -y git
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt-get install -y nodejs

安裝 OpenClaw

bash
npm install -g openclaw
openclaw --version

申請 Telegram Bot

在 Telegram 裡搜索 @BotFather,然後按下面流程建立機器人:

  1. 發送 /newbot
  2. 輸入機器人暱稱。
  3. 輸入唯一用戶名,必須以 bot 結尾。
  4. 複製 BotFather 返回的 Bot Token。

Bot Token 等同於機器人的最高權限密鑰,不要發到公開聊天或儲存庫裡。如果洩露,可以在 BotFather 中發送 /revoke 重新產生。

執行 Onboarding

在伺服器終端機啟動互動式精靈:

bash
openclaw onboard

建議按下面策略選擇:

精靈問題建議選擇
Continue?Yes
Onboarding modeQuickStart
Model/auth providerSkip for now
Filter models by providerAll providers
Default modelKeep current
ChannelsTelegram
Configure skills now?No
Enable hooks?可全選
Install Gateway serviceYes
Hatch your botDo this later

Skip for now 很關鍵,因為 CodyRouter 是自訂 provider,需要稍後手動寫入設定。

設定 CodyRouter Provider

開啟設定檔:

bash
nano ~/.openclaw/openclaw.json

在設定檔最外層合併下面的 modelsagents 片段。注意把 YOUR_API_KEY 換成你的真實 API Key。

json
{
  "models": {
    "providers": {
      "codyrouter-claude": {
        "baseUrl": "https://api.codyrouter.com",
        "apiKey": "YOUR_API_KEY",
        "api": "anthropic-messages",
        "models": [
          {
            "id": "claude-opus-4-6",
            "name": "Claude Opus 4.6",
            "reasoning": true,
            "input": ["text", "image"],
            "contextWindow": 200000,
            "maxTokens": 16384
          }
        ]
      },
      "codyrouter-gpt": {
        "baseUrl": "https://api.codyrouter.com",
        "apiKey": "YOUR_API_KEY",
        "api": "openai-responses",
        "models": [
          {
            "id": "gpt-5.3-codex",
            "name": "GPT-5.3 Codex",
            "reasoning": false,
            "input": ["text", "image"],
            "contextWindow": 400000,
            "maxTokens": 128000
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "codyrouter-claude/claude-opus-4-6",
        "fallbacks": ["codyrouter-gpt/gpt-5.3-codex"]
      }
    }
  }
}

如果設定檔裡已經有 agents 欄位,不要貼上第二個同名 agents,而是把 defaults.model 合併進去。JSON 同一層級出現兩個同名 key 時,後面的會覆蓋前面的。

Allowlist

如果你的設定裡有 models.allowlist,還需要把新增模型加入白名單:

json
{
  "models": {
    "allowlist": [
      "codyrouter-claude/claude-opus-4-6",
      "codyrouter-gpt/gpt-5.3-codex"
    ],
    "providers": {}
  }
}

如果沒有 allowlist 欄位,通常不需要額外處理。

重啟 Gateway

保存設定後重啟 OpenClaw:

bash
openclaw gateway restart
openclaw gateway status

狀態為 active (running) 表示服務已經生效。

Telegram 配對

給 Telegram Bot 發任意訊息。第一次會返回類似下面的配對資訊:

text
OpenClaw: access not configured.
Your Telegram user id: xxxxxxxx
Pairing code: XXXXXXXX

回到伺服器終端機執行:

bash
openclaw pairing approve telegram <你的配對>

看到 Approved 後,再給 Bot 發一條訊息。如果能正常回覆,部署完成。

檢查項

  • Claude provider 使用 https://api.codyrouter.com + anthropic-messages
  • GPT / Codex provider 使用 https://api.codyrouter.com + openai-responses
  • 模型 ID 可以寫成 codyrouter-claude/claude-opus-4-6claude-opus-4-6,但模型名稱必須和 模型名稱列表 完全一致。
  • 設定檔裡不要出現重複的 agentsmodels 頂層 key。
  • 如果請求返回 401403429,先檢查 API Key、帳戶額度和模型權限。

CodyRouter 整合文件。