1. 飞书里跑 AI 助手,为什么值得折腾
飞书群里每天都有大量重复问题:新同事问报销流程、运营问数据口径、开发问接口字段。如果有一个 AI 助手常驻群聊,@ 一下就能给出答案,团队效率会明显不一样。OpenClaw 就是这样一个可以自托管的 AI 助手框架,它支持多渠道接入,飞书是其中比较实用的一个渠道。把 OpenClaw 接入飞书之后,你可以在单聊里直接对话,也可以在群聊里 @ 机器人让它参与讨论,整个过程不需要切换窗口,也不需要把内部资料发到外部平台。
这篇文章面向的是想在飞书里落地 AI 助手的开发者或运维同学。你不需要有很深的 Node.js 功底,但需要能看懂命令行操作,能登录飞书开放平台创建应用。整条链路包括四件事:准备 Node.js 环境、安装 OpenClaw 和飞书插件、在飞书开放平台配置机器人凭证与权限、启动网关并验证消息回调。每一步我都会给出可复制的命令和配置片段,遇到报错也有对应的排查思路。
关于模型调用通道,OpenClaw 本身不绑定特定模型服务商,它通过统一的 API 通道来调用模型。我这边用的是 TaoToken 的统一 Key 方案,好处是模型调用走同一个入口,不用在多个平台之间来回切换 Key,配置一次就能在 OpenClaw 里长期使用。官网地址是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口是 https://taotoken.net/api 。下面进入具体操作。
2. 前置准备:Node.js 环境与 OpenClaw 安装
2.1 Node.js 版本选择
OpenClaw 对 Node.js 版本有要求,建议使用 v22 或更高版本。如果你机器上已经装了 Node.js,先用下面命令确认版本:
node -v npm -v如果版本低于 v22,建议用 nvm 管理多版本。Linux 和 macOS 下安装 nvm 的命令如下:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash source ~/.bashrc nvm install 22 nvm use 22Windows 用户可以直接去 Node.js 官网下载 v22 的安装包,安装时勾选“Add to PATH”。安装完成后重新打开 PowerShell,执行node -v确认版本。
2.2 安装 OpenClaw
Node.js 就绪后,全局安装 OpenClaw:
npm install -g openclaw@latest安装完成后验证:
openclaw --version如果能看到版本号输出,说明安装成功。这里有一个高频报错需要提前说明:如果你之前装过 OpenClaw 或者安装中断过,可能会遇到ENOTEMPTY: directory not empty错误。原因是 nvm 目录下残留了不完整的 openclaw 文件夹,npm 无法覆盖重命名。解决办法是手动清理旧目录再重装:
rm -rf ~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw rm -f ~/.nvm/versions/node/v22.22.0/bin/openclaw npm cache clean --force npm install -g openclaw@latest注意把路径里的v22.22.0替换成你实际的 Node.js 版本号。Windows 下路径分隔符用反斜杠,或者在 PowerShell 里用正斜杠也可以。
2.3 飞书插件:内置还是手动安装
OpenClaw 较新版本(2026.2.2 之后)已经内置了飞书插件,不需要额外安装。先检查插件目录:
ls ~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/如果看到feishu相关文件夹,说明内置插件已存在,跳过手动安装。如果是旧版本没有内置插件,执行:
openclaw plugins install @m1heng-clawd/feishu这里有个容易踩的坑:如果你既装了内置插件又手动装了第三方飞书插件,重启网关时会报冲突错误。解决办法是只保留一个,把多余的删掉。我实测下来,新版本直接用内置插件最省事。
2.4 配置模型调用通道
OpenClaw 需要连接模型服务才能回复消息。在 OpenClaw 的配置文件中,把模型 API 的 Base URL 指向 TaoToken 的 API 入口,并填入你的 Key。配置文件通常位于~/.openclaw/config.json或项目目录下的config.json,具体片段如下:
{ "models": { "default": { "provider": "openai-compatible", "baseUrl": "https://taotoken.net/api", "apiKey": "你的_TaoToken_Key", "modelId": "claude-sonnet-4-20250514" } } }三个关键字段要写全:Base URL 填https://taotoken.net/api,apiKey 填你在 TaoToken 控制台生成的 Key,modelId 填你要使用的模型 ID。Key 的获取入口在 https://taotoken.net/api-keys ,登录后创建一个新 Key 复制出来即可。如果你还没有账号,可以先从官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 注册。
3. 飞书开放平台配置:机器人凭证与权限
3.1 创建企业自建应用
登录飞书开放平台 https://open.feishu.cn ,点击“创建企业自建应用”。填写应用名称,比如“OpenClaw 助手”,描述随便写几个字,图标可以后面再传。创建完成后进入应用详情页,在“凭证与基础信息”里找到两个关键值:
- App ID:格式是
cli_开头的一串字符 - App Secret:一串密钥
这两个值后面要填进 OpenClaw 的渠道配置里,建议先复制到记事本,避免来回切换窗口时复制错。特别注意 App Secret 前后不要带空格,这是后面消息回调失败最常见的原因之一。
3.2 开启机器人能力
左侧菜单找到“应用功能”->“机器人”,把开关打开。这一步很关键,如果跳过,应用就不具备机器人能力,后面消息收发会直接失败。开启后应用能力下方会多出一个机器人菜单。
3.3 配置权限
进入“权限管理”->“开通权限”,搜索im并勾选以下权限:
| 权限标识 | 用途 |
|---|---|
| im:message | 消息收发基础权限 |
| im:message:send_as_bot | 以机器人身份发消息 |
| im:message:readonly | 读取消息内容 |
| im:chat.members:bot_access | 读取群成员信息 |
| contact:user.employee_id:readonly | 读取用户信息 |
企业版飞书的权限需要管理员审批,提交后让管理员在后台通过。个人版一般自动通过,几分钟内生效。
3.4 发布应用版本
权限配好后,左侧菜单找“版本管理与发布”,点击“创建新版本”,填写版本号和说明,提交发布。企业版会走内部审批流程,管理员在飞书客户端点通过即可。个人版自动通过,刷新一下就能看到“已发布”状态。
3.5 配置 OpenClaw 飞书渠道
回到命令行,执行渠道配置命令:
openclaw channels add会出现交互式菜单,按提示操作:选择 Feishu,输入 App ID,输入 App Secret,选择“飞书中国”版本(国际版选 Lark),勾选“允许群组聊天”。配置完成后,这些信息会写入 OpenClaw 的渠道配置文件,通常是~/.openclaw/channels/feishu.json,内容类似:
{ "type": "feishu", "appId": "cli_xxxxxxxxxxxx", "appSecret": "xxxxxxxxxxxxxxxx", "region": "feishu", "allowGroup": true }确认字段无误后,重启网关让配置生效:
openclaw gateway restart如果重启时报插件冲突错误,回到 2.3 节检查是否重复安装了飞书插件,删掉多余的那个再重启。看到类似“Gateway started”的提示就说明启动成功了。
4. 验证请求:发送测试消息与检查日志
4.1 在飞书中测试机器人
打开飞书客户端,在顶部搜索框搜你的机器人名称,找到后点进去发一条测试消息,比如“你好”。如果机器人正常回复,说明整条链路已经通了。如果没有响应,先别急,按下面的步骤排查。
4.2 检查网关状态
openclaw gateway status确认服务处于 running 状态。如果显示 stopped,执行openclaw gateway start启动。
4.3 查看实时日志
日志是排查问题最直接的工具:
openclaw logs --follow这条命令会实时输出 OpenClaw 的运行日志。当你发送测试消息时,日志里应该能看到飞书回调的请求记录,以及模型调用的请求链路。如果模型调用失败,日志里会显示 HTTP 状态码和错误信息。常见的 401 错误通常意味着 API Key 配置有误,检查 TaoToken Key 是否复制完整、有没有多余空格。
4.4 验证模型调用通道
如果你想单独验证 TaoToken 的模型通道是否正常,可以用 curl 直接请求:
curl -X POST https://taotoken.net/api/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 你的_TaoToken_Key" \ -d '{ "model": "claude-sonnet-4-20250514", "messages": [{"role": "user", "content": "你好"}] }'如果返回正常的 JSON 响应,说明模型通道没问题,问题出在飞书回调或 OpenClaw 配置上。如果返回 401,说明 Key 无效或过期,去 https://taotoken.net/api-keys 重新生成一个。如果返回模型不存在,检查 modelId 是否拼写正确。
4.5 检查飞书回调地址
OpenClaw 启动网关后,会监听一个本地端口用于接收飞书的事件回调。如果你是在内网环境部署,需要确保飞书开放平台的事件订阅地址能访问到你的服务。在飞书开放平台的“事件与回调”菜单里,配置请求地址为你的 OpenClaw 网关地址。如果 OpenClaw 运行在本机,可以用内网穿透工具暴露端口,但注意不要使用任何违规的网络工具。企业内网环境下,建议让运维同学配置反向代理,把飞书的回调请求转发到 OpenClaw 所在机器。
5. 常见报错排查:401、插件冲突与消息无响应
5.1 401 Unauthorized
这是模型调用通道最常见的错误。日志里会显示类似:
Error: 401 Unauthorized - invalid api key排查步骤:确认 TaoToken Key 是否复制完整,前后有没有空格;确认 Base URL 是否填的https://taotoken.net/api,不要多写或少写路径;确认 Key 是否已过期或被禁用,去控制台重新生成一个。如果用的是环境变量方式配置 Key,检查环境变量名是否和 OpenClaw 读取的一致。
5.2 local proxy failed
这个错误通常出现在 OpenClaw 尝试通过本地代理转发请求时。日志里会显示:
local proxy failed: connection refused原因是 OpenClaw 配置了本地代理地址,但代理服务没有启动。检查配置文件里是否有proxy相关字段,如果有,确认代理服务是否运行。如果你不需要代理,直接把 proxy 字段删掉,让请求直连 TaoToken API。
5.3 reading choices 报错
这个错误通常出现在模型返回格式不符合预期时。日志里会显示:
Error: reading choices: unexpected end of JSON input原因是模型 API 返回了非 JSON 格式的响应,可能是网关超时或返回了 HTML 错误页。检查 TaoToken API 入口是否可访问,用 4.4 节的 curl 命令测试一下。如果 curl 正常但 OpenClaw 报错,检查 OpenClaw 的模型配置里provider字段是否写对,openai-compatible 格式要求返回标准的 choices 数组。
5.4 机器人无响应
按顺序检查这几项:应用是否已发布(版本管理与发布里显示已发布);权限是否已开通(特别是 im 相关权限);App ID 和 App Secret 是否配置正确(检查有没有多余空格);网关是否已重启(openclaw gateway status确认);机器人能力是否已添加(应用功能里有机器人菜单)。如果都正常,用openclaw logs --follow看实时日志,错误信息会直接告诉你问题在哪。
5.5 插件冲突导致网关启动失败
如果你同时安装了内置飞书插件和第三方飞书插件,重启网关时会报冲突。日志里会显示类似:
Error: duplicate channel type feishu解决办法是删掉其中一个。查看插件目录:
ls ~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/如果看到两个 feishu 相关文件夹,删掉第三方那个,保留内置的。然后重新执行openclaw gateway restart。
5.6 Windows 下 spawn npm ENOENT
Windows 环境下安装插件时可能报spawn npm ENOENT。原因是 OpenClaw 调用 npm 子进程时没有启用 shell。临时解决办法是找到 OpenClaw 安装目录下的dist/process/exec.js,在 spawn 调用处加上shell: true:
const child = spawn(cmd, args, { ...options, shell: true });改完重新安装插件即可。这个问题在新版本中已经修复,建议升级到最新版。
6. 长期使用建议与接入入口
把 OpenClaw 接入飞书之后,日常使用中还有几个点值得注意。第一,模型调用的 Key 建议定期轮换,TaoToken 控制台可以创建多个 Key,按用途区分,比如一个用于测试、一个用于生产。第二,OpenClaw 的日志会记录每次请求的链路信息,建议配置日志轮转,避免磁盘占满。第三,如果团队多人使用,可以在飞书群里配置多个机器人实例,分别对接不同的模型,比如一个用快速模型处理日常问答,一个用强推理模型处理复杂任务。
如果你还没有配置模型通道,可以先去 https://taotoken.net/api-keys 创建一个 Key,然后在 OpenClaw 的配置文件里填入 Base URL 和 Key。模型对话调试入口在 https://taotoken.net/chat ,可以在浏览器里直接测试模型是否正常响应。长期编码或 Agent 场景建议使用 Coding Plan,入口在 https://taotoken.net/coding-plan 。接入文档在 https://taotoken.net/doc ,里面有各语言的调用示例和参数说明。
整个接入流程的核心就是三件事:飞书侧创建应用并配好权限,OpenClaw 侧装好插件并填对凭证,模型侧配好 Base URL 和 Key。这三件事都做完,飞书群里的 AI 助手就能稳定工作了。遇到问题优先看日志,openclaw logs --follow会告诉你答案。