> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenClaw agent runtime workflow

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

## 类型检查和代码检查

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

## 运行 Agent Runtimes 测试

运行 Agent Runtimes 单元测试套件：

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
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 存储。

## 参考

* [测试](/zh-CN/help/testing)
* [入门指南](/zh-CN/start/getting-started)

## 相关内容

* [OpenClaw agent runtime architecture](/zh-CN/agent-runtime-architecture)
