1. 为什么我建议你用 OpenClaw 搭一个飞书 AI 助手
如果你正在搜 OpenClaw 飞书对接、Clawdbot 改名后怎么用、或者想找一个能真正在飞书里干活的 AI 助手,那这篇就是写给你的。OpenClaw(原 Clawdbot,中间还短暂叫过 Moltbot)是一个跑在你自己设备上的开源 AI 智能体,它和普通聊天机器人的最大区别是:它不只是回答你“怎么做”,而是能直接帮你“做出来”。你可以把它理解成一个 24 小时待命的数字员工,驻扎在你的电脑或服务器里,通过飞书这类聊天工具接收指令,然后调用大模型去执行任务。
对零基础读者来说,最友好的地方在于:OpenClaw 本身是一个“编排层”,它不绑定某一家模型。你完全可以用 TaoToken 的统一 Key 和 API 通道,把模型能力接进来,省去在多个平台之间反复注册、切换、管理密钥的麻烦。整条链路是:你在飞书里发一条消息 → 飞书事件推送给 OpenClaw → OpenClaw 调用大模型 → 结果回到飞书。这篇教程会带你从 Node.js 环境开始,一步步把这条链路跑通,并给出可复制的 config.toml 与 settings.json 骨架。
适合谁看:会用一点命令行、但没接触过 AI Agent 的小白;想给团队内部做一个飞书机器人的开发者;以及手里有闲置电脑或云服务器、想跑个私人 AI 助手的人。下面所有步骤我都尽量给到完整命令和参数,你照着敲就行。
2. 前置准备:Node.js 环境与 TaoToken 统一 Key
2.1 安装 Git 与 Node.js 22
OpenClaw 需要 Git 拉取组件,需要 Node.js 运行内部服务。先装 Git:
sudo apt update sudo apt install git -y接着装 NVM(Node 版本管理器),这样后面切换 Node 版本会方便很多:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install 22 node -vnode -v输出v22即可,版本只要 22 就行。如果你用的是 macOS,把apt换成brew即可;Windows 建议在 WSL2 里操作,避免路径和权限的坑。
2.2 为什么用 TaoToken 统一 Key
OpenClaw 支持多模型,但如果你每个模型都去单独申请 Key、单独配一遍,配置会非常散。TaoToken 提供统一的 API 通道,你只需要一个 Key,就能在 OpenClaw 里切换不同模型。对新手来说,这能省掉大量“这个平台怎么注册、那个平台额度怎么查”的时间。
你需要提前准备好两样东西:一个是 TaoToken 的 API Key,一个是确认好你要用的模型名。Key 的获取入口在控制台的 API Keys 页面,建议单独建一个给 OpenClaw 用,方便后续排查和轮换。
注意:Key 属于敏感信息,不要直接提交到 Git 仓库,也不要在截图里暴露完整字符串。建议放在环境变量或本地配置文件里。
2.3 安装 OpenClaw
用官方脚本安装:
curl -fsSL https://openclaw.bot/install.sh | bash执行后会出现交互式引导。几个关键选择我列一下,避免你卡住:
| 引导项 | 建议选择 | 说明 |
|---|---|---|
| 是否继续 | yes | 确认安装 |
| 安装模式 | QuickStart | 快速开始 |
| 模型选择 | 先跳过或选通用 | 后面用 TaoToken 统一接 |
| Channel 选择 | Skip for now | 飞书不在默认列表,稍后装插件 |
| 包管理器 | pnpm 或 npm | 两者都行,pnpm 更快 |
| API_KEY 设置 | 全部 No | 统一走 TaoToken |
| 启动方式 | TUI | 文本界面,方便看日志 |
看到 TUI 界面出现,说明 OpenClaw 安装成功。此时服务默认监听18789端口,浏览器访问http://localhost:18789/会提示未授权,回到服务器执行:
openclaw dashboard复制输出的带 token 的 URL 再去访问,就不会报错了。
3. 可复制配置:config.toml 与 settings.json 骨架
3.1 config.toml 骨架
OpenClaw 的主配置一般在~/.openclaw/config.toml。下面是一个可直接改用的骨架,重点是把模型通道指向 TaoToken:
[gateway] port = 18789 host = "0.0.0.0" [model] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的TaoTokenKey" model = "你的模型名" temperature = 0.7 max_tokens = 2048 [channels.feishu] enabled = true app_id = "cli_你的AppID" app_secret = "你的AppSecret" connection_mode = "websocket"这里base_url填 TaoToken 的 API 地址,api_key填你在控制台生成的 Key。connection_mode用websocket长连接,这样飞书事件能实时推过来,不用公网回调地址,对本地或内网部署特别友好。
3.2 settings.json 骨架
部分插件和渠道配置会落在~/.openclaw/settings.json,骨架如下:
{ "feishu": { "appId": "cli_你的AppID", "appSecret": "你的AppSecret", "verificationToken": "你的VerificationToken", "encryptKey": "你的EncryptKey", "eventMode": "long_connection", "subscribeEvents": [ "im.message.receive_v1" ] }, "agent": { "name": "feishu-assistant", "systemPrompt": "你是运行在飞书里的AI助手,回答简洁、可执行。", "maxHistory": 20 } }subscribeEvents里至少要包含im.message.receive_v1,这是接收消息的核心事件。verificationToken和encryptKey在飞书应用后台能拿到,长连接模式下主要用于校验,别填错。
3.3 安装飞书插件并重启
openclaw plugins install @m1heng-clawd/feishu openclaw gateway restart重启后确认插件加载成功,日志里能看到 feishu 相关初始化信息。
4. 飞书事件订阅配置与最小验证
4.1 创建飞书应用与事件订阅清单
登录飞书开发者平台,创建企业自建应用。然后按下面清单逐项配置:
| 配置项 | 位置 | 值 |
|---|---|---|
| 订阅方式 | 事件订阅 | 长连接 |
| 事件 | 消息与群组 | 接收消息 im.message.receive_v1 |
| 权限 | 权限管理 | contact:contact.base:readonly |
| 权限 | 权限管理 | contact:user.base:readonly |
| 权限 | 权限管理 | im:message |
| 权限 | 权限管理 | im:message.group_at_msg:readonly |
| 权限 | 权限管理 | im:message.group_msg |
| 权限 | 权限管理 | im:message.p2p_msg:readonly |
配置完点击创建版本并发布。把 App ID 和 App Secret 填回前面的 config.toml 和 settings.json。
4.2 把飞书集成到 OpenClaw
在服务器执行:
openclaw channels add按提示选择飞书渠道,填入 App ID 和 App Secret。国内飞书选第一个,国际版选第二个。测试阶段可以先选较宽松的策略,跑通后再收紧。完成后回车结束集成。
4.3 最小验证动作
现在做一条消息的端到端验证。在飞书里找到你的机器人,发一句:
你好,帮我确认链路是否通畅预期链路是:飞书把消息通过长连接推给 OpenClaw → OpenClaw 读取 config.toml 里的模型配置 → 请求 TaoToken 的 API 通道 → 模型返回结果 → OpenClaw 把结果发回飞书。
如果飞书里收到了回复,说明链路已通。此时你可以回到服务器看日志:
openclaw logs --follow日志里应该能看到收到im.message.receive_v1事件、发起模型请求、返回响应的完整过程。这一步是整个教程的关键验证点,通了之后再去做复杂任务才有意义。
5. 本篇常见报错排查
5.1 飞书收不到任何回复
先确认三件事:机器人是否已被拉进会话或添加为联系人;事件订阅是否选了长连接且勾了接收消息;openclaw gateway restart之后插件是否真的加载。可以在日志里搜feishu,如果没有初始化记录,说明插件没装好,重装一次:
openclaw plugins install @m1heng-clawd/feishu openclaw gateway restart5.2 模型请求 401 或 403
多半是 Key 或 base_url 写错。检查 config.toml 里base_url是否为https://taotoken.net/api,api_key是否完整、有没有多余空格。如果 Key 是在控制台刚生成的,确认没有复制到换行符。改完配置后记得重启 gateway。
5.3 端口 18789 被占用
lsof -i :18789找到占用进程后 kill 掉,或者改 config.toml 里的port。改端口后 dashboard 的 URL 也要跟着换。
5.4 长连接频繁断开
检查服务器网络是否稳定,以及飞书应用版本是否已发布。未发布的版本事件不会真正推送。另外确认verificationToken和encryptKey与后台一致,填错会导致校验失败、连接被拒。
5.5 Node 版本不对导致启动失败
node -v必须是 22。如果还是旧版本,用nvm use 22切换,再重启 OpenClaw。
6. 把 Key 和通道固定下来,后续才好扩展
链路跑通之后,建议你做的第一件事是把模型配置和渠道配置分离管理:模型相关的 base_url、api_key、model 放在一处,飞书相关的 app_id、app_secret 放在另一处。这样以后你想换模型、加渠道,改动面会小很多。TaoToken 的统一 Key 在这里的价值就体现出来了——你不需要为每个模型维护一套凭证,换模型只改一个model字段。
如果你后面要做长期编码或 Agent 类任务,可以了解下 Coding Plan,把额度用在持续性的开发场景上;如果只是想先验证模型对话效果,可以直接在模型对话里试;接入和排障过程中需要的 Key 与文档,分别在 API Keys 和接入文档里。把这条飞书到 OpenClaw 再到大模型的最小链路跑稳,后面加定时任务、文件操作、多群管理,都是在这个骨架上叠功能而已。