Pi 开发工作流

本指南总结了在 OpenClaw 中进行 Pi 集成开发的推荐工作流。

类型检查与 Lint

  • 类型检查与构建:pnpm build
  • Lint:pnpm lint
  • 格式检查:pnpm format
  • 推送前的完整检查:pnpm lint && pnpm build && pnpm test

运行 Pi 测试

使用 Vitest 直接运行 Pi 相关的测试集:

pnpm test -- \
  "src/agents/pi-*.test.ts" \
  "src/agents/pi-embedded-*.test.ts" \
  "src/agents/pi-tools*.test.ts" \
  "src/agents/pi-settings.test.ts" \
  "src/agents/pi-tool-definition-adapter*.test.ts" \
  "src/agents/pi-extensions/**/*.test.ts"

要包含实时提供商测试:

OPENCLAW_LIVE_TEST=1 pnpm test -- src/agents/pi-embedded-runner-extraparams.live.test.ts

覆盖的主要 Pi 单元测试套件:

  • src/agents/pi-*.test.ts
  • src/agents/pi-embedded-*.test.ts
  • src/agents/pi-tools*.test.ts
  • src/agents/pi-settings.test.ts
  • src/agents/pi-tool-definition-adapter.test.ts
  • src/agents/pi-extensions/*.test.ts

手动测试

推荐流程:

  • 以开发模式运行 Gateway:
    • pnpm gateway:dev
  • 直接触发 agent:
    • pnpm openclaw agent --message "Hello" --thinking low
  • 使用 TUI 进行交互式调试:
    • pnpm tui

如果要测试工具调用行为,发送一个 readexec 操作的指令,这样可以观察工具的流式输出和载荷处理。

重置到初始状态

状态存储在 OpenClaw 状态目录下,默认是 ~/.openclaw。如果设置了 OPENCLAW_STATE_DIR,则使用该目录。

要重置所有内容:

  • openclaw.json — 配置
  • credentials/ — 认证配置和 token
  • agents/<agentId>/sessions/ — agent 会话历史
  • agents/<agentId>/sessions.json — 会话索引
  • sessions/ — 如果存在旧版路径
  • workspace/ — 如果需要一个全新的工作区

如果只想重置会话,删除对应 agent 的 agents/<agentId>/sessions/agents/<agentId>/sessions.json 即可。保留 credentials/ 可以避免重新认证。

参考资料