#openclaw-cn无法自动化

1 messages · Page 1 of 1 (latest)

wise jungleBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

void oysterBOT
#

你描述的这种“像普通 AI 一样触发式(你说一句它回一句)”,在 OpenClaw 里其实是默认行为:只有在你把 自动化触发器 + 投递目标 配好之后,它才会“按时提醒/主动汇报”。

下面按最常见的卡点给你一个最短排查+落地方案(Windows/飞书都覆盖)。


0) 先确认:Gateway 必须 24/7 常驻运行

定时提醒、主动汇报(cron/heartbeat)都运行在 Gateway 进程内部
如果你只是 CMD 里前台跑着,窗口一关/电脑休眠,自动化就不会触发。

请先跑:

openclaw gateway status

如果显示没在跑,建议安装成服务(Windows 也支持):

#
openclaw gateway install
openclaw gateway start

(或重新跑向导:openclaw onboard,选安装 daemon/service)


1) “按时提醒”用 Cron(最靠谱)

OpenClaw 的定时任务是 openclaw cron ...

先做一个 1 分钟后的测试提醒(投递到飞书):

1.1 先拿到飞书 ID(必须)

  • 你的 user open_id 通常长这样:ou_xxx
  • 群聊 chat_id 通常长这样:oc_xxx
#

获取方法(官方推荐):
你在飞书里给机器人发条消息/在群里 @ 机器人,然后在网关机器上看日志:

openclaw logs --follow

也可以看配对列表(DM 默认是 pairing):

openclaw pairing list feishu
openclaw pairing approve feishu <CODE>

飞书配置文档(中文):https://docs.openclaw.ai/zh-CN/channels/feishu

1.2 创建 cron job(DM 给你自己)

#

ou_xxx 换成你的 open_id:

openclaw cron add \
  --name "cron-test" \
  --at "1m" \
  --session isolated \
  --message "cron 测试:如果你收到这条消息,说明定时任务正常。" \
  --announce \
  --channel feishu \
  --to "user:ou_xxx"

如果要发到群里,把 --to 换成:

#
--to "chat:oc_xxx"

查看任务/运行记录:

openclaw cron list
openclaw cron runs --id <jobId> --limit 50

Cron 文档(中文):https://docs.openclaw.ai/zh-CN/automation/cron-jobs


2) “主动汇报”用 Heartbeat(定期自检后推送)

Heartbeat 是“每隔一段时间跑一轮主会话”,用于主动发现需要你注意的事。

#

关键点:要显式设置投递目标,否则它可能只运行但不发消息。

~/.openclaw/openclaw.json(JSON5)里加:

{
  agents: {
    defaults: {
      heartbeat: {
        every: "30m",
        target: "last"   // 把心跳结果投递到“上一次对话的渠道”(比如飞书)
      }
    }
  }
}
#

然后重启 gateway:

openclaw gateway restart

并在你的工作区放一个 HEARTBEAT.md,写清楚它要“汇报什么”。
Heartbeat 文档(中文):https://docs.openclaw.ai/zh-CN/gateway/heartbeat


3) 你现在“完全不能自动化”的最常见原因(按概率排序)

  1. Gateway 没常驻(CMD 前台跑、关窗口就停)→ cron/heartbeat 都不会触发
  2. 飞书 channel 没配好 / 没发布应用 / 没订阅 im.message.receive_v1 → 收不到/发不出
  3. DM 还没 pairing approve → 机器人不会把你当授权用户处理
  4. 你配置了 tools.allow 白名单,但没放行 cron / message 等工具 → 你让它“帮你设置提醒”它也做不到(只能聊天)
#

4) 为了快速定位,请你把这几条输出贴出来

(注意别贴 token/secret)

openclaw status --all
openclaw gateway status
openclaw channels status
openclaw cron list

我看完基本就能判断是“没常驻/没投递目标/飞书没通/权限或 pairing 卡住/cron 被禁用”等哪一类问题。

