# PJ2026-01 HWLAB 总规格

## 修改历史

| 版本 | 对应 commit id | 更新日期 | 变更说明 |
| --- | --- | --- | --- |
| v0.4 | b5d8cee438a3bd66ca440a25bf5a16d9081d9efa | 2026-06-14 | 将 issue/PR 引用显示改为短号 Markdown 链接，链接目标保留完整 URL。 |
| v0.3 | b0cbe9b721b50e9fff4d350ee50ed2af03cf0405 | 2026-06-14 | 将 issue/PR 引用改为完整 GitHub URL，避免 Markdown 渲染时裸 # 编号失效。 |
| v0.2 | b40a37ce771811cc97d74ef0909a7ce441161c6b | 2026-06-14 | 移除项目管理目录中的 evidence 文件，长证据保留在 GitHub issue。 |
| v0.1 | 37de91c653c055bf19ac271bdb687b54072639fa | 2026-06-14 | 从迁移来源 pikasTech/HWLAB#1194 迁移到 UniDesk 项目管理目录。 |

当前正文仍在规格治理草稿中；未定稿前不新增版本号，不为单次编辑追加 `待提交` 版本。

## 正文

## PJ2026-01 HWLAB 总项目需求规格

## 1. 文档控制

| 字段 | 内容 |
| --- | --- |
| 编号 | PJ2026-01 |
| 短名 | HWLAB |
| 层级 | L0 总项目 |
| 状态 | 已生效 |
| 需求规格模板 | [ISO/IEC/IEEE 29148 需求规格模板](../../templates/iso-iec-ieee-29148-requirements-spec-template.md) |
| 规格治理索引 | [规格治理](spec-governance.md) |

本文采用 [ISO/IEC/IEEE 29148 需求规格模板](../../templates/iso-iec-ieee-29148-requirements-spec-template.md) 的 HWLAB 裁剪版：正文只保留稳定使命、范围、术语、系统边界、内部模块分工、全局原子需求和必要过程控制。

## 2. 目的和范围

### 2.1 项目使命

HWLAB 的中心目标是把真实硬件资源、Agent 执行、Harness/RL 验收反馈、多客户端入口、多用户运营和平台自动化运维收敛为一个云端硬件研发平台。平台必须服务真实硬件研发闭环：用户或训练任务通过客户端/API 提出需求，Agent 在受控 workspace 中执行，通过硬件池触达真实设备，由 HarnessRL 形成可审计执行事实，并把成功路径、失败分类和训练反馈回流为可复用能力。

### 2.2 范围内

- 真实硬件资源池：板卡、probe、HWPOD 节点、设备注册、占用、健康、可用性和原始硬件事实。
- Agent 执行编排：Code Agent、AgentRun、workspace、session、provider profile、任务生命周期和任务恢复。
- Harness/RL 验收闭环：harness、CaseRun、HWPOD 观测引用、执行事实、评估、回放、训练反馈和 RL 闭环。
- 用户入口：Web、CLI、HTTP API、兼容性、任务入口、状态查看和结果获取。
- 用户与运营管理：用户、组织、组织项目、组织工作台、注册登录、权限、API key、credit、usage、billing、admin 和租户隔离。
- 系统可用性与服务保障：入口可访问、任务可恢复、资源使用可控、运行状态可观察和故障可处理。

### 2.3 范围外

- 无 L1 主责归属的孤立工具美化、旧门禁修补或无原入口验收的观测增强。
- 单个 PR、一次 CaseRun、一次 smoke、一次部署或阶段报告流水；这些属于 L3/L4 或报告，不属于 L0 需求规格正文。
- 具体实现设计、代码结构、临时运行面调试路径、原始日志堆叠和每日进展统计。
- 编号、回写、偏离和管理流程全文；这些由 [规格治理](spec-governance.md) 承载。
- 当前阶段优先级和阶段主线全文；这些属于阶段计划，不属于 L0 需求规格正文。

## 3. 术语表

