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 集成文档。