☰
飞书 × OpenClaw 接入指南:不用服务器,用长连接把机器人跑起来
2026/10/15 13:27:09 网站建设 项目流程

1. 飞书机器人为什么总卡在“没有公网服务器”这一步

很多人第一次做飞书机器人,卡住的地方不是代码,而是网络模型。飞书开放平台默认给你两种事件接收方式:一种是 Webhook,需要你提供一个公网可访问的 HTTPS 地址;另一种是长连接,由你的程序主动连到飞书云端,不需要公网 IP、不需要域名、不需要内网穿透。对于本地开发、个人电脑、公司内网机器来说,长连接几乎是唯一省心的选择。

OpenClaw 内置了官方飞书插件@openclaw/feishu,它走的就是 WebSocket 长连接。你本地跑一个 OpenClaw 网关,网关里的飞书插件主动和飞书云端建立连接,用户在飞书里发消息,事件通过这条长连接推到你本地,OpenClaw 处理完再把回复发回去。整条链路里,你的电脑始终是“客户端”,不需要被外部访问。

这套方案适合谁?三类人最合适:一是没有云服务器的个人开发者,想在自己笔记本上先把机器人跑通;二是公司内网环境,安全策略不允许开公网端口;三是想快速验证飞书 + AI 对话效果,不想先折腾部署。反过来,如果你需要 7×24 小时在线、电脑经常关机,那还是得考虑常开设备或云主机,长连接本身不解决“机器不在线”的问题。

我试过在本地把整套流程走一遍,从创建飞书应用到发消息收到回复,大概 15 到 20 分钟。真正容易出错的不是 OpenClaw 命令,而是飞书开放平台那几处配置:权限批量导入、事件订阅选长连接、版本发布。这三步任何一步漏了,症状都是“机器人没反应”,但原因完全不同。下面按可复制的顺序拆开讲。

2. TaoToken 前置:把模型调用凭据统一管起来

在配飞书之前,先把模型这一侧的调用通道准备好。OpenClaw 负责的是“飞书消息进、AI 回复出”的编排,真正生成回复的模型调用需要一个稳定的 API 通道。TaoToken 在这里的角色就是统一 Key 和 API 通道管理:你拿到一个 Key,配好 Base URL,OpenClaw 里所有需要模型的地方都走这一条通道,不用在飞书插件里再单独塞一套凭据。

先注册并登录控制台,地址是 https://taotoken.net/console 。进去之后创建 API Key,复制出来先放好,后面配置里要用。Key 只在创建时完整显示一次,丢了就重新建一个。

拿到 Key 之后,模型调用的 Base URL 用 https://taotoken.net/api ,这个地址不加任何查询参数。OpenClaw 的模型配置里填的就是这个 Base URL 加上你的 Key。如果你用的是 OpenAI 兼容格式的调用方式,Base URL 通常写到/api这一层,具体路径由客户端自己拼。

这里有个容易混的点:TaoToken 的官网首页是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,但 API 调用地址是 https://taotoken.net/api ,两者不要搞混。配置里只填 API 地址。

模型 ID 怎么选?在控制台里能看到当前可用的模型列表,选一个你常用的对话模型即可。OpenClaw 的模型配置里需要 Base URL、API Key、Model ID 三件套,缺一不可。这三件套配好之后,飞书插件那边只管消息收发,模型调用统一走 TaoToken。

如果你后面还要接 Claude Code 或者做长期编码 Agent,可以在控制台里看 Coding Plan 相关入口,把编码场景的调用也归到同一套 Key 管理下。这样飞书机器人、本地编码助手用的是同一套凭据体系,换 Key 的时候只改一处。

3. 可复制配置:飞书应用 + OpenClaw 插件 + 模型三件套

这一节是整篇的核心,所有片段都可以直接复制。顺序建议是:先建飞书应用、导权限、配事件订阅,再装 OpenClaw 插件、填渠道,最后配模型三件套。

3.1 飞书应用权限批量导入

打开飞书开放平台 https://open.feishu.cn/app ,创建“企业自建应用”,填名称、描述、图标。然后进入“权限管理”,选择“批量导入”,粘贴下面这段 JSON:

{ "scopes": { "tenant": [ "aily:file:read", "aily:file:write", "application:application.app_message_stats.overview:readonly", "application:application:self_manage", "application:bot.menu:write", "cardkit:card:write", "contact:user.employee_id:readonly", "corehr:file:download", "docs:document.content:read", "event:ip_list", "im:chat", "im:chat.access_event.bot_p2p_chat:read", "im:chat.members:bot_access", "im:message", "im:message.group_at_msg:readonly", "im:message.group_msg", "im:message.p2p_msg:readonly", "im:message:readonly", "im:message:send_as_bot", "im:resource", "sheets:spreadsheet", "wiki:wiki:readonly" ], "user": [ "aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read" ] } }

导入后,已有权限会自动跳过,不会重复添加。接着去“版本管理与发布”创建新版本并发布,让新权限生效。这一步不做,后面发图片、发文件会失败。

3.2 事件订阅必须选长连接

进入“事件与回调”里的“事件配置”,请求方式选择“使用长连接接收事件”,然后添加事件im.message.receive_v1。注意:这一步必须在 OpenClaw 网关启动之后再做,否则保存时长连接验证会失败。如果你先配了飞书这边,网关还没起,就先跳过,等 OpenClaw 跑起来再回来补。