| 术语 | 定义 |
| --- | --- |
| HWLAB | 面向真实硬件研发的云端平台，覆盖硬件资源、Agent 执行、Harness/RL 验收、客户端入口、用户运营和平台运维。 |
| HWPOD | 对真实硬件研发资源的标准化抽象，至少关联目标设备、workspace、debug probe 和 io probe，并提供可被服务端和工具引用的资源身份。 |
| 硬件池 | 管理真实硬件资源身份、能力声明、占用释放、健康状态和原始硬件事实的内部模块。 |
| Agent编排 | 管理 Code Agent、AgentRun、workspace、session、provider profile、任务生命周期和任务恢复的内部模块。 |
| HarnessRL | 将硬件执行结果转化为执行事实、aggregate、评估、回放和训练反馈的内部模块。 |
| 客户端 | 面向用户的 Web、CLI 和 HTTP API 入口。 |
| 用户管理 | 管理用户身份、组织协同、权限、API key、credit、usage、billing、admin 和租户隔离的内部模块。 |
| 平台运维 | 管理 CI/CD、git mirror、YAML-first 配置、Secret 下发、rollout、observability、GC 和平台发布的内部模块。 |
| 执行事实 | 可审计、可复验的硬件执行材料，包括硬件事实、执行 trace、ioProbe 数据、case registry、评估结果和必要日志摘要。 |
| 原入口验收 | 通过用户真实使用入口或该能力的原始执行入口完成验收，例如 Web、CLI、API、CaseRun、AgentRun 或 HWPOD 工具。 |
| 运行面 | 承载任务执行或服务运行的实际环境，例如目标 lane、namespace、workspace、node、pod 或外部硬件节点。 |

## 4. 系统边界和接口

本规格把 HWLAB 作为一个完整系统看待；本章只描述外部输入、外部输出和系统边界，不描述内部治理流程。

| 边界项 | 内容 |
| --- | --- |
| 外部使用者 | 硬件研发用户、训练任务、平台管理员。 |
| 外部输入 | 硬件研发任务、源码或工程 workspace、目标设备或 HWPOD 选择、构建/下载/调试/采样指令、用户身份凭据、API key、额度和资源约束。 |
| 受控资源 | 真实板卡、debug probe、io probe、HWPOD node、Agent 执行环境、provider profile、用户账号、额度和任务产物存储。 |
| 外部输出 | 任务状态、执行结果、构建/下载/调试产物、硬件采样数据、评估摘要、错误语义、usage/credit 记录和可复验运行记录。 |
| 用户接口 | Web、CLI、HTTP API。 |
| 硬件接口 | HWPOD spec、HWPOD 工具、HWPOD 服务、AI 网关、debug probe、UART、board-comm、ioProbe。 |
| 系统边界 | HWLAB 负责把用户任务连接到受控 Agent 和真实硬件，并返回可理解、可审计、可复用的结果；不替代用户对硬件设计目标、工程代码正确性和业务取舍的判断。 |

## 5. 内部模块分工与规格索引

L1 划分保持现有六个内部能力模块；本章同时作为内部模块分工和方向规格索引。

