跳转至

通道交付和工具

频道已连接但消息不流动

如果频道状态为已连接但消息流停止流动,请重点检查策略、权限以及频道特定的投递规则。

openclaw channels status --probe
openclaw pairing list --channel <channel> [--account <id>]
openclaw status --deep
openclaw logs --follow
openclaw config get channels

查找以下内容:

  • DM 策略(pairing、allowlist、open、disabled)。
  • 群组允许列表和提及要求。
  • 缺少频道 API 权限/作用域。

常见特征:

  • mention required → 消息因群组提及策略而被忽略。
  • pairing / 待批准记录 → 发送者未获批准。
  • missing_scope、not_in_channel、Forbidden、401/403 → 频道身份验证/权限问题。

相关:

Cron 与心跳投递

如果 cron 或心跳未运行或未完成投递,请先验证调度器状态,然后再检查投递目标。

openclaw automations status
openclaw automations list
openclaw automations runs <jobId> --limit 20
openclaw system heartbeat last
openclaw logs --follow

查找以下内容:

  • Cron 已启用且存在下一次唤醒时间。
  • 任务运行历史状态(ok、skipped、error)。
  • 心跳跳过原因(quiet-hours、requests-in-flight、cron-in-progress、alerts-disabled、empty-heartbeat-file)。
常见特征
  • cron: scheduler disabled; jobs will not run automatically → cron 已被禁用。
  • cron: timer tick failed → 调度器计时器触发失败;请检查文件/日志/运行时错误。
  • heartbeat skipped 带 reason=quiet-hours → 不在活跃时段窗口内。
  • heartbeat skipped 带 reason=empty-heartbeat-file → 心跳监视暂存区仅包含空白、注释、标题、分隔线或空检查清单脚手架,因此 OpenClaw 跳过模型调用。
  • heartbeat skipped 带 reason=no-route → 默认的 owner 目标在 commands.ownerAllowFrom 或频道 allowFrom 中没有具体的 owner,owner 无法解析为 DM,或者未配置任何频道。显式的 last 还需要一条会话对话路由。
  • heartbeat: unknown accountId → 心跳投递目标的账户 ID 无效。
  • heartbeat skipped 带 reason=dm-blocked → 心跳目标解析为 DM 风格目标,而 agents.defaults.heartbeat.directPolicy(或按 agent 覆盖的配置)设置为 block。

相关:

节点已配对但工具失败

如果节点已配对但工具失败,请分别隔离检查前台状态、权限和审批状态。

openclaw nodes status
openclaw nodes describe --node <idOrNameOrIp>
openclaw approvals get --node <idOrNameOrIp>
openclaw logs --follow
openclaw status

查找以下内容:

  • 节点在线且具备预期能力。
  • 已授予相机/麦克风/位置/屏幕的操作系统权限。
  • Exec 审批和允许列表状态。

常见特征:

  • NODE_BACKGROUND_UNAVAILABLE → 节点应用必须处于前台。
  • *_PERMISSION_REQUIRED / LOCATION_PERMISSION_REQUIRED → 缺少操作系统权限。
  • SYSTEM_RUN_DENIED: approval required → 存在待处理的 exec 审批。
  • SYSTEM_RUN_DENIED: allowlist miss → 命令被允许列表阻止。

相关:

浏览器工具失败

当浏览器工具操作失败但网关本身健康时,使用本部分进行排查。

openclaw browser status
openclaw browser start --browser-profile openclaw
openclaw browser profiles
openclaw logs --follow
openclaw doctor

查找以下内容:

  • 是否设置了 plugins.allow 且包含 browser。
  • 有效的浏览器可执行文件路径。
  • CDP 配置文件的可达性。
  • 本地 Chrome 对 existing-session / user 配置文件的可用性。
插件 / 可执行文件特征
  • unknown command "browser" 或 unknown command 'browser' → 内置浏览器插件被 plugins.allow 排除。
  • 浏览器工具缺失/不可用,但 browser.enabled=true → plugins.allow 排除了 browser,因此插件从未加载。
  • Failed to start Chrome CDP on port → 浏览器进程启动失败。
  • browser.executablePath not found → 配置的路径无效。
  • browser.cdpUrl must be http(s) or ws(s) → 配置的 CDP URL 使用了不受支持的协议方案,例如 file: 或 ftp:。
  • browser.cdpUrl has invalid port → 配置的 CDP URL 端口无效或超出范围。
  • Playwright is not available in this gateway build; '<feature>' is unsupported. → 当前网关安装缺少核心浏览器运行时依赖;请重新安装或更新 OpenClaw,然后重启网关。ARIA 快照和基础页面截图仍然可以工作,但导航、AI 快照、CSS 选择器元素截图和 PDF 导出仍然不可用。
Chrome MCP / existing-session 特征
  • Could not find DevToolsActivePort for chrome → Chrome MCP 的 existing-session 尚无法附加到选定的浏览器数据目录。请打开浏览器的检查页面,启用远程调试,保持浏览器打开,批准首次附加提示,然后重试。如果不需要登录状态,请优先使用受管的 openclaw 配置文件。
  • No browser tabs found for profile="user" → Chrome MCP 的附加配置文件没有任何打开的本地 Chrome 标签页。
  • Remote CDP for profile "<name>" is not reachable → 配置的远程 CDP 端点无法从网关主机访问。
  • Browser attachOnly is enabled ... not reachable 或 Browser attachOnly is enabled and CDP websocket ... is not reachable → 仅附加(attach-only)配置文件没有可达的目标,或 HTTP 端点已响应但仍无法打开 CDP WebSocket。
元素 / 截图 / 上传特征
  • fullPage is not supported for element screenshots → 截图请求将 --full-page 与 --ref 或 --element 混用。
    • element screenshots are not supported for existing-session profiles; use ref from snapshot. → Chrome MCP / existing-session 截图调用必须使用页面捕获或快照 --ref,不能使用 CSS --element。
    • existing-session file uploads do not support element selectors; use ref/inputRef. → Chrome MCP 上传钩子需要快照 ref,而不是 CSS 选择器。
    • existing-session file uploads currently support one file at a time. → 在 Chrome MCP 配置文件上,每次调用仅发送一个上传。
    • existing-session dialog handling does not support timeoutMs. → Chrome MCP 配置文件上的对话框钩子不支持超时覆盖。
    • existing-session type does not support timeoutMs overrides. → 对于 profile="user" / Chrome MCP existing-session 配置文件,省略 act:type 的 timeoutMs;当需要自定义超时时,请使用受管/CDP 浏览器配置文件。
    • response body is not supported for existing-session profiles yet. → responsebody 仍需要受管浏览器或原始 CDP 配置文件。
    • 仅附加或远程 CDP 配置文件上的过期视口 / 深色模式 / 区域设置 / 离线覆盖 → 运行 openclaw browser stop --browser-profile <name> 关闭活动控制会话并释放 Playwright/CDP 模拟状态,无需重启整个网关。

相关:

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw