1. 为什么我要把 OpenClaw 接到飞书上
OpenClaw 是一个本地优先的开源 AI Agent,你可以把它理解成一个「常驻在自己机器上的数字员工」:它跑在你本机或服务器上,通过大模型理解指令,然后去执行读写文件、跑命令、查资料、发消息这类任务。它最大的特点是交互入口不是网页,而是你日常用的消息平台——Telegram、Discord、Slack、飞书都行。对国内用户来说,飞书是最顺手的选择:企业自建应用支持 WebSocket 长连接,不需要公网 IP,也不用折腾内网穿透,消息能实时推到本地的 OpenClaw 进程里。
但真正动手时,卡人的往往不是 OpenClaw 本身,而是模型接入这一段。OpenClaw 要调用大模型,就得配 API Key、Base URL、模型名,如果你同时用 Anthropic、OpenAI、DeepSeek 好几家,配置会散落在不同文件里,换一个模型就要改一遍,团队协作时更是每人一套 Key,管理起来很乱。我这次的做法是用 TaoToken 做统一入口:一个 Key、一个 API 通道,把 OpenClaw 的模型请求全部收口,配置文件里只维护一份凭证。下面这篇就把 Node.js 和 Docker 两种安装方式、飞书频道接入、以及 TaoToken 的配置骨架完整走一遍,配置都能直接复制。
适合谁看:已经会用命令行、想在自己机器或小服务器上跑一个 AI Agent 的开发者;想给团队搭一个飞书里能直接对话的自动化助手的同学;以及被多模型 Key 管理烦到、想统一收口的人。如果你完全没碰过命令行,建议先补一下 Node.js 和 Docker 的基础操作再往下看。
2. 前置准备:Node.js、Docker 与 TaoToken 统一 Key
2.1 环境要求先对齐
OpenClaw 对 Node.js 版本有硬要求,必须 22.12.0 及以上,低版本会在启动阶段直接报错。硬件上最低 1GB 内存能跑起来,但真要让它同时处理消息和模型请求,建议 4GB 以上,硬盘留 5GB。操作系统 macOS、Linux(Ubuntu 20.04+)都行,Windows 官方不支持原生运行,得走 WSL2。
Node.js 版本管理我建议用 nvm,别用系统包管理器装,Ubuntu 自带的 Node 版本往往太旧,后面会和你手动装的版本打架。装好后确认一下:
node -v # 期望输出 v22.12.0 或更高 npm -vDocker 方式则要求 Docker Engine 24+ 和 Docker Compose v2,用docker compose version确认。
2.2 为什么用 TaoToken 统一 Key
OpenClaw 的模型配置支持多家提供商,但每接一家就要填一套凭证。TaoToken 的价值在于它提供一个兼容主流接口规范的统一 API 通道,你只需要一个 Key,就能在 OpenClaw 里切换不同模型,不用为每家单独维护配置。对 OpenClaw 这种会把 Key 写进本地配置文件的工具来说,凭证越少、越集中,泄露面和维护成本就越低。
你需要先去 TaoToken 控制台创建一个 API Key。入口在这里:
控制台(创建和管理 Key):https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite
API Key 管理页:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite
创建完把 Key 复制出来,形如sk-xxxx,后面配置里会用到。API 的基础地址是https://taotoken.net/api,注意这个地址不带任何查询参数,配置时原样填入即可。
2.3 飞书自建应用先建好
飞书这边要提前准备:去飞书开放平台创建一个「企业自建应用」,拿到 App ID 和 App Secret。关键一步是在「事件订阅」里添加im.message.receive_v1事件,否则 OpenClaw 收不到任何消息。连接方式选「长连接」,这样不需要公网 IP。权限方面至少要开im:message相关的收发权限。这些在飞书后台点几下就能配好,具体按钮位置飞书文档写得很清楚,这里不展开。
3. 安装 OpenClaw:Node.js 与 Docker 两条路
3.1 Node.js 方式(npm 全局安装)
如果你本机已经有 Node 22,直接全局装:
npm install -g openclaw@latest openclaw --version版本号能正常打印就说明装好了。接着跑初始化向导:
openclaw onboard --install-daemon--install-daemon会把它注册成后台服务,开机自启。向导里会让你选 AI 提供商、填凭证、选模型、配 Gateway 端口。这里先随便选一个能跳过的选项,模型凭证我们后面直接改配置文件,用 TaoToken 统一填。
3.2 Docker 方式(服务器推荐)
Docker 隔离性更好,适合放在服务器上长期跑。先克隆仓库:
git clone https://github.com/openclaw/openclaw.git cd openclaw ./docker-setup.sh这个脚本会自动构建镜像、跑一遍向导、并创建配置目录~/.openclaw。跑完后用 compose 管理服务:
docker compose up -d docker compose logs -f如果日志里出现权限错误(EACCES),大概率是挂载目录的属主不对,执行:
sudo chown -R 1000:1000 ~/.openclawDocker 容器里 OpenClaw 以 UID 1000 运行,宿主机目录属主对不上就会写不进去,这个坑我第一次部署时踩过。
3.3 两种方式怎么选
本机日常用、想快速体验,选 npm 方式,改配置直接改本地文件,调试方便。放服务器长期运行、或者你不想让 Agent 直接碰宿主机文件系统,选 Docker,安全边界更清晰。两种方式最终都会读写~/.openclaw/下的配置文件,后面的配置对两者通用。
4. 用 TaoToken 统一 Key 对接 OpenClaw 配置
4.1 配置文件在哪
OpenClaw 的主配置是~/.openclaw/openclaw.json。向导跑完后这个文件已经存在,我们直接编辑它。Docker 方式下这个路径映射到容器内的对应目录,改宿主机上的文件即可,改完重启容器生效。
4.2 模型与凭证配置骨架
下面这份配置把模型请求指向 TaoToken 的统一通道。把apiKey换成你在控制台创建的那把 Key:
{ "agent": { "model": "claude-sonnet-4-5", "provider": { "type": "openai-compatible", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoToken密钥" } }, "gateway": { "bind": "loopback", "port": 18789 }, "exec": { "ask": "on" }, "channels": { "feishu": { "enabled": true, "appId": "cli_你的飞书AppID", "appSecret": "你的飞书AppSecret", "connectionMode": "websocket", "requireMention": true } } }几个关键点解释一下。provider.type用openai-compatible,因为 TaoToken 提供的是兼容主流接口规范的通道,OpenClaw 按这个类型去请求就能通。baseUrl填https://taotoken.net/api,不要加多余路径。agent.model填你想用的模型名,换模型只改这一行,Key 和地址都不用动,这就是统一入口的好处。
gateway.bind设成loopback,只允许本机访问,千万别改成0.0.0.0暴露到公网。exec.ask设成on,Agent 执行危险命令前会先问你,这是保命配置。
4.3 飞书频道配置要点
飞书这段的connectionMode用websocket,走长连接,不需要公网 IP。requireMention设true表示群里要 @ 机器人才响应,避免它在群里乱插话。App ID 和 App Secret 从飞书开放平台的应用凭证页复制。
如果你还想配 Telegram 做备用入口,逻辑一样,加一个telegram节点填 Bot Token 即可,但飞书对国内网络环境更友好,建议主力用飞书。
4.4 配置校验
改完配置先做一次健康检查:
openclaw doctor它会检查 Node 版本、配置文件语法、Gateway 端口占用、频道连通性。有报错按提示改,别急着启动。
5. 验证请求:从飞书发一条消息跑通全链路
5.1 启动服务并看日志
npm 方式:
openclaw gateway restart openclaw gateway logs --followDocker 方式:
docker compose restart docker compose logs -f日志里应该能看到 Gateway 在 18789 端口监听,以及飞书频道建立长连接成功的提示。
5.2 飞书里发起对话
在飞书里找到你创建的这个自建应用,给它发一条消息,比如「你好,帮我列一下当前目录的文件」。第一次对话可能需要配对审批,去终端执行:
openclaw pairing list openclaw pairing approve feishu <配对码>批准后 Agent 就会响应。如果它成功调用了模型并返回结果,说明 TaoToken 这条链路是通的。你可以在日志里看到模型请求的往返记录,确认请求确实打到了taotoken.net/api。
5.3 用模型对话页快速验证 Key
如果你只想先确认 Key 本身可用,不想动 OpenClaw,可以直接在 TaoToken 的模型对话页发一条测试消息:
模型对话(在线验证 Key 与模型):https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite
能正常返回内容,说明 Key 和通道没问题,剩下的就是 OpenClaw 配置的事了。这个排查顺序能帮你快速定位问题出在哪一层。
5.4 验证成功的标志
三个信号同时出现就算跑通:飞书里收到 Agent 的回复;终端日志里出现模型请求成功的记录;openclaw gateway status显示服务运行中。到这一步,你的 OpenClaw 已经是一个能在飞书里对话、背后由 TaoToken 统一供模型的 AI Agent 了。
6. 本篇常见错误排查
6.1 Node 版本冲突导致启动失败
报错通常是Unsupported engine或启动即退出。原因是系统里存在多个 Node 版本,OpenClaw 调到了旧的那个。解决:用 nvm 装 22.12.0+,nvm use 22切过去,再确认which node指向 nvm 的路径。Ubuntu 下如果之前用 apt 装过 nodejs,建议先sudo apt purge nodejs libnode-dev清掉。
6.2 飞书收不到消息
最常见的原因是事件订阅没配im.message.receive_v1,或者连接模式没选长连接。其次检查requireMention:如果设了true,群里必须 @ 机器人才响应,私聊不受影响。再确认配对是否已批准,openclaw pairing list里如果还有待处理请求,消息会被拦下。
6.3 模型请求 401 或 404
401 一般是 Key 填错或过期,去控制台重新生成一把。404 多半是baseUrl写错了,确认填的是https://taotoken.net/api,不要多加/v1之类的路径,也不要带查询参数。改完配置记得重启服务,OpenClaw 不会热加载配置文件。
6.4 Docker 权限错误
日志里出现EACCES或permission denied,执行sudo chown -R 1000:1000 ~/.openclaw。如果还不行,检查 compose 文件里的 volume 映射路径是否和实际配置目录一致。
6.5 端口 18789 被占用
openclaw doctor会提示端口冲突。改配置文件里gateway.port为其他值,比如 18790,重启即可。改完记得同步更新你任何依赖这个端口的本地脚本。
6.6 长连接频繁断开
飞书长连接对网络稳定性有要求。如果日志里反复出现重连,检查服务器出网是否稳定,以及是否有中间设备掐断长连接。这种情况可以考虑把 OpenClaw 部署在出网更稳的环境里。
7. 长期跑 Agent 与 Coding Plan 的选择
如果你只是偶尔用飞书问几句,上面这套配置足够了。但如果你打算让 OpenClaw 长期在线、频繁处理任务,或者把它当成日常编码、自动化工作流的一部分,模型调用量会明显上升,这时候按量计费的成本和额度管理就需要提前规划。
TaoToken 的 Coding Plan 面向的就是这种长期、高频的编码与 Agent 场景,适合把 OpenClaw 这类常驻 Agent 的模型调用统一纳入一个额度体系里管理:
Coding Plan(长期编码 / Agent 场景):https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite
接入相关的文档和参数说明都在这里,配置遇到不确定的字段可以对照查:
接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite
API Key 管理:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite
如果你用的是 Claude Code 这类 Anthropic 生态的工具,TaoToken 也有对应的接入说明:
Claude Code / Anthropic 接入:https://taotoken.net/claudecode-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claudecode-anthropic&utm_campaign=rewrite
我的建议是:先用统一 Key 把 OpenClaw 跑通,验证飞书链路和模型响应都正常,再根据实际调用量决定要不要上 Coding Plan。别一上来就买大套餐,先跑一周看看真实消耗,这个顺序最稳。