| 编号 | 内部模块 | 规格文档 | 主责边界 | 上游依赖 | 下游支撑 |
| --- | --- | --- | --- | --- | --- |
| PJ2026-0101 | 硬件池 | [PJ2026-0101 硬件池](PJ2026-0101-hardware-pool.md) | 板卡、探针、HWPOD node、设备注册、资源占用、设备健康、可用性 | [平台运维](PJ2026-0106-platform-ops.md) | [Agent编排](PJ2026-0102-agent-orchestration.md)、[HarnessRL](PJ2026-0103-harness-rl.md)、[客户端](PJ2026-0104-client.md) |
| PJ2026-0102 | Agent编排 | [PJ2026-0102 Agent编排](PJ2026-0102-agent-orchestration.md) | Code Agent、AgentRun、workspace、session、provider profile、任务生命周期、任务恢复 | [硬件池](PJ2026-0101-hardware-pool.md)、[平台运维](PJ2026-0106-platform-ops.md)、[用户管理](PJ2026-0105-user-management.md) | [HarnessRL](PJ2026-0103-harness-rl.md)、[客户端](PJ2026-0104-client.md) |
| PJ2026-0103 | HarnessRL | [PJ2026-0103 HarnessRL](PJ2026-0103-harness-rl.md) | harness、CaseRun、HWPOD 观测引用、执行事实、评估、回放、训练反馈、RL 闭环 | [硬件池](PJ2026-0101-hardware-pool.md)、[Agent编排](PJ2026-0102-agent-orchestration.md)、[平台运维](PJ2026-0106-platform-ops.md) | [客户端](PJ2026-0104-client.md)、[用户管理](PJ2026-0105-user-management.md) |
| PJ2026-0104 | 客户端 | [PJ2026-0104 客户端](PJ2026-0104-client.md) | Web、CLI、HTTP API、兼容性、用户任务入口与结果获取 | [用户管理](PJ2026-0105-user-management.md)、[Agent编排](PJ2026-0102-agent-orchestration.md)、[硬件池](PJ2026-0101-hardware-pool.md)、[HarnessRL](PJ2026-0103-harness-rl.md)、[平台运维](PJ2026-0106-platform-ops.md) | 用户入口 |
| PJ2026-0105 | 用户管理 | [PJ2026-0105 用户管理](PJ2026-0105-user-management.md) | 用户、组织、组织项目、组织工作台、权限、API key、credit、usage、billing、admin、租户隔离 | [客户端](PJ2026-0104-client.md)、[Agent编排](PJ2026-0102-agent-orchestration.md)、[HarnessRL](PJ2026-0103-harness-rl.md)、[平台运维](PJ2026-0106-platform-ops.md) | [客户端](PJ2026-0104-client.md)、[Agent编排](PJ2026-0102-agent-orchestration.md)、[硬件池](PJ2026-0101-hardware-pool.md)、[HarnessRL](PJ2026-0103-harness-rl.md) |
| PJ2026-0106 | 平台运维 | [PJ2026-0106 平台运维](PJ2026-0106-platform-ops.md) | CI/CD、git mirror、YAML-first 自动化分布式运维、rollout、Prometheus 运维监控、平台发布 | 全部 L1 的发布、配置和监控需求 | [硬件池](PJ2026-0101-hardware-pool.md)、[Agent编排](PJ2026-0102-agent-orchestration.md)、[HarnessRL](PJ2026-0103-harness-rl.md)、[客户端](PJ2026-0104-client.md)、[用户管理](PJ2026-0105-user-management.md) |

## 6. 全局原子需求

### 6.1 HWLAB-L0-REQ-001 硬件资源池

| 编号 | 短名 | 主责模块 | 关联模块 |
| --- | --- | --- | --- |
| HWLAB-L0-REQ-001 | 硬件资源池 | [PJ2026-0101 硬件池](PJ2026-0101-hardware-pool.md) | [平台运维](PJ2026-0106-platform-ops.md)、[Agent编排](PJ2026-0102-agent-orchestration.md)、[HarnessRL](PJ2026-0103-harness-rl.md)、[客户端](PJ2026-0104-client.md) |

HWLAB 应提供真实硬件资源池，使任务能发现、分配、占用、释放并验证真实设备、probe、HWPOD node 和健康状态。

硬件资源池是 HWLAB 的物理事实源。它把板卡、probe、HWPOD node 和设备健康状态整理为稳定、可引用、可审计的资源模型，并确保上层任务拿到的是可执行的真实硬件，而不是临时脚本输出或不可复验的运行副本。

硬件池负责设备身份、能力声明、占用释放、健康和原始硬件事实。平台运维只提供运行与发布支撑；Agent编排、HarnessRL 和客户端消费硬件池输出，不重新定义硬件事实。

