Files
pikasTech-HWLAB/docs/reference/spec-v02-hwlab-agent-worker.md
T
2026-06-01 22:29:54 +08:00

47 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`
- v0.2 CI/CD 中 worker 使用 `env-reuse-git-mirror-checkout`:环境镜像只承载 runtime、依赖、launcher 和 git client,实际 worker 代码由 `HWLAB_BOOT_REPO``HWLAB_BOOT_COMMIT``HWLAB_BOOT_SH=deploy/runtime/boot/hwlab-agent-worker.sh``devops-infra` git mirror checkout 后启动。worker code-only 变更不得触发 `hwlab-agent-worker` service image BuildKit 重建,只允许更新 boot commit 和 Job template identity。
## 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`。 |
| v0.2 env-reuse 启动 | 已实现 | `deploy/runtime/boot/hwlab-agent-worker.sh` 通过 git mirror checkout 后执行 worker CLIcode-only 变更复用 env image。 |
| session-scoped evidence 写入 | 已实现 | 本地 dry-run 覆盖 trace/evidence。 |
| 长驻 HTTP API | 不适用 | worker 不是长驻服务。 |
| 生产调度与真实执行 | 未完全实现 | 当前仍是 skeleton/dry-run 模式。 |