1. 为什么要在 MacOS 上把 OpenClaw 接进飞书
OpenClaw 是一个跑在本机的开源 AI 助手,你可以把它理解成「住在你电脑里的私人助理」:它能读文件、执行系统命令、浏览网页、写代码,数据全程留在自己机器上。它本身不带 AI 能力,真正决定它好不好用的是背后接的大模型。问题也出在这里——OpenClaw、飞书机器人、各种模型供应商,每个都要单独配一套 Key,散落在不同配置文件里,改一次要翻三四个地方,时间全耗在找 Key 上。
这篇就解决这件事:在 MacOS 上用 brew 和 node 装好 OpenClaw,把飞书机器人接进来,再用 TaoToken 的统一 Key 把模型通道收敛成一份配置。装完之后,你在飞书里发一句话,本机的 OpenClaw 就能收到并回复,通道算真正跑通。适合手上有 Mac mini 或 MacBook、想自己搭一个可控 AI 助手、又不想被多套 Key 折腾的人。整个过程我按「环境准备 → 安装 → 飞书配置 → 统一 Key → 验证 → 排障」走一遍,命令都能直接复制。
2. 前置准备:TaoToken 统一 Key 与飞书应用
2.1 先把 TaoToken 的 Key 拿到手
TaoToken 在这里扮演的是「统一入口」:你只需要一个 Key,就能在 OpenClaw 里调用多家模型,不用为每个供应商单独注册、单独记 Key。先去官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 注册账号,然后进控制台创建 API Key。
创建入口在控制台的 API Keys 页面:https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。点新建,复制那串以sk-开头的 Key,先存到备忘录里,后面配置要用。接口地址统一用 https://taotoken.net/api ,注意这个地址后面不加任何参数。
注意:Key 只显示一次,关掉页面就看不到了。别直接贴到聊天记录或截图里,泄露了要去控制台吊销重发。
2.2 飞书这边要准备什么
飞书侧需要你有一个可以创建企业应用的账号。去飞书开放平台,右上角进「开发者后台」,点「创建企业应用」,填个名字和描述就行。创建完进应用,左侧「基础信息 → 凭证与基础信息」里有两个关键值:App ID 和 App Secret,先记下来,等下 OpenClaw 会问你要。
3. MacOS 环境准备与 OpenClaw 安装
3.1 检查 node 版本
OpenClaw 是个 node 应用,node 版本要大于 22。打开终端输入:
node -v正常会输出类似v22.22.0。如果提示command not found,说明没装 node,先装 brew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"brew 装好后执行:
brew install node装完再跑一次node -v确认版本号大于 22。这一步别跳过,版本低了后面安装脚本会直接拦你。
3.2 用脚本安装 OpenClaw
官方提供了一键安装脚本,终端里执行:
curl -fsSL https://openclaw.ai/install.sh | bash脚本会先检测系统,输出Detected: macos,然后分三步走:准备环境、安装 OpenClaw、收尾。中间会检查 Homebrew、Node.js、Git 是否就绪,都通过后开始装 OpenClaw 包。装完会打印版本号,类似OpenClaw 2026.3.8,看到这行就说明装好了。
3.3 走一遍 onboarding 向导
安装完会自动进入配置向导。第一步是安全提示,大意是 OpenClaw 默认是「单人可信边界」,能读文件、执行动作,别随便暴露到公网。按左方向键把光标移到 Yes,回车继续。
第二步选启动模式,选默认的QuickStart,后面细节可以随时用openclaw configure改。接着会显示网关信息:端口18789、绑定127.0.0.1、认证方式 Token。这个端口号记一下,验证阶段要用。
第三步选模型供应商。这里先随便选一个能跳过的,比如Skip for now,因为我们后面要用 TaoToken 统一 Key 覆盖掉,不用在这里逐个配。再往后是选渠道,列表里能看到Feishu/Lark (飞书),先别急着选,我们先把飞书应用配好再回来。
4. 飞书机器人配置与 OpenClaw 对接
4.1 在飞书后台开权限、加事件
回到飞书开放平台的应用页面,左侧「添加应用能力」,点「机器人」,添加一个机器人并起个名字。然后进「事件与回调」,订阅方式选「长连接」,这样不用公网地址也能收消息。
点「添加事件」,搜索im.message,勾选「接收消息」并添加。接着去「权限管理」,把这几项勾上:
| 权限 Scope | 说明 |
|---|---|
| contact:user.base:readonly | 获取基础用户信息 |
| im:message | 收发消息 |
勾权限时注意,带「需审核」标记的项如果业务用不到就别勾,否则要走审核流程,比较慢。全部确认开通后,去「版本管理与发布」创建版本,版本号填纯数字比如1.0.0,保存并发布上线。
4.2 回到终端完成飞书对接
回到 OpenClaw 向导的渠道选择,选Feishu/Lark (飞书)。系统会问插件安装方式,选Use local plugin path,回车后自动加载本地插件。接着依次输入:
- App Secret:粘贴飞书后台复制的那个
- App ID:粘贴飞书后台的 App ID
- 连接方式:选默认的
WebSocket - 域名:选
Feishu (feishu.cn) - China - 权限策略:选
open
后面会问是否配置搜索服务、技能、hooks,这些暂时都用不到,选Skip for now跳过。最后问怎么启动 bot,选Open the Web UI,浏览器会自动打开 OpenClaw 的 Web 界面。
5. 用 TaoToken 统一 Key 收敛模型配置
5.1 找到并编辑配置文件
OpenClaw 的主配置在~/.openclaw/openclaw.json。终端里执行:
open ~/.openclaw/openclaw.json找到channels.feishu这一段,确认里面有appId、appSecret、connectionMode、domain。如果发现少了dmPolicy和allowFrom,手动补上,否则飞书消息进不来:
"channels": { "feishu": { "enabled": true, "appId": "cli_xxxxxxxxxxxx", "appSecret": "你的AppSecret", "connectionMode": "websocket", "domain": "feishu", "groupPolicy": "open", "dmPolicy": "open", "allowFrom": ["*"] } }5.2 把模型通道指向 TaoToken
这是全文最关键的一步。在配置里找到models.providers,加一个自定义 provider,把 baseUrl 指向 TaoToken 的接口地址,Key 填你前面拿到的那个:
"models": { "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoTokenKey", "models": ["gpt-4o", "claude-3-5-sonnet"] } }, "default": "taotoken/gpt-4o" }这样 OpenClaw 所有模型请求都走 TaoToken 这一个入口,以后换模型只改default这一行,不用再动别的地方。改完保存,终端里重启网关:
openclaw gateway restart6. 验证请求与成功结果
6.1 命令行先确认网关活着
重启后先看状态:
openclaw status输出里应该能看到 gateway 处于 running,端口18789。再跑一次健康检查:
openclaw health没有红色报错就说明服务本身没问题。
6.2 飞书里发消息验证通道
打开飞书客户端,找到你刚发布的机器人,发一句「你好,帮我列一下当前目录」。如果配置都对,机器人会回复内容。第一次可能会慢几秒,因为要建立长连接。
如果没回复,先别慌,去终端看日志。也可以直接打开 Web UI 确认模型通道是否生效:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite ,在里面发一条同样的消息,能正常返回就说明 TaoToken 的 Key 和模型通道是通的,问题就缩小到飞书这一段了。
7. 本篇常见错误排查
7.1 飞书发消息没反应
最常见的原因是配置文件里少了dmPolicy和allowFrom。OpenClaw 默认对私聊是关闭的,必须显式设成open并允许来源。改完记得openclaw gateway restart,不重启不生效。
7.2 报 node 版本不兼容
安装脚本会检查 node 版本,低于 22 直接退出。用node -v确认,如果是旧版本,可能是系统里装了多个 node,用 nvm 切到 22 以上再重装。
7.3 模型请求 401 或超时
先确认baseUrl写的是https://taotoken.net/api,结尾不要多加斜杠或路径。再确认 Key 没复制错、没多空格。如果还是 401,去控制台 API Keys 页面重新生成一个再试。
7.4 网关端口被占用
18789被别的进程占了会启动失败。用lsof -i :18789查一下,把占用进程关掉,或者改配置里的端口号再重启。
8. 后续怎么用:把 Key 收敛成一份配置
通道跑通之后,日常维护其实很轻。所有模型调用都走 TaoToken 一个 Key,换模型只改openclaw.json里models.default那一行;飞书侧的凭证也集中在这份配置里,不用满硬盘找。如果你后面要长期跑编码类任务或者接 Agent 工作流,可以考虑用 Coding Plan 把额度固定下来: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 。
我自己的习惯是,每次改完配置先跑openclaw doctor诊断一遍,再重启网关,比出问题后翻日志快得多。飞书那边如果换了 App Secret,记得两边同步改,不然长连接会静默断开,表现就是消息发出去石沉大海。