### 6.2 HWLAB-L0-REQ-002 Agent 执行编排

| 编号 | 短名 | 主责模块 | 关联模块 |
| --- | --- | --- | --- |
| HWLAB-L0-REQ-002 | Agent 执行编排 | [PJ2026-0102 Agent编排](PJ2026-0102-agent-orchestration.md) | [硬件池](PJ2026-0101-hardware-pool.md)、[用户管理](PJ2026-0105-user-management.md)、[平台运维](PJ2026-0106-platform-ops.md)、[HarnessRL](PJ2026-0103-harness-rl.md)、[客户端](PJ2026-0104-client.md) |

HWLAB 应提供 Agent 执行编排，使用户任务能进入受控 workspace/session/provider/runtime，并能跟踪、恢复、取消和归档结果。

Agent 执行编排负责把用户意图转化为可追踪的受控执行。它必须明确任务状态、运行上下文、执行凭据、结果位置和异常收口，避免用户任务只存在于一次性进程、临时容器或无法恢复的日志片段中。

Agent编排负责任务生命周期、workspace、session、provider profile、恢复和归档。硬件池提供可执行资源，用户管理提供身份与权限，平台运维提供运行支撑，HarnessRL 和客户端消费任务状态与结果指针。

### 6.3 HWLAB-L0-REQ-003 HarnessRL 验收闭环

| 编号 | 短名 | 主责模块 | 关联模块 |
| --- | --- | --- | --- |
| HWLAB-L0-REQ-003 | HarnessRL 验收闭环 | [PJ2026-0103 HarnessRL](PJ2026-0103-harness-rl.md) | [硬件池](PJ2026-0101-hardware-pool.md)、[Agent编排](PJ2026-0102-agent-orchestration.md)、[平台运维](PJ2026-0106-platform-ops.md)、[客户端](PJ2026-0104-client.md)、[用户管理](PJ2026-0105-user-management.md) |

HWLAB 应提供 Harness/RL 验收闭环，使真实硬件任务产出可审计执行事实、aggregate、评估、回放和训练反馈。

HarnessRL 把一次硬件执行转化为可复验的验证与训练材料。它不得只记录 pass/fail，而要保留可解释的硬件输入、执行过程、采样数据、评估结论和回放入口，使失败分类和成功路径能够进入后续改进闭环。

HarnessRL 负责执行事实、aggregate、评估、回放和训练反馈。硬件池提供原始硬件事实，Agent编排提供执行上下文，平台运维提供运行支撑，客户端和用户管理消费验收结果与统计信息。

### 6.4 HWLAB-L0-REQ-004 统一客户端入口

| 编号 | 短名 | 主责模块 | 关联模块 |
| --- | --- | --- | --- |
| HWLAB-L0-REQ-004 | 统一客户端入口 | [PJ2026-0104 客户端](PJ2026-0104-client.md) | [用户管理](PJ2026-0105-user-management.md)、[Agent编排](PJ2026-0102-agent-orchestration.md)、[硬件池](PJ2026-0101-hardware-pool.md)、[HarnessRL](PJ2026-0103-harness-rl.md)、[平台运维](PJ2026-0106-platform-ops.md) |

HWLAB 应提供统一客户端入口，使 Web、CLI 和 HTTP API 围绕同一任务模型、权限模型和结果模型协同演进。

统一客户端入口要求不同用户界面共享同一任务、权限、错误和结果语义。Web、CLI 和 HTTP API 可以有不同交互形态，但不能各自定义一套状态机、错误口径或结果读取路径。

客户端负责 Web、CLI 和 HTTP API 的一致入口。用户管理提供身份权限，Agent编排、硬件池、HarnessRL 和平台运维提供后端能力；客户端不重新定义这些后端事实。

### 6.5 HWLAB-L0-REQ-005 用户与运营管理

