docs: add v02 provider management spec

This commit is contained in:
Codex Agent
2026-06-05 15:48:30 +08:00
parent 8b3af4fc7e
commit 00bccbb61a
6 changed files with 180 additions and 0 deletions
+8
View File
@@ -80,6 +80,9 @@ Code Agent session 是显式资源,不再由普通 `client agent send`、Workb
| `hwlab-cli client access device-pods grant/revoke USER POD --relation REL` | `PUT/DELETE /v1/admin/access/users/{userId}/device-pods/{devicePodId}/{relation}` | 授予或撤销 device pod `viewer/operator/profile_editor/job_submitter` 等 relation。 |
| `hwlab-cli client access tools grant/revoke USER TOOL` | `PUT/DELETE /v1/admin/access/users/{userId}/tools/{toolId}/can-use` | 授予或撤销 `hwpod``unidesk_ssh``trans_cmd`、GitHub 写工具等 capability。 |
| `hwlab-cli client access check --user USER --relation REL --object OBJECT` | `POST /v1/admin/access/check` | 管理员调试单次 authorization check,输出 decision 和 redacted actor/object。 |
| `hwlab-cli client provider-profiles list` | `GET /v1/admin/provider-profiles` | 管理页的非视觉状态入口;输出 actor、profile、SecretRef、resourceVersion、hash 后缀和最近验证结果,不输出 API Key 或 Secret data。 |
| `hwlab-cli client provider-profiles set-key PROFILE --key-stdin` | `PUT /v1/admin/provider-profiles/{profile}/credential` | 从 stdin 写入 provider API KeyCloud API 鉴权后委托 AgentRun;默认只输出 resourceVersion/hash 后缀和 failureKind。 |
| `hwlab-cli client provider-profiles validate PROFILE --wait` | `POST /v1/admin/provider-profiles/{profile}/validate` + `GET /validations/{id}` | 触发 provider canary 并短连接轮询,输出 validationId、runId、commandId、jobName、traceId、status、failureKind 和 redacted bridge 摘要。 |
| `hwlab-cli client device-pods list` | `GET /v1/device-pods` | 对应右侧 Device Pod 列表。 |
| `hwlab-cli client device-pods status POD` | `GET /v1/device-pods/{pod}/status` | 对应 Device Pod summary/status。 |
| `hwlab-cli client device-pods events POD` | `GET /v1/device-pods/{pod}/events` | 对应纯文本事件流。 |
@@ -164,6 +167,10 @@ Code Agent session 是显式资源,不再由普通 `client agent send`、Workb
阅读 docs/reference/spec-v02-hwlab-cli.md 和 docs/reference/spec-v02-openfga-authorization.md,然后在 runtime endpoint locked 环境下运行 `client access summary``client access users list``client access users inspect <user>``client access device-pods grant/revoke ...``client access tools grant/revoke ...``client access check ...`。确认所有命令都走 Cloud Web 同源 `19666` path,输出 JSON、route、actor、OpenFGA mode/decision 和 effective matrix,不输出 OpenFGA token、完整 API key 或 Secret 值。
## T9
阅读 docs/reference/spec-v02-provider-management.md,然后在 runtime endpoint locked 环境下运行 `client provider-profiles list``client provider-profiles set-key deepseek --key-stdin``client provider-profiles validate deepseek --wait --timeout-ms 120000`。确认全部走 Cloud Web 同源 `19666` path,先由 HWLAB 鉴权再委托 AgentRun,输出 validationId/runId/commandId/jobName/traceId/resourceVersion/hash 后缀,不输出完整 API Key、Codex auth/config、Kubernetes Secret data 或 Authorization headerDeepSeek 验证必须走 Moon Bridge 到官方 upstream,不访问 hyue。
## 规格的实现情况
| 规格项 | 状态 | 说明 |
@@ -171,6 +178,7 @@ Code Agent session 是显式资源,不再由普通 `client agent send`、Workb
| 固定 repo 短连接 client | 目标状态 | `hwlab-cli``G14:/root/hwlab-v02` 或当前 v0.2 worktree 直接用 Bun 运行,不作为 runtime service。 |
| WEB 等价 API client | 目标状态 | `client` 子命令覆盖 Cloud Web 非视觉业务面。 |
| Admin Access 同路径 CLI | 目标状态 | `client access ...` 覆盖 OpenFGA summary、user matrix、grant/revoke、tool capability 和 check,必须走 Cloud Web 同源 path。 |
| Provider profile 管理同路径 CLI | 目标状态 | `client provider-profiles ...` 覆盖管理页状态、API Key 写入和 canary 验证,必须走 Cloud Web 同源 path 并委托 AgentRun。 |
| 显式 Code Agent session 管理 | 目标状态 | `client agent session create|select|status|list``send` 前置;普通 `send` 不自动创建或滚动 session。 |
| WEB composer 状态机等价 | 目标状态 | `client agent composer status|submit` 复用 Web composer policy,但必须显示 sessionRequired/sessionUsable,不能自动创建或滚动 session。 |
| JSON-RPC 同源 API | 目标状态 | `client rpc` 自动补齐 Web JSON-RPC envelope 的 `meta` 字段。 |