AiGoCode Docs

OpenClaw 接入

从零部署 OpenClaw,并通过 AiGoCode Provider 接入 Claude、Codex 模型

OpenClaw 是开源 Agent / Gateway 工具,适合把 Telegram、飞书、本地工具和多模型 provider 统一到一个入口。AiGoCode 可以作为 OpenClaw 的自定义模型提供商使用。

这篇文档分两部分:

  1. 快速接入:已经装好 OpenClaw,只需要接 AiGoCode 模型。
  2. 从零部署:在 Ubuntu / Debian 服务器上部署 Telegram Bot,并完成配对。

准备工作

  • 一台 Ubuntu / Debian 服务器,推荐 Ubuntu 22.04+。
  • Node.js 22+,OpenClaw 官方建议 Node.js 24。
  • 一个 AiGoCode 账号,并已创建 API Key。
  • 一个 Telegram 账号。

如果服务器还没有 Git 和 Node.js,可以先安装:

Ubuntu / Debian
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

安装 Git

安装 Node.js

安装 OpenClaw

Ubuntu / Debian
sudo npm install -g openclaw
openclaw --version
macOS / Linux
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw --version
Windows PowerShell
iwr -useb https://openclaw.ai/install.ps1 | iex
openclaw --version

安装 OpenClaw

申请 Telegram Bot

在 Telegram 里搜索 @BotFather,然后按下面流程创建机器人:

  1. 发送 /newbot
  2. 输入机器人昵称。
  3. 输入唯一用户名,必须以 bot 结尾。
  4. 复制 BotFather 返回的 Bot Token。

BotFather

新建 Bot

设置用户名

获取 Token

Bot Token 等同于机器人的最高权限密钥,不要发到公开聊天或仓库里。如果泄露,可以在 BotFather 中发送 /revoke 重新生成。

运行 Onboarding

在服务器终端启动交互式向导:

Terminal
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 很关键,因为 AiGoCode 是自定义 provider,需要后面手动写入配置。

确认继续

QuickStart

跳过 Provider

All providers

Keep current

选择 Telegram

填入 Token

跳过 Skills

启用 Hooks

验证成功

向导完成后,OpenClaw 会生成 ~/.openclaw/openclaw.json,并注册 Gateway 服务。看到 Onboarding complete 后,基础部署就完成了。

部署完成

配置 AiGoCode Provider

打开配置文件:

Terminal
nano ~/.openclaw/openclaw.json

如果没有 nano,可以安装后再打开:

Terminal
sudo apt install -y nano

在配置文件最外层合并下面的 modelsagents 片段。注意把 sk-your-api-key 换成你的真实 API Key。

~/.openclaw/openclaw.json
{
  "models": {
    "providers": {
      "aigocode-claude": {
        "baseUrl": "https://api.aigocode.com",
        "apiKey": "sk-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
          }
        ]
      },
      "aigocode-gpt": {
        "baseUrl": "https://api.aigocode.com",
        "apiKey": "sk-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": "aigocode-claude/claude-opus-4-6",
        "fallbacks": ["aigocode-gpt/gpt-5.3-codex"]
      }
    }
  }
}

如果配置文件里已经有 agents 字段,不要粘贴第二个同名 agents,而是把 defaults.model 合并进去。JSON 同一层级出现两个同名 key 时,后面的会覆盖前面的。

初始配置文件

添加 models 配置

指定默认模型

Allowlist

如果你的配置里有 models.allowlist,还需要把新增模型加入白名单:

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

如果没有 allowlist 字段,通常不需要额外处理。

重启 Gateway

保存配置后重启 OpenClaw:

Terminal
openclaw gateway restart
openclaw gateway status

状态为 active (running) 表示服务已经生效。

服务运行中

Telegram 配对

给 Telegram Bot 发任意消息。第一次会返回类似下面的配对信息:

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

回到服务器终端执行:

Terminal
openclaw pairing approve telegram <你的配对>

配对信息

看到 Approved 后,再给 Bot 发一条消息。如果能正常回复,部署完成。

部署成功

检查项

  • Claude provider 使用 https://api.aigocode.com + anthropic-messages
  • GPT / Codex provider 使用 https://api.aigocode.com + openai-responses
  • 模型 ID 必须和 模型名称列表 完全一致。
  • 配置文件里不要出现重复的 agentsmodels 顶层 key。
  • 如果请求返回 401403429,查看 错误码

常见问题

No API key found for provider anthropic

检查 models.providersagents.defaults.model.primary 是否一致,例如 primary 指向 aigocode-claude/claude-opus-4-6 时,provider 名必须是 aigocode-claude

端口被占用

OpenClaw Gateway 端口被占用时,可以先排查监听进程:

Terminal
ss -tlnp | grep 18789

openclaw: command not found

确认 npm 全局安装成功:

Terminal
npm list -g openclaw
npm config get prefix

如果安装了但命令找不到,通常是 npm 全局 bin 目录不在 PATH

参考

On this page