| 编号 | 短名 | 主责模块 | 关联模块 |
| --- | --- | --- | --- |
| HWLAB-L0-REQ-005 | 用户与运营管理 | [PJ2026-0105 用户管理](PJ2026-0105-user-management.md) | [客户端](PJ2026-0104-client.md)、[Agent编排](PJ2026-0102-agent-orchestration.md)、[硬件池](PJ2026-0101-hardware-pool.md)、[HarnessRL](PJ2026-0103-harness-rl.md) |

HWLAB 应提供多用户与运营管理，使身份、组织、权限、API key、credit、usage、billing、admin 和租户隔离具有统一真相。

用户与运营管理定义平台多用户和组织协同运行的业务事实。它必须保证用户身份、组织成员关系、组织内项目和工作台归属、权限、额度、计量、账务和管理操作可以被统一查询和审计，避免同一用户、同一组织或同一资源消费在不同入口出现不同真相。

用户管理负责身份、组织、权限、API key、credit、usage、billing、admin 和租户隔离。客户端负责呈现入口和组织工作台，Agent编排、硬件池和 HarnessRL 消费用户、组织、租户和额度约束。

### 6.6 HWLAB-L0-REQ-006 系统可用性与服务保障

| 编号 | 短名 | 主责模块 | 关联模块 |
| --- | --- | --- | --- |
| HWLAB-L0-REQ-006 | 系统可用性与服务保障 | [PJ2026-0106 平台运维](PJ2026-0106-platform-ops.md) | [客户端](PJ2026-0104-client.md)、[Agent编排](PJ2026-0102-agent-orchestration.md)、[硬件池](PJ2026-0101-hardware-pool.md)、[HarnessRL](PJ2026-0103-harness-rl.md)、[用户管理](PJ2026-0105-user-management.md) |

HWLAB 应作为云端服务保持可访问、可恢复、资源使用可控，使用户能够稳定提交任务、查看状态和获取结果。

系统可用性与服务保障不是 HWLAB 对外出售的功能模块，而是用户能够持续使用 HWLAB 的基础条件。用户感知到的是入口可访问、任务不中途丢失、故障后有恢复路径、资源不会被失控占用；平台运维只作为后勤职责支撑这些对外结果。

平台运维负责发布、YAML-first 自动化分布式运维、Prometheus 运维监控和故障恢复支撑。客户端、Agent编排、硬件池、HarnessRL 和用户管理提供各自服务健康指标和运行需求，并通过平台运维获得后勤支撑。

## 7. 过程控制

本章只索引跨 L1 的阶段验证、灰度、内测和用户反馈分流 issue，便于将阶段运行过程回写到现有能力模块；不新增 L1，不替代阶段计划，也不把参与者资料、原始反馈、长证据或执行流水写入 L0 规格正文。

### 7.1 阶段验证与反馈入口

| 阶段 issue | 定位 | 关联 L1 | 回写口径 |
| --- | --- | --- | --- |
| [#1230](https://github.com/pikasTech/HWLAB/issues/1230) 内测一期招募与运行 | HWPOD 云嵌入式开发平台第一期内测；承载招募、运行、反馈分流和阶段结论 | 硬件池、Agent编排、HarnessRL、客户端、用户管理、平台运维 | 反馈先脱敏，再按主责 L1/L2 新建或关联具体 issue；阶段结束只回写稳定需求变化和重大边界移动 |

### 7.2 测试大纲与手测入口

| 测试 issue | 定位 | 覆盖入口 | 回写口径 |
| --- | --- | --- | --- |
| [#1231](https://github.com/pikasTech/HWLAB/issues/1231) 内测一期测试大纲 | 按 `TEST.md` 风格组织需要 HWLAB 实际业务能力支撑的端到端手动测试用例 | 账号/额度、AI 网关、HWPOD 工具、Web、CLI、HTTP API、真实硬件、Agent 任务、构建下载、ioProbe | 测试失败先脱敏，再按硬件池、Agent编排、HarnessRL、客户端、用户管理或平台运维拆分 issue；阶段结论回写 [#1230](https://github.com/pikasTech/HWLAB/issues/1230) |