cold river
# void oyster 你描述的这种“像普通 AI 一样触发式(你说一句它回一句)”,在 OpenClaw 里其实是**默认行为**:只有在你把 **自动化触发器 + 投递目标** 配...

C:\Windows\system32>openclaw-cn gateway status

🦞 OpenClaw-CN 0.1.7 (415f7b6) — 如果是重复性的,我会自动化它;如果是困难的,我会带来笑话和回滚计划。

|
o
Service: Scheduled Task (registered)
File logs: \tmp\clawdbot\clawdbot-2026-03-10.log
Command: C:Program Filesnodejsnode.exe C:UsersadminAppDataRoamingnpmnode_modulesopenclaw-cndistentry.js gateway --port 18789
Service env: OPENCLAW_GATEWAY_PORT=18789

Config (cli): ~.openclaw\openclaw.json
Config (service): ~.openclaw\openclaw.json

Gateway: bind=loopback (127.0.0.1), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.

Runtime: unknown
RPC 探测: 失败
RPC 目标: ws://127.0.0.1:18789
gateway closed (1006 abnormal closure (no close frame)): no close reason
Gateway target: ws://127.0.0.1:18789
Source: cli --url
Config: C:\Users\admin.openclaw\openclaw.json

问题排查: run openclaw-cn status
故障排除: https://docs.clawd.bot/troubleshooting

void oysterBOT
#

你这个输出里最关键的信息其实是:Gateway 根本没健康跑起来,所以后面 cron/heartbeat/飞书收发/主动汇报都不可能正常。

现在的状态是:

  • Service:Scheduled Task 已注册 ✅
  • Runtime: unknown + RPC 探测: 失败
  • 错误:gateway closed (1006 abnormal closure)(通常表示:端口上要么没有真正的 Gateway,要么进程一起来就崩/立刻退出

先把 Gateway 修到 RPC probe: ok,自动化才有基础。


1) 先按它提示的做:跑一次 status(会给更具体原因)

在同一个 CMD 里执行并把输出贴出来:

#
openclaw-cn status

如果支持的话也贴:

openclaw-cn status --all

2) 直接看网关日志(这里 99% 会有崩溃栈/配置错误)

你这里已经给了日志路径:

File logs: \tmp\clawdbot\clawdbot-2026-03-10.log

#

在 Windows 上一般就是 C:\tmp\clawdbot\...。你可以贴最后 200 行:

powershell -NoProfile -Command "Get-Content -Tail 200 C:\tmp\clawdbot\clawdbot-2026-03-10.log"

或者如果你不确定盘符,就直接用它显示的路径试一下:

powershell -NoProfile -Command "Get-Content -Tail 200 \tmp\clawdbot\clawdbot-2026-03-10.log"

(把输出中涉及 token/secret 的部分打码就行。)


3) 排除端口被别的进程占用(很常见,会导致“连上就断/不是正确协议”)

#
netstat -ano | findstr :18789
  • 如果看到有 PID 在监听 18789,但不是 openclaw-cn 的 node 进程,那 RPC probe 就会各种失败(包括 1006)。
  • 这一步的输出也贴一下(至少贴 PID)。

4) 重新安装/修复服务命令(如果任务里启动命令/路径坏了)

你 status 里那行 Command: C:Program Filesnodejsnode.exe ... 看起来像路径反斜杠/引号被吃了(可能是显示问题,也可能任务里真坏了)。

可以尝试强制重装 service 元数据:

openclaw-cn gateway install --force
#
openclaw-cn gateway restart
openclaw-cn gateway status

目标是看到:

  • Runtime: running
  • RPC probe: ok

等你把 (1) status 输出(2) 日志最后 200 行(再加上可选的 netstat)贴出来,我就能准确告诉你是:

  • 网关启动即崩(配置/插件/模型/权限问题)
  • 端口冲突
  • Scheduled Task 实际没跑起来
  • 还是网关在跑但 WS 握手被别的东西干扰