2.2 KiB
2.2 KiB
v0.2 hwlab-agent-worker 服务规格
hwlab-agent-worker 是 session-scoped 执行模板,在 hwlab-v02 中以 suspended Job template hwlab-agent-worker-template 存在。它不是长驻 HTTP 服务。
在系统中的职责划分
- 在未来由 manager 或调度器实例化为单次 worker Job,执行一个 agent session 的受控工作。
- 负责写入 worker trace、evidence、workspace dry-run 结果,并在完成后退出。
- 不保存长期用户状态,不直接处理浏览器或公网请求。
内部架构
cmd/hwlab-agent-worker/main.ts提供 CLI 命令health和dry-run/smoke。internal/agent/runtime.mjs提供runLocalWorkerDryRun,读取 manager 创建的本地 session 状态并写入 evidence。- Job template 通过 env 注入
HWLAB_AGENT_SESSION_ID、HWLAB_SKILL_COMMIT_ID和HWLAB_SKILL_VERSION。
API 接口说明
| 接口 | 说明 |
|---|---|
bun run cmd/hwlab-agent-worker/main.ts health |
返回 worker health、runtime mode 和 skills 注入状态。 |
bun run cmd/hwlab-agent-worker/main.ts dry-run --agent-session-id ID |
执行本地 dry-run worker 流程,写入 trace/evidence。 |
| Kubernetes Job template | hwlab-agent-worker-template 默认 suspend: true,只能由受控调度实例化。 |
测试规格
T1
阅读 docs/reference/spec-v02-hwlab-agent-worker.md,然后用 cli 手动测试以下内容:从 Job template dry-run 或本地 CLI 执行 health,确认输出 JSON,且缺少 skill commit/version 时明确 degraded 或 blocked。
T2
阅读 docs/reference/spec-v02-hwlab-agent-worker.md,然后用 cli 手动测试以下内容:先用 agent-mgr 创建 session,再执行 worker dry-run,确认 trace 和 evidence 均写入同一 isolated state-dir。
规格的实现情况
| 规格项 | 状态 | 说明 |
|---|---|---|
| CLI health/dry-run | 已实现 | worker 以 JSON 输出。 |
| suspended Job template | 已实现 | runtime-v02 中存在 hwlab-agent-worker-template。 |
| session-scoped evidence 写入 | 已实现 | 本地 dry-run 覆盖 trace/evidence。 |
| 长驻 HTTP API | 不适用 | worker 不是长驻服务。 |
| 生产调度与真实执行 | 未完全实现 | 当前仍是 skeleton/dry-run 模式。 |