☰
OpenClaw(AI Agent) Ubuntu 系统部署教程:把 settings 改到 TaoToken 打通微信接入
2026/10/7 19:41:53 网站建设 项目流程

1. 为什么要在 Ubuntu 上把 OpenClaw 的模型通道换成 TaoToken

OpenClaw 是一个可以跑在自己服务器上的 AI Agent 框架,它能接企业微信、个人微信、飞书、钉钉这些入口,把大模型能力塞进日常聊天工具里。你发一句话,它调用模型、执行 skill、再把结果回给你,整个过程像在跟一个住在服务器里的助手对话。适合谁?适合手里有一台 Ubuntu 机器、想让 AI 帮自己处理消息和任务、又不想被单一模型厂商额度卡住的人。

我这次部署的起点和很多人一样:先用阿里云百炼的免费 API 把 OpenClaw 跑起来。百炼确实友好,新账号送一批免费 token,控制台里申请一个 API Key 就能用,模型市场里 kimi、qwen 这些都能选。但用着用着问题就来了——免费额度有时限,模型切换要改配置,多个 Agent 共用一套 Key 时额度混在一起不好管。更麻烦的是,如果你后面还想接别的模型,就得在openclaw.json里反复改baseUrl和apiKey,每换一次都要重启网关。

所以这篇教程的重点不是"怎么装 OpenClaw",而是装完之后怎么把模型通道统一改到 TaoToken。TaoToken 提供的是 OpenAI 兼容的 API 通道,一个 Key 可以走多个模型,Base URL 固定,配置一次就能长期用。对 OpenClaw 这种把 provider 写在 JSON 里的框架来说,改 endpoint 比换厂商省事得多。下面我会从 Ubuntu 前置依赖开始,一路写到企业微信回调验证,中间所有配置文件都给可复制的片段。

先明确一个概念:OpenClaw 里的"模型提供商"和"消息渠道"是两套独立配置。models.providers管的是模型从哪来,channels管的是消息从哪进。我们这次动的是前者,把dashscope那套换成 TaoToken 的兼容端点;后者企业微信的配置照旧。这样改完,微信消息进来后走的还是 OpenClaw 的 Agent 逻辑,只是底层模型请求发到了 TaoToken。

2. Ubuntu 前置依赖与 OpenClaw 安装:Git、Node.js 22、Cmake 一个都不能少

Ubuntu 上装 OpenClaw,前置库这块最容易卡人。官方安装脚本会检查 Git、Node.js 和 Cmake,版本不够直接报错退出。我建议先手动把这三个装好,再跑安装脚本,能省掉很多"脚本跑到一半失败"的排查时间。

先更新软件源,然后装 Git:

sudo apt update sudo apt install -y git

Node.js 要求 22 或更新版本。Ubuntu 自带的 apt 源里版本通常偏低,用 NodeSource 的源装:

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

装完验证一下:

node -v npm -v

node -v输出应该是v22.x.x这种。如果还是旧版本,说明 PATH 里有别的 node,用which node看一下路径。

Cmake 要求 3.19 以上。Ubuntu 22.04 自带的 cmake 版本可能刚好卡在边界,稳妥起见用 Kitware 的源:

sudo apt install -y wget gnupg lsb-release wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add - sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" sudo apt update sudo apt install -y cmake

$(lsb_release -cs)会自动取你当前 Ubuntu 的代号,比如 jammy、focal,不用手动改。装完cmake --version确认一下。

三个依赖齐了之后,跑 OpenClaw 官方安装脚本:

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

安装器会走一个新手引导,问你要不要加 skill、选哪些能力。这一步按自己喜好来,不确定就选默认。装完后 OpenClaw 会尝试打开 Gateway Dashboard,如果你的 Ubuntu 是纯命令行没有桌面环境,浏览器打不开是正常的,后面我们用 SSH 转发或者直接改配置走公网访问。

这里有个坑要提前说:如果你用的是阿里云、腾讯云这类云服务器,安全组里必须放行 18789 端口,否则 Dashboard 和后面的企业微信回调都进不来。放行规则是 TCP 18789,来源可以先设成你的固定 IP,调试阶段图省事设0.0.0.0/0也行,但调完记得收紧。

Dashboard 访问不了的话,打开 OpenClaw 目录下的openclaw.json,找到gateway段,把bind改成lan,allowedOrigins填你的公网地址,再加两个开关:

"gateway": { "port": 18789, "mode": "local", "bind": "lan", "controlUi": { "allowedOrigins": [ "http://你的公网IP:18789" ], "allowInsecureAuth": true, "dangerouslyDisableDeviceAuth": true }, "auth": { "mode": "token", "token": "你的DashboardToken" } }

改完重启网关:

openclaw gateway restart

然后浏览器访问http://你的公网IP:18789/?token=你的DashboardToken。注意这个地址和 token 别往外发,公网暴露的 Dashboard 等于把 Agent 的控制权交出去。

3. 把 settings 改到 TaoToken:openclaw.json 里的 models.providers 完整配置

