最近,OpenClaw 靠着“能接万物、能扩到离谱”的可玩性,在大模型圈火得有点离谱。很多人顺手把它接进飞书:一个机器人,从此能查资料、跑流程、管消息、连工具,仿佛给飞书装了外挂。
但真上手你就会发现:“能跑起来”不等于“能稳定跑”。对没太多代码基础的同学来说,部署后的日常往往是这样的——前一秒还在庆祝,后一秒就开始怀疑人生:
- 为什么昨天还好好的,今天突然就不回飞书消息了?
- 终端蹦出来这句报错,到底在说人话吗?
- 面对满屏黑底白字,除了重启、重装,难道就没别的路了?
这几天小编也在高频“玩虾”,顺便在测试一些马上就要带给大家的惊喜🤫
但……踩坑踩到怀疑自己在挖地铁:从“虾自个儿12H一备份把磁盘挤爆”,到“崩溃后卡死锁,Gateway 怎么拉都拉不起来”……都体验过了😭。
所以我把这些救火经验整理成了这篇 OpenClaw 实战 Debug 指令合集:覆盖 30+ 个高频核心指令,包括网关排查与重启、配置检查与修改、日志定位、磁盘清理与空间回收等。大多数场景你只要照着复制粘贴,就能先把服务拉回可用状态,再慢慢治本。
另外,文末也汇总了大家用飞书对接 OpenClaw 时最常见的几类问题和对应解法,尽量让你少一点“深夜对着屏幕发愁”,多一点“把它修好然后继续玩”!
一、昨天还正常,今天就不回消息了?OpenClaw 突然“罢工”的五大高频问题
- Gateway(网关)没在跑 / 服务名丢了 / Crash Loop
现象:飞书发消息,OpenClaw 完全不回;本机/云上 CLI 可能还能跑某些命令,但“收消息”这一段断了。
高频线索/报错:
- clawdbot-gateway.service could not be found
- openclaw status 显示 gateway offline
- journalctl -u openclaw / openclaw logs --follow 没有任何“message receive”相关日志(说明消息根本没进来)
修法一句话:
先把 gateway 当“心脏”处理:确认服务存在、能启动、不中途退出;必要时 openclaw gateway restart,并用 openclaw logs --follow 边发飞书边看日志是否有入站事件。
- 飞书应用没发布/事件订阅没生效(你改了但忘了发布)
如果你昨天修改了机器人的权限(比如增加了读取消息的权限),但没有在飞书开放平台点击 创建并发布版本,机器人可能在几个小时后因为缓存失效而停止工作。
高频线索/报错:
- 飞书开发者后台:应用仍是草稿 / 版本未发布
- 事件订阅未启用或没勾 im.message.receive_v1(或你们用的那类“接收消息”事件)
修法一句话:
检查三件套:发布状态、事件订阅(长连接/订阅项)、权限范围,每次改完都重新发布。
- 模型官方 API 服务崩溃/账户余额耗尽或 Key 被封
这是最常见的外部原因。像 Claude 或 OpenAI 这种大模型服务商,近期会因为服务器负载过高或系统维护导致全球范围的连接中断。另外,API Key 是有寿命和额度的。有时候是因为绑定的信用卡扣款失败,或者是你的调用频率太高触发了风控,导致 Key 被临时冻结。
- 现象: 你的服务器没断网,但程序报错显示 502 或 503。
- 对策: 检查 OpenClaw 日志,看是否出现 Rate Limit 或 Service Unavailable。或登录厂商官网后台确认 Key 的活跃状态和余额。
- 网络代理节点失效
如果你是在本地或者国内云服务器上部署,通常需要代理才能连接 API。代理软件可能会在夜间自动断连,或者你购买的节点 IP 被封锁了。
- 现象: 机器人在日志里不断提示连接超时。
- 对策: 在服务器终端测试一下是否能直接访问 API 域名。
- 自动更新导致的配置冲突
很多用户习惯用 Docker 部署并开启了自动更新。如果 OpenClaw 昨晚发布了新版本,而新版本改动了某些环境变量的命名规则,你的旧配置就会失效,导致程序无法启动。
- 现象: 容器一直在重启,或者报错缺少必要的参数。
- 对策: 查看运行日志,对比最新的官方文档看看变量名有没有变化。
二、基础 Debug 指令
- 如果你还没有虾:快速安装
curl -fsSL https://openclaw.ai/install.sh | bash
Windows(PowerShell):
iwr -useb https://openclaw.ai/install.ps1 | iex
- 如果你还没有飞书,不会对接——
请看这篇文章,我们详细介绍了如何安装OpenClaw并对接飞书:
- 服务生命周期管理 (最常用)
# 查看网关当前状态(检查是否运行正常、重启次数)
systemctl --user status openclaw-gateway
# 启动网关服务
systemctl --user start openclaw-gateway
# 停止网关服务(修改配置或打断任务前执行)
systemctl --user stop openclaw-gateway
# 重启网关服务
systemctl --user restart openclaw-gateway
# 【关键】开启用户常驻模式(防止退出 SSH 后程序被系统回收)
loginctl enable-linger <your_username>
- 配置文件与网络调试
# 修改核心配置文件(超高频使用!!)
nano ~/.openclaw/openclaw.json
# 手动备份当前正常的配置文件
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak_$(date +%Y%m%d)
# 测试本地网关监听是否正常(返回 200/401 说明程序已就绪)
curl -I http://127.0.0.1:18789
# 获取服务器当前公网 IP(用于检查回调地址是否失效)
curl ifconfig.me
Tips:核心配置文件的各个字段都是什么意思,怎么写?
{
// ==========================================
// 1. Gateway (网关设置):决定机器人在哪开门
// ==========================================
"gateway": {
"port": 18789, // 默认监听端口,云服务器安全组需放行此端口
"access_key": "your_key", // 访问密钥,建议修改以防止别人盗用你的网关
"log_level": "info", // 日志级别:info(常规), debug(详细), error(仅报错)
"concurrency": 5 // 并发数:同时处理多少个人的消息
},
// ==========================================
// 2. Models (模型设置):决定机器人用谁的智力
// ==========================================
"models": [
{
"id": "my-gpt-4", // 你给这个模型起的别名
"provider": "openai", // 供应商:openai, anthropic, azure, ollama 等
"model_name": "gpt-4-turbo", // 真实的模型名称
"api_key": "xx-xxxx", // 你的 API 密钥
"base_url": "https://...",// 如果用国内中转或火山引擎,需填这里的 API 地址
"stream": true // 是否开启流式传输(一个字一个字蹦,视觉上更快)
}
],
// ==========================================
// 3. Channels (渠道设置):决定机器人在哪上班
// ==========================================
"channels": [
{
"type": "feishu", // 渠道类型
"app_id": "cli_xxxxxxxx", // 飞书应用的 App ID
"app_secret": "xxxxxxxx", // 飞书应用的 App Secret
"domain": "feishu", // 域名类型:feishu (国内版), lark (国际版)
"groupPolicy": "allowlist", // 全局群聊策略:allowlist (白名单模式,仅限下面指定的群)
// 也可以设为 "open" (全开) 或 "denyall" (全部禁止)
"groups": { // 具体的群聊权限管理
"oc_xxxxxxxxxxxx": { // 替换为具体的飞书群聊 ID (Group ID)
"enabled": true, // 是否在该群启用机器人
"groupPolicy": "open" // 该特定群聊的策略
}
// 如果有多个群,可以在下面继续添加 ID
},
"capabilities": "all", // 机器人功能权限:all (开启所有已安装的技能)
// 也可以指定特定功能,如 ["chat", "search"]
"replyMode": "streaming", // 回复模式:streaming (流式输出,即“蹦字”模式,体验最好)
// 也可以设为 "buffer" (等全部写完再发,延迟感重)
// --- 其他飞书必要参数 ---
"encrypt_key": "xxxx", // 飞书事件订阅的解密密钥
"verification_token": "xxxx" // 飞书事件订阅的验证 Token
}
],
// ==========================================
// 4. Agents (智能体设置):决定机器人的性格与记忆
// ==========================================
"agents": [
{
"id": "default_bot", // Agent 的唯一标识
"name": "智能助理", // 在界面上显示的名称
"system_prompt": "你是一个助手...", // 核心指令:定义机器人的角色和行为
"model_id": "my-gpt-4", // 绑定上面 models 模块中的 id
"params": {
"temperature": 0.7, // 随机性:越高越随机,越低越严谨
"max_tokens": 2000 // 单次回复的最大字数
},
"memory": {
"max_messages": 20, // 记得最近多少轮对话
"summarize_threshold": 4000 // 超过多少字符后自动总结(预防 Context 炸裂)
}
}
],
// ==========================================
// 5. Plugins/Skills (插件设置):决定机器人有什么超能力
// ==========================================
"skills": [
{
"name": "google-search", // 插件名称
"enabled": true, // 是否启用
"type": "mcp", // 插件类型:mcp, python, nodejs 等
"path": "./plugins/search",// 插件脚本存放的路径
"config": {
"api_key": "xxxx" // 插件特有的配置参数
}
}
],
// ==========================================
// 其他全局配置
// ==========================================
"storage": {
"type": "local", // 存储类型:local(本地文件), sqlite, redis
"path": "./data" // 聊天记录等数据的存放位置
},
"backup": {
"enabled": true, // 是否开启自动备份
"interval": "24h", // 备份频率:建议设为 24h 或更长,防止撑爆磁盘
"max_keep": 3 // 最多保留几个备份文件
}
}
- 开发者帮助与自检
# 手动前台启动网关(直接在屏幕输出报错信息,排雷利器)
/usr/bin/node <path_to_openclaw>/dist/index.js gateway --port 18789
# 查看系统内存余量
free -h
# 查看命令帮助界面
openclaw --help
- 进程暴力清理 (遇到死锁必做)
# 查看所有 Node.js 进程
ps aux | grep node
# 强制杀掉所有 OpenClaw 进程
pkill -9 -f openclaw
# 强制杀掉相关的 MCP 插件进程(如浏览器插件)
pkill -9 -f <plugin_name>
# 清理残留的锁文件(解决 Lock Timeout 报错的核心命令)
rm -rf /tmp/openclaw*
- 日志排查 (寻找死因)
# 查看所有 Node.js 进程
ps aux | grep node
# 强制杀掉所有 OpenClaw 进程
pkill -9 -f openclaw
# 强制杀掉相关的 MCP 插件进程(如浏览器插件)
pkill -9 -f <plugin_name>
# 清理残留的锁文件(解决 Lock Timeout 报错的核心命令)
rm -rf /tmp/openclaw*
- 磁盘空间维护 (预防 OOM 与 100% 爆满)
# 查看各分区磁盘空间使用率
df -h
# 统计当前目录下各文件夹的大小(揪出占用大头)
du -h --max-depth=2 2>/dev/null | sort -hr | head -n 10
# 清空所有历史备份文件(瞬间释放空间)
rm -rf ~/.openclaw/backups/*
# 【专业建议】只保留最新 1 个备份,自动删除旧文件
cd ~/.openclaw/backups && ls -t | sed '1d' | xargs -I {} rm "{}"
# 清理系统日志占用的空间(只保留最近 100M)
journalctl --vacuum-size=100M
# 清理软件包和 Node 缓存垃圾
apt-get clean
rm -rf ~/.npm/_cacache
rm -rf ~/.cache
二、飞书相关报错解决方案
- 为什么我在群里 @ 机器人,它装死不理我?
如果你的机器人私聊正常,但在群聊里没反应,通常是因为它被“门卫”拦住了,需要给特定的群发一张“通行证”。
在 openclaw.json 的 channels 部分,找到 groupPolicy。
- 如果它是 "allowlist":说明开启了白名单模式,只有你点名准许的群,机器人才能说话。
机器人得知道它在哪个群。这个 ID 通常以 oc_ 开头。打开飞书群聊的设置即可在最下方找到。
250px|700px|reset
找到后,在核心配置文件的 groups 这一块,按下面的格式把 ID 填进去:
"groups": { // 具体的群聊权限管理
"oc_xxxxxxxxxxxx": { // 替换为具体的飞书群聊 ID (Group ID)
"enabled": true, // 是否在该群启用机器人
"groupPolicy": "open" // 该特定群聊的策略
}
// 如果有多个群,可以在下面继续添加 ID
},
💡 还有更简单的办法吗?
如果你觉得改代码太麻烦,怕改错逗号:
- 快捷方式:直接把你的会话 ID(或者把机器人拉进群后的截图/提示)发给虾虾,让它在后台帮你“暴力破门”直接爬进去,连重启服务器都省了!
⚠️ 注意事项
- 逗号别漏了:如果你添加了多个群,记得群 ID 之间要用逗号隔开。
- 重启生效:修改完 openclaw.json 后,别忘了执行 systemctl --user restart openclaw-gateway 让配置生效。
- 用个人飞书账号养的虾,有可能拉到企业飞书群里吗?
答案:❌ 不行!个人飞书和企业飞书是两套系统!
✅ 解决方案:去企业飞书里重新注册一个机器人!
- 为什么让我的虾干什么都没有权限啊?
莫方!飞书官方插件即将上线,敬请期待……
四、结语
OpenClaw 的“崩”并不可怕,可怕的是你只有两招——重启和双手离开键盘。
多数时候它只是用一种很吓人的方式在提醒你:网关没起来、权限不对、长连接断了、磁盘满了、路由没命中……问题都很具体,只是报错不太会说人话。
当然,还有一个更关键的底层心法:别把自己当“技术小白”,把自己当“会使用 AI 的指挥官”。像小编这种几乎没代码基础的人,排障方式非常朴素——把日志、报错、配置片段一条条复制给其他 AI,让它们帮你翻译、定位、给步骤,然后你负责执行、验证、再把新结果回传。
你不需要一夜之间学会编程;你只需要学会把问题拆小、把信息喂准、把指令跑对。
会用 AI,编程就不再是门槛;会用 AI,人人都能玩虾。
所以这份指令合集的目标很简单:让你翻车时先稳住局面——先恢复服务,再定位原因,最后把坑填平。
祝大家玩虾愉快,少踩坑、多整活。你掌握了流程和信息,虾就能帮你高效干活。
顺带一提:在国内要把 OpenClaw 玩得又爽又稳,飞书确实是目前最省心的入口之一。原因不玄学,基本都落在“接入成本”和“可扩展性”这两件事上。
飞书开放平台本身对机器人生态很成熟:既有完善的 OpenAPI/事件体系,也提供长连接(WebSocket)订阅事件这种对个人开发者极友好的模式——不需要你自己搭公网回调地址、不用折腾内网穿透,机器开着能上网就能收消息,接入门槛直接从“要会搭服务器”降级成“会照着文档填参数”。
再加上飞书的能力够夯:文档、多维表格、自动化、任务、日历这些组件天然适合当 OpenClaw 的工具位,很多玩法不是“接上能聊”就结束了,而是能进一步做成工作流、做成可复用的机器人能力。
目前,围绕「OpenClaw × 飞书」的教程、排坑经验已经明显形成了规模:从开箱式接入指南到完整对接流程、到配对/审批这种新手最容易卡住的点,都有人写得很细,遇到问题时你不必孤军奋战。
甚至飞书也在把「让 AI 直接调用飞书能力」做成更标准化的接口工具,意味着你今天玩的是机器人,明天就能更顺滑地进化成「能调度飞书全家桶的智能体」。
还等什么,快玩起来吧!也欢迎大家在各大平台继续分享您的飞书玩虾心得!
我们下期再见。

















