调试
本页介绍了用于流式输出的调试辅助工具,尤其适用于提供商将推理内容混入普通文本的情况。运行时调试覆盖
在聊天中使用/debug 设置仅运行时的配置覆盖(保存在内存中,而非磁盘)。
/debug 默认禁用;使用 commands.debug: true 启用。
当你需要切换一些不常用设置,而又不想编辑 openclaw.json 时,这会很方便。
示例:
/debug reset 会清除所有覆盖,并恢复到磁盘上的配置。
Gateway 网关监视模式
为了快速迭代,可在文件监视器下运行 Gateway 网关:src/ 下与构建相关的文件、扩展源码文件、扩展的 package.json 和 openclaw.plugin.json 元数据、tsconfig.json、package.json 以及 tsdown.config.ts 发生变化时重启。
扩展元数据变更会在不强制执行 tsdown 重建的情况下重启 Gateway 网关;源码和配置变更仍会先重建 dist。
在 gateway:watch 之后添加任何 Gateway 网关 CLI 标志,它们都会在每次重启时透传。
现在,对于同一仓库和相同标志组合,重复运行相同的监视命令会替换旧的监视器,而不会留下重复的监视器父进程。
开发配置文件 + 开发 Gateway 网关(--dev)
使用开发配置文件来隔离状态,并为调试启动一个安全、可随时丢弃的环境。这里有两个 --dev 标志:
- 全局
--dev(配置文件): 将状态隔离到~/.openclaw-dev下,并将 Gateway 网关端口默认设为19001(派生端口也会随之变化)。 gateway --dev: 告诉 Gateway 网关在缺失时自动创建默认配置 + 工作区**(并跳过 BOOTSTRAP.md)**。
pnpm openclaw ... 运行 CLI。
它会执行以下操作:
-
配置文件隔离(全局
--dev)OPENCLAW_PROFILE=devOPENCLAW_STATE_DIR=~/.openclaw-devOPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.jsonOPENCLAW_GATEWAY_PORT=19001(浏览器/canvas 端口也会相应变化)
-
开发引导(
gateway --dev)- 如果缺失则写入最小化配置(
gateway.mode=local,绑定到 loopback)。 - 将
agent.workspace设为开发工作区。 - 设置
agent.skipBootstrap=true(不使用 BOOTSTRAP.md)。 - 如果缺失,则为工作区填充以下文件:
AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md。 - 默认身份:C3‑PO(礼仪机器人)。
- 在开发模式下跳过渠道提供商(
OPENCLAW_SKIP_CHANNELS=1)。
- 如果缺失则写入最小化配置(
--dev 是一个全局配置文件标志,有些运行器会吞掉它。
如果你需要显式写出它,请使用环境变量形式:
--reset 会清除配置、凭证、会话以及开发工作区(使用 trash,而不是 rm),然后重新创建默认的开发环境。
提示:如果一个非开发模式的 Gateway 网关已经在运行(launchd/systemd),请先停止它:
原始流日志(OpenClaw)
OpenClaw 可以在任何过滤/格式化之前记录原始 assistant 流。 这是查看推理内容是否以纯文本增量形式到达(或作为独立 thinking 块到达)的最佳方式。 通过 CLI 启用:~/.openclaw/logs/raw-stream.jsonl
原始分块日志(pi-mono)
要在块被解析之前捕获原始 OpenAI 兼容分块,pi-mono 提供了一个单独的日志记录器:~/.pi-mono/logs/raw-openai-completions.jsonl
注意:这仅由使用 pi-mono 的
openai-completions 提供商的进程输出。
安全注意事项
- 原始流日志可能包含完整提示词、工具输出和用户数据。
- 请将日志保留在本地,并在调试后删除。
- 如果你要分享日志,请先清除密钥和个人身份信息(PII)。