这一步是整篇的核心。OpenClaw 默认用阿里云百炼时,models.providers里写的是dashscope,baseUrl指向https://dashscope.aliyuncs.com/compatible-mode/v1。我们要做的是把这个 provider 换成 TaoToken 的兼容端点,Key 换成 TaoToken 的 API Key。

先拿到 TaoToken 的 API Key。登录官网后进控制台,在 API Keys 页面创建一个新 Key,复制出来。这个 Key 就是后面配置里apiKey字段的值。TaoToken 的 API 基础地址是https://taotoken.net/api,OpenClaw 走 OpenAI 兼容模式,所以baseUrl填这个地址即可。

打开openclaw.json,找到models段,改成下面这样。注意providers下面的键名我用了taotoken,你可以叫别的,但agents.defaults.model.primary里的前缀必须跟它一致:

{ "models": { "mode": "merge", "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKey": "你的TaoTokenAPIKey", "api": "openai-completions", "models": [ { "id": "claude-sonnet-4-5", "name": "Claude Sonnet 4.5", "reasoning": true, "input": ["text", "image"], "contextWindow": 200000, "maxTokens": 64000, "compat": { "supportsDeveloperRole": false, "supportsStrictMode": false } } ] } } }, "agents": { "defaults": { "model": { "primary": "taotoken/claude-sonnet-4-5" }, "compaction": { "mode": "safeguard" } } } }

几个字段解释一下。api固定写openai-completions,因为 TaoToken 提供的是 OpenAI 兼容接口。models数组里可以放多个模型,每个模型有自己的id、contextWindow、maxTokens。id是调用时用的模型标识,name是显示名。compat里的开关按模型特性来,不确定就保持false。

如果你之前配过百炼,记得把dashscope那个 provider 整段删掉,或者至少把agents.defaults.model.primary改成taotoken/前缀,否则 OpenClaw 还是会走旧通道。改完配置后重启网关:

openclaw gateway restart

重启后进 Dashboard,在对话界面发一条测试消息。如果模型正常返回,说明 TaoToken 通道已经通了。这一步的验证很关键,因为后面企业微信接入后,消息最终也是走这条模型通道,模型不通的话微信那边只会一直转圈。

有个细节要注意:baseUrl结尾不要带/v1。TaoToken 的 API 地址是https://taotoken.net/api,OpenClaw 内部会按 OpenAI 兼容格式拼接路径。如果你手滑写成https://taotoken.net/api/v1,请求会 404。这个坑我踩过,排查了半天才发现是路径多了一段。

另外,如果你想让不同 Agent 用不同模型,可以在agents下面定义多个 agent,每个 agent 的model.primary指向不同的taotoken/模型id。这样一套 Key 就能跑多个模型,不用来回改配置。

4. 企业微信接入:回调地址、Token、EncodingAESKey 与 openclaw.json 的 channels 配置

模型通道通了之后,接下来把企业微信接进来。OpenClaw 官方本身不直接支持企业微信,需要装一个中国区插件。插件地址在 GitHub 上,叫openclaw-china,支持飞书、钉钉、QQ、企业微信和个人微信。我们这次用企业微信这条线。

先装插件:

openclaw plugins install @openclaw-china/wecom-app openclaw china setup

openclaw china setup是插件的配置向导,会引导你填企业微信的参数。如果你想手动配,也可以直接改openclaw.json。

企业微信这边需要先创建一个自建应用。登录企业微信管理后台,左侧菜单点「应用管理」,在「自建」区域点「创建应用」,填个应用名称和 logo,创建成功后进入应用详情页。这里要记三个东西:

AgentId 在应用详情页顶部,是一串数字,比如1000002。Secret 点「查看」获取,这个就是corpSecret。企业 ID 在左侧「我的企业」页面底部,叫「企业 ID」,这个就是corpId。

拿到这三个值后,回到应用详情页,找到「接收消息」设置,点「设置 API 接收」。这里要填三样:

URL 填 OpenClaw Gateway 的公网地址加回调路径,格式是http://你的公网IP:18789/wecom-app?token=你的随机Token。如果你有域名,可以用https://你的域名.com/wecom-app。Token 点「随机获取」生成一个,或者自己定一个字符串。EncodingAESKey 也点「随机获取」,是 43 位字符。

注意顺序:先在 OpenClaw 这边把配置写好、网关重启好,再回企业微信后台点「保存」。反过来的话,企业微信会发验证请求,OpenClaw 没起来就会提示验证失败。

OpenClaw 这边的配置,手动改openclaw.json的话,在channels段加wecom-app:

{ "channels": { "wecom-app": { "enabled": true, "webhookPath": "/wecom-app", "token": "你的随机Token", "encodingAESKey": "你的43位EncodingAESKey", "corpId": "你的企业ID", "corpSecret": "你的应用Secret", "agentId": 1000002, "asr": { "enabled": false }, "inboundMedia": { "enabled": true, "maxBytes": 10485760, "keepDays": 7 } } } }

