1. 为什么要在腾讯云上跑 OpenClaw 接飞书
OpenClaw 是一个开源的个人 AI 助手平台,核心定位是"能做事的数字员工"——它不只是聊天,还能调用本地工具、操作文件、访问外部 API,通过飞书、Telegram 这类聊天软件接收指令并执行真实任务。适合想从零搭建飞书机器人、又不想被单一模型厂商绑死的开发者。
我这次落地的路径是:腾讯云轻量应用服务器 + OpenClaw + 飞书自建应用 + TaoToken 统一 Key。选腾讯云是因为镜像部署省事,选 TaoToken 是因为它把多家模型的调用收敛成一个 API 通道,OpenClaw 里只配一份 Key 就能切换模型,不用每换一个模型就改一遍配置。
整篇按"能跟做"来写:先讲清楚 OpenClaw 是什么、适合谁,再给腾讯云上的部署路径,然后是可复制的config.toml和settings.json骨架,接着用一条飞书消息回环验证收发,最后把几个高频报错摊开讲。你照着走一遍,应该能在半小时内看到飞书里机器人回你消息。
2. TaoToken 前置:统一 Key 与 API 通道
OpenClaw 的模型配置支持自定义 OpenAI 兼容端点,这意味着只要有一个兼容/v1/chat/completions的 API 地址和 Key,就能接进去。TaoToken 提供的正是这个通道:一个 Key、一个 Base URL,背后可以路由到不同模型。
你需要先拿到两样东西:
- API Key:在 TaoToken 控制台的 API Keys 页面创建,形如
sk-xxxx,创建后只显示一次,复制保存好。 - Base URL:
https://taotoken.net/api,注意这个地址不带任何查询参数,直接填进配置。
模型名怎么填?TaoToken 的模型列表在文档里有对照表,常见的有claude-sonnet-4-5、gpt-4o、deepseek-chat这类。OpenClaw 的model字段填的就是这个模型标识,不是厂商原始名。如果你不确定当前账号能用哪些,去模型对话页面发一条测试消息,能通说明这个模型对你可用。
注意:API Key 不要硬编码进代码仓库,也不要贴在飞书群里。OpenClaw 的配置文件在服务器上,权限设成 600,只让运行用户可读。
这一步做完,你手里应该有一个 Key 和一个 Base URL,下一节直接写进配置。
3. 可复制配置:config.toml 与 settings.json 骨架
OpenClaw 的配置分两层:config.toml管网关、模型、通道这些运行时参数;settings.json管飞书插件侧的凭证和事件。两个文件都在 OpenClaw 的工作目录下,默认是~/.openclaw/。
先看config.toml的骨架,重点是[model]段:
# ~/.openclaw/config.toml [gateway] host = "127.0.0.1" port = 18789 # 不要改成 0.0.0.0,网关不要暴露公网 [model] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的TaoToken密钥" model = "claude-sonnet-4-5" max_tokens = 4096 temperature = 0.7 [agent] name = "feishu-assistant" sandbox = true memory_dir = "~/.openclaw/memory" [channel.feishu] enabled = true app_id = "cli_xxxxxxxx" app_secret = "xxxxxxxxxxxxxxxx"几个参数说明:provider固定写openai-compatible,因为 TaoToken 走的是 OpenAI 兼容协议;base_url结尾不要带/v1,OpenClaw 会自己拼;sandbox = true建议开着,非信任会话在沙盒里跑,降低误操作风险。
再看settings.json,这个文件主要给飞书插件读:
{ "feishu": { "app_id": "cli_xxxxxxxx", "app_secret": "xxxxxxxxxxxxxxxx", "verification_token": "你的VerificationToken", "encrypt_key": "你的EncryptKey", "event_mode": "long_connection", "allowed_users": ["ou_xxxxxxxx"], "reply_in_thread": false }, "logging": { "level": "info", "file": "~/.openclaw/logs/feishu.log" } }event_mode填long_connection,这样飞书事件通过长连接推过来,不用公网回调地址,省掉内网穿透那一步。allowed_users填你自己的飞书 open_id,只信任自己的账号,别人发消息机器人不理。
两个文件写完,重启网关让配置生效:
openclaw gateway restart openclaw statusstatus输出里应该能看到 model 段显示openai-compatible、channel 段显示feishu: connected。如果 feishu 显示disconnected,先别急着往下走,去第 5 节对号入座。
4. 验证请求:一条飞书消息回环
配置对不对,发一条消息就知道。但在发消息之前,先在服务器本地验证模型通道通不通,这样能把"模型问题"和"飞书问题"分开。
本地验证用 curl 直接打 TaoToken 的接口:
curl -s https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-你的TaoToken密钥" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-4-5", "messages": [{"role": "user", "content": "只回复两个字:通了"}] }'返回里choices[0].message.content是"通了",说明 Key、Base URL、模型名三样都对。如果返回 401,是 Key 问题;返回 404,多半是模型名写错或 base_url 多了/v1。
本地通了之后,去飞书工作台找到你的应用,打开私聊窗口,发一句"你好,帮我看看现在几点"。正常的话几秒内机器人会回消息。如果没回,看服务器日志:
tail -f ~/.openclaw/logs/feishu.log日志里会打印收到的事件和 Agent 的处理过程。看到event received但没有reply sent,说明消息进来了但 Agent 没生成回复,回去查 model 段;看到connection closed反复出现,是长连接没建起来,查飞书后台的事件订阅配置。
回环验证成功的标志:飞书里收到回复,日志里reply sent后面跟着消息 ID。到这一步,整条链路就通了。
5. 本篇常见错排查
报错一:openclaw: command not found
镜像里命令名可能是moltbot或clawdbot,老模板兼容。先which openclaw moltbot clawdbot看哪个存在,用存在的那个。如果都不存在,说明镜像没装好,重装镜像或手动npm i -g openclaw。
报错二:飞书长连接建不起来,日志刷connection closed
三个检查点:飞书后台"事件与回调"里长连接开关有没有打开;settings.json里event_mode是不是long_connection;应用版本有没有发布并通过审批。没发布的应用,事件推不过来。
报错三:模型返回 401 或 403
Key 复制时带了空格,或者 Key 被禁用。重新在 TaoToken 控制台生成一个,粘贴时注意首尾不要有空白字符。另外确认base_url是https://taotoken.net/api,不是带 UTM 的官网地址。
报错四:飞书里发消息没反应,日志也没有 event received
应用权限没配全。去飞书后台"权限管理"里,把im:message、im:message.p2p_msg:readonly、im:message:send_as_bot这几个加上,然后重新发布版本。权限变更必须重新发布才生效。
报错五:Agent 回复很慢或超时
max_tokens设太大,或者模型本身响应慢。先把max_tokens降到 2048 试试。如果还是慢,换一个模型标识,比如从claude-sonnet-4-5换成deepseek-chat,在 TaoToken 的模型对话页面先测一下响应速度再写进配置。
6. 接下来怎么走
链路通了之后,你可以做两件事让这个助手更实用。一是加技能插件,OpenClaw 的 Skills 机制能让 Agent 调浏览器、读文件、访问邮箱,装插件用openclaw plugins install <插件名>,装完在config.toml的[agent]段确认sandbox策略。二是把模型切换做成常态,TaoToken 的好处就在这里——改config.toml里一行model字段,重启网关就换模型,不用动 Key 和 Base URL。
如果你打算长期跑编码类任务或 Agent 工作流,可以去 TaoToken 的 Coding Plan 页面看看套餐,比按量计费更适合高频调用。接入过程中遇到配置问题,API Keys 页面和接入文档里有完整的参数对照;想先验证某个模型能不能用,直接去模型对话页面发一条消息最快。