调试

调试

本页面介绍调试辅助工具,用于流式输出,特别是当提供商标将推理内容混合到普通文本中时。

运行时调试覆盖

在聊天中使用 /debug 来设置仅运行时的配置覆盖(内存中,不写入磁盘)。 /debug 默认禁用;通过 commands.debug: true 启用。 当你需要切换晦涩的设置而无需编辑 openclaw.json 时,这很方便。

示例:

/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug unset messages.responsePrefix
/debug reset

/debug reset 清除所有覆盖并返回到磁盘上的配置。

Gateway 监视模式

为了快速迭代,在文件监视器下运行 gateway:

pnpm gateway:watch

这映射到:

node --watch-path src --watch-path tsconfig.json --watch-path package.json --watch-preserve-output scripts/run-node.mjs gateway --force

gateway:watch 后添加任何 gateway CLI 标志,它们将在每次重启时传递。

开发配置文件 + 开发 gateway (--dev)

使用开发配置文件来隔离状态并启动一个安全的、可丢弃的调试设置。有两个 --dev 标志:

  • 全局 --dev(配置文件): 将状态隔离在 ~/.openclaw-dev 下,并将 gateway 端口默认为 19001(派生端口随之变化)。
  • gateway --dev 告诉 Gateway 在缺失时自动创建默认配置 + 工作区**(并跳过 BOOTSTRAP.md)。

推荐流程(开发配置文件 + 开发引导):

pnpm gateway:dev
OPENCLAW_PROFILE=dev openclaw tui

如果你还没有全局安装,通过 pnpm openclaw ... 运行 CLI。

它的作用:

  1. 配置文件隔离(全局 --dev

    • OPENCLAW_PROFILE=dev
    • OPENCLAW_STATE_DIR=~/.openclaw-dev
    • OPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.json
    • OPENCLAW_GATEWAY_PORT=19001(浏览器/canvas 相应调整)
  2. 开发引导gateway --dev

    • 如果缺失则写入最小配置(gateway.mode=local,绑定回环)。
    • agent.workspace 设置为开发工作区。
    • 设置 agent.skipBootstrap=true(无 BOOTSTRAP.md)。
    • 如果缺失则种子化工作区文件: AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.md
    • 默认身份:C3‑PO(协议机器人)。
    • 在开发模式下跳过频道提供商(OPENCLAW_SKIP_CHANNELS=1)。

重置流程(全新开始):

pnpm gateway:dev:reset

注意:--dev全局配置文件标志,会被某些运行器忽略。 如果你需要明确拼写出来,使用环境变量形式:

OPENCLAW_PROFILE=dev openclaw gateway --dev --reset

--reset 清除配置、凭据、会话和开发工作区(使用 trash,而不是 rm),然后重新创建默认开发设置。

提示:如果非开发 gateway 已经在运行(launchd/systemd),先停止它:

openclaw gateway stop

原始流日志(OpenClaw)

OpenClaw 可以记录原始助手流,在任何过滤/格式化之前。 这是查看推理是否作为纯文本 delta 到达(或作为单独的思维块)的最佳方式。

通过 CLI 启用:

pnpm gateway:watch --raw-stream

可选路径覆盖:

pnpm gateway:watch --raw-stream --raw-stream-path ~/.openclaw/logs/raw-stream.jsonl

等效的环境变量:

OPENCLAW_RAW_STREAM=1
OPENCLAW_RAW_STREAM_PATH=~/.openclaw/logs/raw-stream.jsonl

默认文件:

~/.openclaw/logs/raw-stream.jsonl

原始块日志(pi-mono)

要捕获原始 OpenAI 兼容块,在它们被解析为块之前, pi-mono 暴露一个单独的日志记录器:

PI_RAW_STREAM=1

可选路径:

PI_RAW_STREAM_PATH=~/.pi-mono/logs/raw-openai-completions.jsonl

默认文件:

~/.pi-mono/logs/raw-openai-completions.jsonl

注意:这仅由使用 pi-mono 的 openai-completions 提供商的进程发出。

安全说明

  • 原始流日志可能包含完整的提示、工具输出和用户数据。
  • 将日志保留在本地,调试后删除它们。
  • 如果你分享日志,先清除秘密和 PII。