webhookPath要跟企业微信后台 URL 里的路径一致,都是/wecom-app。token和encodingAESKey必须跟后台填的一模一样,差一个字符都会验证失败。agentId是数字类型,不要加引号。asr是语音识别,需要额外的腾讯云配置,暂时用不上就设false。inboundMedia管的是接收图片、文件这些媒体消息,maxBytes是单文件大小上限,keepDays是保留天数。

改完重启网关:

openclaw gateway restart

然后回企业微信后台,在「接收消息」设置里点「保存」。如果配置正确,会提示保存成功。如果提示失败,先看 OpenClaw 日志有没有收到请求,再看 token 和 AESKey 是否一致。

还有一步别漏:在应用详情页的「企业可信 IP」设置里,把你服务器的公网 IP 加进去。企业微信只允许白名单 IP 接收回调,不加的话消息进不来。

5. 常见报错排查:401、local proxy failed、reading choices、OAuth 验证失败

部署过程中最容易撞上的几类报错,我按实际遇到的顺序列一下,每个都给排查方向。

401 Unauthorized:这个基本是 API Key 的问题。先确认openclaw.json里taotoken.apiKey填的是完整的 Key,没有多余空格。然后确认baseUrl是https://taotoken.net/api,没有多写/v1。如果 Key 是对的但还报 401,去 TaoToken 控制台看一下这个 Key 的状态,是不是被禁用或者额度用完了。还有一种情况是 Key 复制时漏了尾部字符,重新复制一次。

local proxy failed:这个报错通常出现在 OpenClaw 启动阶段,意思是本地代理起不来。常见原因是 18789 端口被占用。用sudo lsof -i:18789看一下谁占着,如果是残留的 OpenClaw 进程,kill掉再重启。另一个原因是gateway.bind设成了lan但allowedOrigins没配对你的访问地址,导致控制台请求被拒。检查allowedOrigins里的 IP 和端口跟你浏览器地址栏是否一致。

reading choices 相关报错:这个一般出现在模型返回格式不对的时候。OpenClaw 期望 OpenAI 兼容格式的响应,里面有choices数组。如果 TaoToken 返回的模型 ID 写错了,或者api字段没设成openai-completions,解析就会失败。检查models.providers.taotoken.models[].id是不是 TaoToken 支持的模型标识,以及api字段的值。另外compat里的supportsStrictMode如果设成true但模型不支持,也可能导致响应异常,先设false试。

OAuth 验证失败 / 企业微信保存失败:企业微信后台点保存时提示验证失败,九成是 OpenClaw 这边没准备好。按这个顺序查:网关是否在运行(openclaw gateway status)、18789 端口是否放行、webhookPath是否跟 URL 路径一致、token和encodingAESKey是否跟后台完全一致。还有一个容易忽略的点:企业微信回调要求 URL 能公网访问,如果你在本地虚拟机里跑,企业微信的请求根本到不了,必须是有公网 IP 的服务器。

消息发出去没回复:企业微信后台保存成功了,但发消息没反应。先看 OpenClaw 日志有没有收到 inbound 消息。如果收到了但没回复,说明模型通道有问题,回到第 3 步验证 TaoToken 通道。如果日志里连 inbound 都没有,检查「企业可信 IP」白名单是否加了服务器 IP。

排查的时候养成看日志的习惯:

openclaw gateway logs -f

这个命令会实时输出网关日志,消息进来、模型调用、回复发出,每个环节都有记录。比盲猜快得多。

6. 端到端验证与后续:从微信发一条消息到 Agent 回复的完整链路

配置都完成后,做一次端到端验证。打开企业微信 App,找到你创建的那个应用,发一条消息,比如「你好,帮我列一下今天的待办」。然后看 OpenClaw 日志,应该能看到类似这样的流程:收到 wecom-app 的 inbound 消息、调用 taotoken 的模型、返回结果、通过 wecom-app 发回企业微信。

如果这条链路走通了,说明整个部署完成:Ubuntu 上的 OpenClaw 跑起来了,模型通道走的是 TaoToken,企业微信回调也通了。

个人微信这边,回到企业微信后台,在「我的企业」设置里找到「微信插件」,用个人微信扫码「邀请关注」的二维码,就能在个人微信里打开入口。这样你不用装企业微信 App,直接用个人微信就能跟 Agent 对话。

后续如果想换模型,只需要改openclaw.json里models.providers.taotoken.models数组,加一个新模型,然后把agents.defaults.model.primary指过去,重启网关就行。不用换 Key,不用改 baseUrl,这是统一通道最省事的地方。

如果后面要接飞书或者钉钉,插件也支持,装对应的 channel 插件,在channels段加配置即可。模型通道不用动,还是走 TaoToken。

最后提醒一句:公网暴露的 Gateway 一定要设好 token,dangerouslyDisableDeviceAuth这个开关只在调试阶段开,正式用的时候建议关掉,改用正常的设备认证。企业微信的 Secret 和 EncodingAESKey 也别泄露,这些等于你应用的钥匙。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询