docs(heicode): document sub-mode workflow/list rich fields (gap A/B/D/F)

Workflow now documents top-level mode (sub_agile|swarm) + sub_mode, phases[],
per-agent tokens/tools/elapsed_seconds/artifact_ids, and metrics/aggregates,
with a note that per-agent metrics + artifact source role await
agent_management runtime support.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 16:25:28 +08:00
co-authored by Claude Opus 4.8
parent 65ce549fb2
commit b4c3104dda
@@ -99,7 +99,7 @@ signature = base64( ed25519_sign(device_priv, sha256(canonical)) )
| POST | `/api/heicode/sub-agile/tasks/{task_id}/messages` | 持续对话:追加用户消息 |
| POST | `/api/heicode/sub-agile/tasks/{task_id}/execute` | 触发/确保执行(未派发则派发 Runtime) |
| DELETE | `/api/heicode/sub-agile/tasks/{task_id}` | 删除/停止任务 |
| GET | `/api/heicode/sub-agile/tasks/{task_id}/workflow` | 工作流投影(右侧面板:status/agents/artifacts/phase) |
| GET | `/api/heicode/sub-agile/tasks/{task_id}/workflow` | 工作流投影(右侧面板:mode/display_status/phases/agents(含 tokens/tools/elapsed/artifact_ids)/metrics/artifacts) |
| POST | `/api/heicode/sub-agile/tasks/{task_id}/stop` | 停止 |
| GET | `/api/heicode/sub-agile/tasks/{task_id}/timeline` | 时间线(events/callbacks/artifacts 聚合) |
| GET | `/api/heicode/sub-agile/tasks/{task_id}/logs` | 日志(含 `user_logs` 友好 + `debug_logs` 原始两层) |
@@ -203,17 +203,34 @@ signature = base64( ed25519_sign(device_priv, sha256(canonical)) )
```json
{ "success": true, "data": {
"task_id":"dep_xxx","conversation_id":"conv_xxx","mode":"agile",
"task_id":"dep_xxx","conversation_id":"conv_xxx",
"mode":"sub_agile", // 顶层模式 sub_agile|swarm(与 capabilities 一致)
"sub_mode":"agile", // sub_agile 内的节奏 agile|waterfall
"cloud_deployment_status":"completed", // Manager 控制面状态
"runtime_execution_status":"completed", // Runtime 上报状态
"display_status":"completed", // 唯一展示状态(客户端只看这个)
"last_synced_at":"2026-06-02T...",
"title":"...","summary":"...","phase":"development","agent_count":1,
"agents":[{"agent_id":"agi_x","name":"backend","role":"backend","status":"completed"}],
"artifacts":[{"artifact_id":"art_x","title":"...","artifact_type":"code_patch"}]
"phases":[ // 阶段列表(runtime 未给细分时为当前阶段单条)
{"phase_id":"development","name":"development","status":"completed","agents":["backend"]}
],
"agents":[
{"agent_id":"agi_x","name":"backend","role":"backend","status":"completed",
"tokens":0,"tools":0,"elapsed_seconds":0,"artifact_ids":["art_x"]}
],
"artifacts":[{"artifact_id":"art_x","title":"...","artifact_type":"code_patch"}],
"artifact_ids":["art_x"],
"metrics":{"tokens_used":618,"tools":0,"elapsed_seconds":33,"total_messages":2},
"tokens":618,"tools":0,"elapsed_seconds":33
}}
```
字段说明(gap A/D/F):
- `mode`:顶层 `sub_agile|swarm`,与 `capabilities` 一致;列表 `GET .../tasks` 的每个 item 也带 `mode` 和 `display_status`,重启后从列表恢复任务不会把 swarm 当成 sub-agile。`sub_mode` 是 sub_agile 内部节奏。
- `phases[]`:始终是数组。当前 sub-mode runtime 只上报单个 `phase`,故默认是「当前阶段」一条;待 runtime 上报阶段细分后会展开。
- `metrics` / 顶层 `tokens/tools/elapsed_seconds`:来自 runtime 状态指标(`tokens_used`/`elapsed_seconds`/`total_messages` 为真实值)。
- 每个 agent 的 `tokens`/`tools`/`elapsed_seconds`:**待 agent_management 上报 per-agent 指标**,未上报时为 `0`;`artifact_ids` 按产物的 `source_agent_role` 归到对应 agent(runtime 未标注来源角色时为空)。
`client_task_status`(本地交互态)由客户端自己维护,不由 Manager 返回。
## 4b. 响应 envelope 与实时刷新