3.3 OpenClaw 插件安装与渠道配置

在本地终端执行:

# 安装官方飞书插件 openclaw plugins install @openclaw/feishu # 添加飞书渠道,交互式引导 openclaw channels add # 选择 Feishu # 粘贴 App ID(cli_xxxxx) # 粘贴 App Secret # 如果之前装过旧 npm 插件,移除避免冲突 openclaw plugins remove feishu-openclaw 2>/dev/null # 如果用过独立桥接,停掉旧服务 launchctl unload ~/Library/LaunchAgents/com.clawdbot.feishu-bridge.plist 2>/dev/null # 重启网关 openclaw gateway restart

App Secret 如果找不到,可能在~/.clawdbot/secrets/feishu_app_secret,用cat看一下;或者去飞书开放平台应用的“凭证与基础信息”里复制。

3.4 模型三件套配置

OpenClaw 的配置文件在~/.openclaw/openclaw.json。模型部分需要 Base URL、API Key、Model ID 三件套。下面是一个结构示例,把 Key 和模型 ID 换成你自己的:

{ "models": { "default": { "baseUrl": "https://taotoken.net/api", "apiKey": "你的TaoToken API Key", "model": "你的模型ID" } }, "channels": { "feishu": { "enabled": true, "dmPolicy": "pairing", "accounts": { "main": { "appId": "cli_xxxxxxxxx", "appSecret": "你的AppSecret", "botName": "我的AI助手" } } } } }

如果你用的是 Lark 国际版,在 feishu 配置里加"domain": "lark"。群组策略、流式输出这些进阶项可以后面再调,先把基本对话跑通。

4. 验证请求:从日志到飞书发消息的完整闭环

配置写完,重启网关,然后开日志:

openclaw logs --follow

日志里出现feishu ws connected或者feishu provider ready,说明长连接已经建立。这时候去飞书里给机器人发一条“你好”。

首次对话,机器人可能回一个配对码,这是安全机制。在终端执行:

openclaw pairing approve feishu <配对码>

批准之后,再发消息就能正常对话了。如果机器人直接回复内容,说明配对策略是 open 或者你已经批准过。

验证模型调用是否走通,可以看日志里有没有模型请求和响应的记录。如果飞书消息进来了、日志里也有模型调用,但回复是空的或者报错,那问题在模型三件套,不在飞书插件。反过来,如果日志里连feishu ws connected都没有,那就是飞书侧配置或网络问题。

再补一个验证点:发一张图片给机器人,看它能不能识别。这能同时验证im:resource权限和文件处理链路。如果图片发出去没反应,先查权限有没有发布新版本,再查网关有没有重启。

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

这一节按真实报错来对照,每个都给出定位方向。

401 Unauthorized:模型调用返回 401,说明 API Key 不对或者没带上。检查openclaw.json里apiKey是不是复制完整,Base URL 是不是https://taotoken.net/api。如果 Key 刚重建过,旧 Key 可能已失效,换新的。

local proxy failed:本地代理连接失败。先确认本机网络能正常访问taotoken.net,再确认没有把 API 地址写成官网首页。Base URL 只填https://taotoken.net/api,不要带 UTM 参数。

reading choices 相关报错:通常是模型返回结构不符合预期,或者模型 ID 填错。检查model字段是不是控制台里可用的模型 ID,大小写和连字符都要一致。

OAuth 相关报错:如果你在 OpenClaw 里配了需要 OAuth 的模型通道,但没走完授权流程,会报这个。用 TaoToken 的 Key 方式就不需要 OAuth,直接填 Key 即可。如果之前配过 OAuth 通道,把它从配置里去掉,统一走 Key。

飞书侧没反应:按顺序查——网关在不在跑(openclaw gateway status);飞书应用有没有已发布版本;事件订阅有没有配im.message.receive_v1且选了长连接;权限有没有发布新版本。这四步任何一步漏了,症状都是“没反应”,但原因不同。

时断时续:看日志里有没有频繁的restart、reconnect、disconnect。网络波动会导致长连接断开重连。确保open.feishu.cn走直连,不要经过代理。

群聊不回复:默认需要 @机器人。确认机器人已被加到群,再检查groupPolicy配置。如果想让某个群不需要 @,在配置里给那个群设requireMention: false。

6. 把飞书机器人接进你的日常开发流

跑通之后,你可以把飞书机器人当成一个入口,背后接的是 OpenClaw 的 Agent 能力。比如在群里 @机器人 让它查文档、总结消息、触发某个脚本。OpenClaw 支持多 Agent 路由,你可以按用户或群组把消息分给不同的 Agent,配置写在bindings里。

如果你还想把编码场景也统一进来,可以在 TaoToken 控制台看 Coding Plan 相关入口,把飞书机器人和本地编码助手归到同一套 Key 管理。这样换 Key、看用量、调模型都在一个地方。

接入文档和 API Key 管理入口在这里:API Keys 页面 https://taotoken.net/api-keys ,接入文档 https://taotoken.net/doc 。想先验证模型对话效果,可以直接用模型对话页面 https://taotoken.net/chat 。长期做编码和 Agent 的话,Coding Plan 入口在 https://taotoken.net/coding-plan 。

最后留一个实用习惯:每次改完飞书权限或 OpenClaw 配置,先openclaw gateway restart,再openclaw logs --follow看连接状态,然后再去飞书发消息。这个顺序能帮你快速区分是配置问题还是网络问题。

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

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

立即咨询