我先把话撂在这儿:在没试过 OpenClaw 之前,打死我也不信“30秒在飞书里养出一个 AI 帮手”这种鬼话。之前我自己折腾过飞书机器人,最崩溃的一次是在飞书开放平台配回调地址,配了整整一下午,最后发现免费的内网穿透域名根本不可用,心情直接归零。所以当我看到“30秒在飞书养一只龙虾”这个说法时,第一反应是:又一个标题党。结果真上手之后发现,这玩意儿确实是那种“试过一次就回不去”的工具。
我给它起的名字就叫“龙虾”,底层跑的是开源的 OpenClaw 框架。简单理解,它就是一只24小时在线的 AI 下手:你在飞书里私聊它、拉它进群、让它查资料、写文案、整理表格、跑任务,它都能接。这篇文章我不打算复读官方文档,而是从“我实际部署 + 用了一段时间”的经验出发,把 OpenClaw 是什么、飞书接入怎么配、哪些坑我替你先踩过了、怎么让它真正当起“下手”这几件事讲清楚。适合谁看?如果你是团队里负责搞 AI 工具落地的同学,或者个人想做个随时在线的 AI 助理,这篇应该能帮你省下不少时间。
1. 先搞清楚 OpenClaw 的工作方式,你才知道 30 秒快在哪
1.1 传统飞书机器人的工程量,全被它吞掉了
很多人以为飞书机器人难在“创建应用”,其实飞书开放平台文档写得很清楚,创建机器人本身不费劲。真正难的是“让机器人背后有一副大脑”。你至少需要:自己起一个 HTTP 服务接收飞书推送的消息事件;把消息传给大模型 API;拿到回复后按飞书消息格式回传;再处理多会话、上下文、重试、超时这些问题。
这些事情单独拆开每一项都不难,但堆在一起就是个工程。更别提还要考虑机器人是否要多渠道复用、是否要支持命令执行、是否要能动态扩展技能。对大多数团队来说,为了一个“帮我在群里回消息”的需求去养个后端服务,性价比真的很低。OpenClaw 就是冲着这个痛点来的。它是一个开源的 AI Agent 运行时,把“接模型”“接渠道”“跑技能”三件事做成了标准化配置。你不需要从零写服务端,只需要填配置。
1.2 一个链路看清“龙虾”背后的大脑
你在飞书里看到的那个“龙虾”,本质上是一条完整链路在背后工作:渠道层由飞书机器人负责收发消息,OpenClaw 的飞书适配器监听消息事件;大脑层配置好模型后,OpenClaw 会把用户消息组装成上下文,交给大模型推理;行动层模型不只是“聊天”,它可以调用 OpenClaw 提供的工具(查文档、跑命令、访问 API),这是“下手”二字的由来;审批层涉及高风险操作(比如在服务器上执行 shell 命令、删除文件)时,OpenClaw 会走审批机制,不会让 AI 不经确认就乱动你的机器。
这一点我特别看重。很多 AI Agent 工具让模型直接操作终端,看着很酷,但风险极大。OpenClaw 默认带着审批机制,等于给 AI 的“手”上了个锁,这个设计非常成熟。
1.3 /root/.openclaw 里都存了啥
很多报错都和这个目录有关。我第一次看到 “legacy exec approvals exist at /root/.openclaw/exec-approvals.json” 这个提示时也懵了一下。实际上,部署完成后 OpenClaw 会在用户目录下建一个 .openclaw 目录,里面至少有几类东西:
- 主配置文件:渠道配置、模型配置、Agent 身份配置
- exec-approvals.json:命令执行审批名单,记录哪些高危命令模板被批准过
- 日志文件:启动日志和运行日志
- skills 目录:技能插件存放位置
如果是 root 部署,路径就是 /root/.openclaw;普通用户部署一般是 ~/.openclaw。搞清楚这个目录,后面排查报错会轻松很多。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 30 秒部署前,先把这三样东西准备好
2.1 服务器:2C2G 起步,没有显卡也能跑
我先说结论:部署 OpenClaw 不需要 GPU,我在一台 2C2G 的轻量云服务器上跑得很稳。因为它本身不跑大模型,只是把请求转发给远端模型 API,Agent 运行时对 CPU 和内存的消耗都不大。系统优先选 Linux(Ubuntu 22.04、Debian 12 都行),Windows 也能跑,官方有 PowerShell 安装脚本,但生产环境我更推荐 Linux。
一个容易被忽略的点:确保服务器能正常访问外网。因为安装脚本要拉依赖,运行时也要调用模型 API。如果你在国内云服务器上部署,偶尔会遇到 Docker 镜像或 npm 源拉取超时的问题,可以给包管理器配国内镜像源。这一步做好了,后面“30秒启动”才有可能成立。所谓 30 秒,准确说是“启动服务并完成对话”的状态,在依赖齐全的机器上确实可以做到;第一次全新安装要下依赖,得两三分钟甚至更久,这很正常。
2.2 模型 API Key:先用 DeepSeek 性价比最高
OpenClaw 支持多种模型后端。最省事的就是 DeepSeek,注册开放平台后充值几块钱,拿一个 API Key 就能用。为什么推荐它?一是 API 风格兼容 OpenAI,OpenClaw 支持起来成本低;二是中文理解能力在同类模型里属于第一梯队,对飞书这种中文办公场景非常友好;三是价格便宜,个人测试和轻度使用几乎花不了多少钱。
如果你团队本来就有 OpenAI 或其他国内模型的 Key,也可以直接用。选型逻辑很简单:先用便宜、易得的模型把链路跑通,再根据效果换更强的模型。不要一上来就接最强最贵的,没必要。
2.3 飞书开放平台:创建自建应用和机器人
飞书侧的准备要提前做,否则部署完没法验证。步骤很简单:登录飞书开放平台,在开发者后台创建一个企业自建应用,名字随意,比如“龙虾”。创建后进入应用详情页,在“添加应用能力”里启用机器人;然后在“凭证与基础信息”页面拿到 App ID 和 App Secret,这两个值后面要填进 OpenClaw 配置里。
另外,事件订阅这块要先选“长连接接收事件”。这是飞书最近几年提供的 WebSocket 长连接模式,好处是不需要公网 HTTPS 回调地址。以前配 webhook 回调是最大的坑,内网穿透、HTTPS 证书、公网 IP 全得折腾一遍,现在长连接模式把这个问题直接消掉了,这也是标题里“30秒”能成立的最大功臣。
3. 飞书接入全配置:从安装命令到群里 @它回话
3.1 安装启动:官方脚本 + 首次向导
环境准备好了,开始装。OpenClaw 的安装方式很常规,Linux 和 macOS 用官方一键脚本,Windows 用 PowerShell 脚本。示例命令大致长这样:
bash复制# Linux / macOS 一键安装(具体命令以 OpenClaw 官方文档为准)
curl -fsSL https://download.openclaw.dev/install.sh | bash
装完之后启动服务:
bash复制openclaw start
首次启动会进入一个交互式向导,让你选模型类型、填 API Key、配渠道。这个过程把上面所有手工配置步骤收拢成了问答式操作,跟着提示走一遍基本不会错。我第一次用的时候,向导里选 DeepSeek、粘贴 Key、选飞书渠道、粘贴 App ID 和 App Secret,全程不到两分钟。这里我要说一句:交互式向导对新手极其友好,比直接编辑 JSON 配置文件直观太多了。
3.2 飞书渠道配置长这样
如果你不习惯用向导,也可以直接编辑配置文件。OpenClaw 的配置结构大致是这样:
json复制{
"channels": {
"feishu": {
"appId": "cli_xxxxxxxxxxxx",
"appSecret": "xxxxxxxxxxxxxxxxxxxxxxxx",
"mode": "websocket"
}
},
"model": {
"provider": "deepseek",
"apiKey": "sk-xxxxxxxxxxxxxxxx",
"model": "deepseek-chat"
},
"agent": {
"name": "龙虾",
"persona": "你是团队里的 AI 助手,回答问题要简洁、直接、给出可执行的方案。"
}
}
注意,这个 JSON 是我根据常见配置写的示例,不同版本的字段名可能略有差异,但整体思路一致。配置文件写好之后,执行 openclaw restart 让配置生效。
这里有个细节:agent 的 persona 字段就是“龙虾”这个角色的来源。它不是预先定义的角色包,而是你通过一句话给它设定的身份和说话风格。你可以把它设成专业客服、知识库答主,或者像我一样设成雷厉风行的 AI 下手。每次模型回复都会带上这个人设,体验差异还挺明显的。
3.3 第一次对话验证与常见不通原因
配置完成后,回到飞书里找到刚才创建的应用机器人。私聊窗口里发一句“你是谁”,或者直接说“帮我写个周报模板”。一切正常的话,几秒内就能收到回复。
如果没反应,常见原因就那几个,按概率排:App ID 或 App Secret 复制错了,尤其容易多复制空格;飞书后台没有启用机器人能力;事件订阅没选长连接模式;OpenClaw 日志里报模型 API 鉴权失败。别慌,逐个排查就行。我建议第一步直接看日志,运行 openclaw logs 或者翻一下 ~/.openclaw/logs/ 下的日志文件,问题通常写得很清楚。
3.4 群聊:拉进群后要 @它
私聊通了之后,把它拉进一个测试群,在群里发消息并 @龙虾。默认行为是:它只在被 @ 的时候回复,避免在群里刷屏。这个设计在多人协作场景里很贴心,不然它会把群里每句话都接一遍,大家就别聊天了。
如果你希望它在群里更主动,比如监听某些关键词再回复,可以通过配置调整触发策略。但我的建议是:保持默认的 @ 触发,除非你有明确的自动化场景。群里有个随时能 @ 的 AI,已经比大多数人想象中好用了。
4. 实测下来,它确实能当“AI 下手”
4.1 最常用的三个个人场景
部署完之后我认真用了一周,发现日常最高频的是三类场景。第一类是写周报。我把自己本周做的零碎事项一股脑丢给龙虾,让它整理成周报。它给出来的框架比我平时自己写的清晰,虽然不能直接复制粘贴,但改一改就能交。第二类是翻译。中英互译随叫随到,不用再切浏览器,飞书内直接完成。第三类是信息查证。我给它一个选题,让它列参考文献框架、拆解步骤,它给的不是一堆链接,而是方法论和操作清单,这个价值反而更高。
很多人都以为 AI Agent 应该做很大的事,实际上最让我觉得“真香”的,正是这些高频小任务。它把“打开网页—搜索—复制—整理”这个链路直接消灭了,在飞书里一句“帮我把这段内容整理成表格”就完事。
4.2 群协作里当“胶水层”的用法
群聊场景我试过一个更有意思的玩法:把龙虾拉进产品讨论群,在大家讨论完一轮需求后,@它“把刚才讨论里提到的 3 个用户痛点整理成需求清单”。它能把散在对话里的关键信息抽出来,按优先级排列,生成带标题和行动建议的清单。对运营团队来说,这个“胶水层”角色比再招一个助理还省事。
但要诚实说明边界:它的上下文主要来自当前会话消息和你显式提供的信息。如果群里聊了 100 条它中间没参与,它不一定能自动翻聊天记录,除非你配置了记忆类插件。所以最好在讨论告一段落时 @它总结,而不是指望它旁听一整天的对话。
4.3 让它“干活”而不是“聊天”的边界
OpenClaw 和普通聊天机器人最大的区别,是它真的能“动手”。配置好技能之后,它可以访问公开 API 拿天气、汇率、股票数据,可以读取指定 URL 的内容并总结,可以在允许范围内执行 shell 命令,甚至可以调用公司内部接口做一些自动化操作。这才是“AI 下手”本来的含义:它不是回一句话就结束,而是能去真实世界完成任务。
我给它配了一个生成数据报表的技能,让它每天定时把测试环境的请求量统计发到飞书群里。配置一次之后,它每天自动干活,我除了第一周盯着结果,后面基本没操过心。
4.4 说点实话:它现在的局限
也不是没有缺点。它和大模型一样会一本正经地胡说八道,尤其是涉及具体数字和最新信息时,必须人工核对。它对飞书原生的多维表格、复杂权限体系的深度集成还不完善,如果你想让它直接改写多维表格数据,目前还需要做二次开发。如果你让它执行 shell 命令,又不多看一眼审批提醒,那出事的概率不低。用一句话总结:它是个很强的下手,但你不能当甩手掌柜,关键环节还是要把关。
5. 高频报错排查:这几个错我替你先踩过了
5.1 “Control UI did not start”是啥情况
我第一次启动时,服务主体倒是起来了,但控制台报了一行 “OpenClaw Control UI did not start”。一开始我以为是装坏了,后来发现这只是 Web 控制台没启动,核心 Agent 和飞书渠道完全不受影响。常见原因有三个:端口被占用,比如 3000 端口被其他服务抢了;前端构建过程失败,通常是因为安装时网络不稳定导致 UI 资源没下载完整;Node 版本太低,前端构建跑不起来。
排查也简单:先看启动日志里有没有监听端口失败的记录;再检查配置文件里有没有类似 web.port 的字段,换个端口试试;如果怀疑是 UI 资源没拉全,重新执行一次安装脚本,或者手动进到安装目录把前端依赖装一遍。实在不行,先不管它,功能照样能用,只是少了个可视化控制台。
5.2 “unknown model: deepseek”八成是名字写错
这个报错我见过太多次了:agent failed before reply: unknown model: deepseek。它本质上是 OpenClaw 按你配置的模型名去调模型 API,但这个名字在 API 提供方那边不存在。比如 DeepSeek 官方对外的模型名是 deepseek-chat 和 deepseek-reasoner,如果你只填了 deepseek,对方接口根本认不出。
解决办法:确认你选的模型标识准确。DeepSeek 的话,deepseek-chat 对应 V3 系列,deepseek-reasoner 对应 R1 系列,两个都能用,但能力和响应风格有差异。另外要检查 provider 字段和 base_url 是否写对。如果 provider 配的是 openai,但 base_url 填的是 DeepSeek 的地址,也会出现类似问题。最后顺便看一眼 API Key 有没有过期、账户余额够不够,这类鉴权错误往往也伪装成“agent failed before reply”。
5.3 exec-approvals.json 的提示是安全机制,不是 bug
启动时看到 “legacy exec approvals exist at /root/.openclaw/exec-approvals.json” 这个提示,很多人会慌。我帮你翻译一下:OpenClaw 在启动时扫描到了旧版本的命令审批文件,提示你处理或合并审批规则。exec-approvals.json 里记录的是你之前批准过的命令模板,比如你让 AI 执行过 ls、cat 这类命令,开过一次白名单,之后就不会再反复问你了。
处理方式很灵活。如果提示里有迁移命令,直接执行;如果你不记得批过什么,可以用文本编辑器打开文件看一眼内容;如果你想重置所有审批,备份后删除这个文件,重启服务,它会重新创建。这里我多说一句:这个机制千万别关。它相当于给 AI 的 shell 权限装了门禁,一旦完全放开,模型不小心执行了 rm -rf / 级别的东西,哭都来不及。
5.4 万能排查顺序:日志 → API → 配置 → 重启
无论你遇到什么问题,我建议都按这个顺序排查,别瞎猜。第一步看日志,openclaw logs 或翻 ~/.openclaw/logs/,报错的根本原因一般在里面。第二步验证模型 API,用 curl 直接调一下接口,确认 Key 有效、余额够、模型名存在。第三步检查配置,App ID、App Secret、model 字段、provider 字段逐个核对,很多时候就是多了一个空格或下划线。第四步重启服务,openclaw restart 能解决不少“配置改了但没生效”的诡异问题。如果还不行,就升级到最新版本,OpenClaw 迭代很快,很多早期 Bug 在 2.0 里已经修掉了。这个顺序救了我很多次,建议收藏。
6. 进阶玩法:本地模型、自定义 Skill 和多渠道
6.1 接本地模型:不用花钱但能力打折
如果你的场景要求数据不出内网,或者不想为每个 token 付费,OpenClaw 也支持接本地模型。最常见的方案是配合 Ollama 使用。具体路径:先装 Ollama,然后拉一个模型,比如 ollama pull qwen2.5:7b,再把配置文件里的 provider 改成 ollama,模型名填 qwen2.5:7b,base_url 填 http://localhost:11434 即可。
但我要打个预防针:本地 7B 模型的理解能力和 DeepSeek 这种大模型差距很明显,你让它写长文案、做复杂推理,会明显感觉“变笨了”。它更适合做简单任务和隐私敏感场景。如果机器只有 8GB 内存,建议别折腾 7B 以上的模型,跑不动的。按照我的经验,本地模型适合做私密问答和关键词提取,真要让它写高质量内容,还是用云端模型。
6.2 给龙虾加新技能:Skill 的基本结构
我一直说“AI 下手”,OpenClaw 让人印象最深的就是 Skill 扩展机制。一个 Skill 通常由两部分组成:描述文件和可执行逻辑。描述文件说明这个技能的触发条件和参数;可执行逻辑可以是一个脚本、一个函数,也可以是对某个 API 的封装调用。
举个例子。我想让它查天气,就写一个“天气查询”的 Skill:触发条件是用户消息里出现“天气”,参数是城市名,执行逻辑是调用天气 API 返回结果。这个 Skill 挂载之后,我在飞书里说“龙虾,查一下明天上海的天气”,它就会自动命中这个 Skill 并调用接口。写 Skill 的门槛不高,有点 Python 或 JS 基础就能上手。这也是 OpenClaw 比普通聊天机器人强的地方:你可以把它从一个“会说话的模型”变成一个“会干活的助理”。
6.3 多渠道同时接入的思路
OpenClaw 的架构是核心 Agent 渠道无关,所以同一个人设在飞书、Discord、Telegram 上都能用。配置方式也很直白:在 channels 配置里再加一套渠道参数就行。同一套身份设定、同一套 Skill,在不同入口都能调用。
关于微信,我多说一句:个人微信接入有平台风控和合规风险,不建议搞。如果团队确实有微信场景,建议走企业微信或公众号的官方接口,虽然配置成本稍高,但安全稳定,不会把账号搞没了。渠道扩展的思路是一样的:能用官方 API 就走官方 API,别用逆向方案。
6.4 上生产前的几条保命建议
如果你不只是自己玩,而是要把龙虾变成团队的生产力工具,有几件事务必做好。
- 用独立系统用户运行 OpenClaw,不要直接在 root 下长期跑。权限隔离是最基本的保护。
- 审批机制全程开启,定期检查 exec-approvals.json 里到底批准了哪些命令,只保留必要项。
- 用环境变量管理 API Key,不要把它写进配置文件再上传到 Git 仓库,密钥泄露给团队带来的麻烦远大于收益。
- 日志定期清理和备份,尤其当它在执行自动化任务时,日志是唯一的运行轨迹。
- 给模型配置 fallback,主模型挂了能自动切到备用模型,否则团队会突然发现龙虾“失联”。
这些建议听起来像老生常谈,但我在实际部署中踩过坑:一开始图省事直接用 root 跑,后来排查一个幽灵问题时才发现是权限混乱导致的。别嫌麻烦,生产环境稳比快重要。
最后分享一点我的体会。真正让“龙虾”从玩具变成下手的转折点,不是我写了多少牛技能,而是我调整了使用它的心态:把它当成一个需要明确指令驱动的实习生,而不是什么都会的万事通。你给它的背景信息越充分,它回的东西越能用。我现在每天在飞书里打开和龙虾对话的频率,比打开搜索引擎还高。你可以先拿它做一件很小的事——比如每天早上让它把当天待办整理成清单发到群里——跑通之后,你就知道它还能干多少活了。
