# OpenClaw agent runtime workflow

> OpenClaw Agent 运行时开发者工作流：构建、测试和实时验证

- 网址：https://funcoding.ai/agents/openclaw/openclaw-agent-runtime/
- 来源：OpenClaw 官方文档原文（中文），MIT 许可，同步于 2026-10-11
- 官方原文：https://docs.openclaw.ai/zh-CN/openclaw-agent-runtime

---
OpenClaw 仓库中 Agent Runtimes（`src/agents/`）的开发者工作流。

## 类型检查和代码检查

- 默认本地检查：`pnpm check`（类型检查、代码检查、策略防护）
- 构建检查：当更改可能影响构建输出、打包或延迟加载/模块边界时，运行 `pnpm build`
- 完整的推送前检查：`pnpm build && pnpm check && pnpm check:test-types && pnpm test`

## 运行 Agent Runtimes 测试

运行 Agent Runtimes 单元测试套件：

```bash
pnpm test \
  "src/agents/agent-*.test.ts" \
  "src/agents/embedded-agent-*.test.ts" \
  "src/agents/agent-hooks/**/*.test.ts"
```

第一个 glob 也涵盖 `agent-tools*`、`agent-settings` 和
`agent-tool-definition-adapter*` 测试套件。

单元测试配置不包含实时测试；请通过实时测试
包装器运行（它会设置 `OPENCLAW_LIVE_TEST=1`，并且需要提供商凭据）：

```bash
pnpm test:live src/agents/embedded-agent-runner-extraparams.live.test.ts
```

## 手动测试

- 以开发模式运行 Gateway 网关（通过 `OPENCLAW_SKIP_CHANNELS=1` 跳过渠道连接）：`pnpm gateway:dev`
- 通过 Gateway 网关触发一次智能体轮次：`pnpm openclaw agent --message "Hello" --thinking low`
- 使用 TUI 进行交互式调试：`pnpm tui`

若要测试工具调用行为，请提示执行 `read` 或 `exec` 操作，以便观察
工具的流式传输和载荷处理。

## 全新状态重置

状态存储在 OpenClaw 状态目录中：默认为 `~/.openclaw`，设置
`$OPENCLAW_STATE_DIR` 后则使用该值。相对于该目录的路径如下：

| 路径                                           | 存储内容                                                              |
| ---------------------------------------------- | ------------------------------------------------------------------ |
| `openclaw.json`                                | 配置                                                             |
| `state/openclaw.sqlite`                        | 共享运行时状态数据库                                      |
| `agents/<agentId>/agent/openclaw-agent.sqlite` | 各智能体的模型身份验证配置文件（API 密钥 + OAuth）和运行时状态 |
| `credentials/`                                 | 身份验证配置文件存储之外的提供商/渠道凭据        |
| `agents/<agentId>/sessions/`                   | 对话记录历史和旧版会话迁移源            |
| `sessions/`                                    | 旧版单智能体会话存储（仅限旧安装）              |
| `workspace/`                                   | 默认 Agent 工作区（额外智能体使用 `workspace-<agentId>`）   |

删除这些路径即可完全重置。范围更小的重置：

- 仅重置会话：不要删除 `agents/<agentId>/agent/openclaw-agent.sqlite`；会话行与其他各智能体状态一同存储在其中。使用 `/new` 或 `/reset` 为单个聊天启动新会话，并使用 `openclaw sessions cleanup` 维护会话。
- 保留身份验证：保留 `agents/<agentId>/agent/openclaw-agent.sqlite` 和 `credentials/`。

运行时不再读取旧版 `auth-profiles.json` 文件；
`openclaw doctor --fix` 会将其导入 SQLite 存储。

## 参考

- [测试](https://docs.openclaw.ai/zh-CN/help/testing)
- [入门指南](https://funcoding.ai/agents/openclaw/start/getting-started/)

## 相关内容

- [OpenClaw agent runtime architecture](https://funcoding.ai/agents/openclaw/agent-runtime-architecture/)
