# Jarvis Agents 8 天工作计划（可勾选执行版）

日期：2026-04-03  
状态：执行清单  
适用范围：基于 `phase-0` ~ `phase-5` 及现有融合方案整理  
借鉴来源：Claude Code CLI、Swarm-IDE、Claw Code、VCPToolBox

---

## 使用说明

- 完成前使用 `- [ ]`
- 完成后改成 `- [x]`
- Day 2 默认依赖 Day 1 的核心底座完成后再推进
- Day 3 默认依赖 Day 2 的最小协作闭环完成后再推进
- Day 4 默认依赖 Day 3 的动态协作完成后再推进
- Day 5 默认依赖 Day 4 的可见性 API 完成后再推进
- Day 6 默认依赖 Day 5 的隔离执行完成后再推进
- Day 7 默认依赖 Day 6 的成本监控完成后再推进

---

## Day 1：补底座，完成 Phase 1 最小闭环

Day 1 目标：先把 Jarvis 从"只有静态路由"补成"有任务结构、有事件结构、有 verifier、有工具治理信息"的可扩展底座，同时不破坏当前 direct 主路径。

- [x] 新增最小 `task schema`
  改造内容：新增 `backend/app/agents/schemas/task.py`，统一 `task_id`、`title`、`status`、`owner_agent_id`、`evidence`、`result_summary`，并补 `role`、`goal`、`expected_evidence`、`created_at`、`updated_at`；状态固定为 `pending`、`in_progress`、`completed`、`failed`、`blocked`。

- [x] 新增最小 `event schema`
  改造内容：新增 `backend/app/agents/schemas/event.py`，统一 `event_id`、`event_type`、`timestamp`、`conversation_id`、`agent_id`、`sub_commander_id`、`task_id`、`payload`、`severity`；首批事件类型覆盖 `agent.tool.start`、`agent.tool.result`、`agent.verify.started`、`agent.verify.completed`、`agent.error`。

- [x] 扩展 `backend/app/agents/state.py` 的运行时字段
  改造内容：新增 `execution_mode`、`verification_status`、`verification_summary`、`verification_evidence`、`active_tasks`、`task_results`、`event_trace`、`budget_state`；默认值保持兼容 `initial_state()`，不替换现有 `pending_tasks`、`completed_tasks`、`tool_calls`。

- [x] 扩展 capability / tool metadata 模型
  改造内容：在 `backend/app/agents/registry/models.py` 增加 `permission_class`、`side_effect_scope`、`supports_retry`、`idempotent`、`safe_for_parallel_use`、`requires_confirmation`；至少先固化 `read` / `write` / `external` 和 `none` / `local_state` / `db_write` / `network` 两组枚举语义。

- [x] 回填 builtin tools 的静态 metadata
  改造内容：在 `backend/app/agents/registry/builtins.py` 和需要的 `backend/app/agents/tools/__init__.py` 中，把 search / retrieval 类工具标成偏 `read`，create / update 类工具标成偏 `write`，外部检索类工具标成 `external`，并补充是否可重试、是否幂等、是否适合并行等标记。

- [x] 新增 verifier 角色定义
  改造内容：在 `backend/app/agents/prompts.py` 增加 verifier prompt，明确 verifier 只负责验收，不负责重新规划；验收点聚焦"是否真正满足请求""是否有明确证据""是否把失败伪装成成功"。

- [x] 落地 verifier 模块
  改造内容：新增 `backend/app/agents/verifier.py`，支持 `passed`、`failed`、`skipped` 三类最小结论，先服务于工具调用后的复杂输出，知识检索结果和分析型汇总输出，不接管纯闲聊路径。

- [x] 在 `backend/app/agents/graph.py` 接入最小 event trace 与 verifier helper
  改造内容：给 `_execute_tool_calls()` 增加 tool start / result / error 事件写入；给收尾阶段增加 verifier helper 调用；给 `_run_sub_commander()` 增加 task result 摘要写入，但暂时不重构主图为完整协作编排图。

- [x] 补 Phase 1 单元测试与回归测试
  改造内容：新增 `backend/tests/backend/app/agents/test_agent_schemas.py`、`backend/tests/backend/app/agents/test_verifier.py`，并扩展 `test_graph.py`，覆盖 state 兼容性、schema 合法性、tool metadata 存在性、verifier 判定、主流程不回退。

- [x] 完成 Day 1 验收
  改造内容：确认 reminder / task / search 主流程继续通过；确认 verifier 已能独立运行；确认 event schema 与 task schema 已落代码；确认 direct 仍是默认主路径；确认未引入动态 `create_agent`、message bus 全链路和 UI。

---

## Day 2：引入最小协作能力，完成 Phase 2 雏形

Day 2 目标：在 Day 1 底座稳定的基础上，给 Jarvis 增加"复杂请求可拆分、可分配、可回收、可验收"的最小受控协作能力，但仍然不进入自由 swarm。

- [x] 增加 `request_mode_selector`
  改造内容：在 `backend/app/agents/graph.py` 中增加 direct / collaboration 模式选择逻辑；简单请求继续走旧路径，只有明显多步骤、跨领域、需要多角色配合的请求才进入 collaboration mode。

- [x] 新增 coordinator prompt
  改造内容：在 `backend/app/agents/prompts.py` 中定义 coordinator 角色，职责限定为"判断是否拆解""输出 2~4 个清晰子任务""分配角色建议""汇总任务结果"；明确禁止无限递归拆分。

- [x] 新增最小 task decomposition 结构
  改造内容：基于 Day 1 的 task schema 扩展最小拆分结构，至少输出 `task_id`、`title`、`role`、`goal`、`expected_evidence`，让复杂请求能以结构化任务列表进入后续执行。

- [x] 增加 role -> existing agent assignment
  改造内容：先复用当前已有 top-level agent，不新增独立 worker runtime；把 schedule 类任务映射给 `schedule_planner`，retrieval 类任务映射给 `librarian`，analysis 类任务映射给 `analyst`，execution 类任务映射给 `executor`。

- [x] 建立统一 task result 回收结构
  改造内容：约束每个角色统一返回 `task_id`、`status`、`summary`、`evidence`、`next_action`（可选），并把结果写回 `task_results`，避免最终结果继续依赖单点硬编码拼接。

- [x] 让 verifier 强制参与协作结果收尾
  改造内容：在 collaboration mode 下，所有复杂请求返回前都必须经过 verifier；verifier 有权拒绝证据不足、结果不完整，子任务未闭环的响应。

- [x] 补 Phase 2 协作测试与回归测试
  改造内容：覆盖复杂请求拆分测试、角色分配测试、task result 汇总测试、verifier 拒绝不完整结果测试，并再次确认 direct 模式原有流程不回退。

- [x] 完成 Day 2 验收
  改造内容：确认 graph 已能区分 direct / collaboration；确认复杂请求可拆成 2~4 个子任务；确认每个子任务有 owner 和 evidence；确认最终答案基于 task result 汇总；确认系统仍未进入无限动态 agent 模式。

---

## Day 3：引入受限动态协作能力，完成 Phase 3 最小闭环

Day 3 目标：在 Day 2 已具备最小协作编排能力的基础上，让 Jarvis 获得"可追踪、可中断、可恢复、受预算约束"的动态协作 runtime，但依然不进入无限自由 swarm。

当前实现状态（2026-04-03）：Day 3 最小闭环已基本落地。`backend/app/agents/state.py` 已补齐协作树、thread/message、interrupt/recovery、budget 相关 runtime 字段；`backend/app/agents/graph.py` 已接入受限 child agent 创建、message trace、spawn budget guardrail、interrupt / recovery 最小闭环与协作结果回收；`backend/app/agents/registry/*` 已补齐 spawn role policy 并接入 graph 校验。

- [x] 扩展 `backend/app/agents/state.py` 记录协作树基础字段
  当前状态：`state.py` 已补齐 `agent_id`、`parent_agent_id`、`root_agent_id`、`collaboration_depth`、`spawned_agent_ids`、`interrupted_tasks`、`recovery_points`、`message_trace` 等 Day 3 runtime 字段，并由 `initial_state()` 完成兼容初始化。

- [x] 定义动态协作 budget state
  当前状态：已新增 `CollaborationBudget` schema，并在 graph 中通过 `budget_state` / `collaboration_budget_history` 落地 `max_spawn_depth`、`max_child_agents`、`max_messages_per_thread`、`max_messages_per_turn`、`max_parallel_collaborators`、`recovery_attempt_limit` 等 guardrail metadata。

- [x] 增加受限 `create_agent` 运行时原语
  改造内容：新增最小动态创建能力，仅允许在 collaboration mode 下、由受限角色、在 budget 允许时创建 child agent；创建过程会记录 parent / child 关系，并在受限时转入 interrupt / recovery 回退路径。

- [x] 增加 agent spawn permission / role policy
  改造内容：已在 `backend/app/agents/registry/*` 中补齐角色 spawn policy，并通过 registry indexes 接入 `graph.py` 的运行时权限校验，禁止任意角色无限派生。

- [x] 新增最小 message / thread schema
  改造内容：已补齐 `message_id`、`thread_id`、`from_agent_id`、`to_agent_id`、`task_id`、`reply_to_message_id`、`message_type`、`content_summary`、`created_at` 等结构，支持 `task_request`、`task_update`、`handoff`、`verification_request`、`verification_feedback`、`interrupt_notice`。

- [x] 在 `backend/app/agents/graph.py` 接入受限动态协作分支
  改造内容：coordinator / worker 在满足条件时可以请求受限协作；graph 已接入 child agent 创建、message thread 写入、spawn budget 校验与回收逻辑，简单请求仍优先走 direct 路径。

- [x] 扩展 event trace 覆盖动态协作生命周期
  改造内容：event trace 已覆盖 `agent.created`、`agent.spawn.blocked`、`agent.message.sent`、`agent.message.received`、`agent.interrupt.requested`、`agent.interrupt.completed`、`agent.recovery.started`、`agent.recovery.completed` 等关键事件。

- [x] 增加 interrupt / recovery 最小闭环
  改造内容：已支持中断协作任务、记录中断点，并基于 `task_id` / `thread_id` / budget 进行最小恢复路径记录与回退。

- [x] 增加 Day 3 测试与回归验证
  改造内容：补充 parent / child tracking、spawn role policy、message thread、interrupt / recovery、动态协作事件记录等测试，并继续确认 direct 主路径不回退。

- [x] 完成 Day 3 验收
  改造内容：系统已支持受限动态创建 agent，协作树和 message thread 可追踪，interrupt / recovery 可跑最小闭环，动态能力受 budget 与 role policy 约束，且仍不是自由蜂群式协作。

---

## Day 4：引入可见性 API，完成 Phase 4 可视化方向

Day 4 目标：在 Phase 1-3 已具备协作 runtime 的基础上，让 Jarvis 获得"可看、可查、可调试"的可见性 API，为后续复杂任务调试和执行打下基础。

当前实现状态（2026-04-04）：Phase 1-3 最小闭环已基本落地；Day 4 后端可见性最小闭环已完成。可见性 API 直接读取 continuity snapshot 中保存的 runtime state（如 `event_trace`、`message_trace`、`active_tasks`、`task_results`、`task_hierarchy`、`verification_*`、`tool_outcomes`），并已补 focused API 测试。

- [x] 固化可见性数据源并增加 events 查询 API
  改造内容：已在 `backend/app/routers/agent.py` 暴露 `GET /api/agents/visibility/events`，支持按 `conversation_id` / `thread_id` / `agent_id` / `event_type` 过滤 `event_trace`，并支持分页与时间范围查询。

- [x] 新增协作链路拓扑查询 API
  改造内容：已新增 `GET /api/agents/visibility/topology`，基于 state 中的 `spawned_agent_ids`、`task_hierarchy`、`root_agent_id`、`active_tasks`、`task_results` 构建协作拓扑视图，返回 agent 节点、父子边与 task 摘要。

- [x] 新增 task 执行证据查询 API
  改造内容：已新增 `GET /api/agents/visibility/tasks/{task_id}/evidence`，基于 state 中的 `task_results`、`tool_outcomes`、`verification_*` 返回指定 task 的执行证据链。

- [x] 新增 message thread 查询 API
  改造内容：已新增 `GET /api/agents/visibility/threads/{thread_id}/messages`，基于 `message_trace` 返回指定 thread 内所有消息的方向、摘要、时间和关联 task。

- [x] 新增 verifier 结果查询 API
  改造内容：已新增 `GET /api/agents/visibility/verifier`，基于 `verification_status`、`verification_summary`、`verification_evidence` 返回当前协作会话的验收结论和证据。

- [x] 补 Day 4 可见性 API 测试
  改造内容：已新增 `backend/tests/backend/app/agents/test_visibility_api.py`，覆盖 event filter / pagination、topology 构建、evidence 查询、thread 消息重建、verifier 查询、非法 datetime 参数校验等场景。

- [x] 完成 Day 4 验收
  改造内容：已确认 visibility API 可查询事件、拓扑、task evidence、thread 消息与 verifier 结果；并已确认原有 reminder / task / search 主路径不在 Day 4 范围内被改坏。

---

## Day 5：升级 operator/debug surface（已完成）

Day 5 目标：把 Day 4 的只读可见性 API 真正接到前端 Agents 页面，形成最小 operator/debug surface。

- [x] 接入 runtime summary API 到前端 `agentApi`
  改造内容：在 `frontend/src/api/agent.ts` 增加 runtime summary 类型与 `getRuntimeSummary()` 查询方法。

- [x] 在 Agents 页面展示 phase/checkpoint/verifier/isolation/cost 摘要
  改造内容：在 `frontend/src/pages/agents/index.vue` 与 `useAgentsPage.ts` 中加入 runtime summary HUD，展示 execution mode、phase、checkpoint、verifier、isolation、token/cost、task/node 统计。

- [x] 让 Agents 页面使用当前会话 `conversation_id`
  改造内容：复用 `frontend/src/stores/conversation.ts` 的 `currentConversationId`，不再使用伪造的 `latest` 占位值。

- [x] 修复 Agents 页面关键乱码与兜底文案
  改造内容：修复配置抽屉、状态文案、master task 文案等可见乱码，并为未选会话场景提供清晰提示。

- [x] 补前端运行时面板测试
  改造内容：补 `frontend/src/pages/agents/agentsPage.test.ts`，覆盖 runtime summary 渲染、无会话提示、会话 ID 传递。

- [x] 完成 Day 5 验收
  改造内容：确认 Agents 页面已经是可用的 operator/debug 入口，而不是只显示静态演示图。

---

## Day 6：推进 isolation runtime MVP（90 分主线）

Day 6 目标：把 Day 4 的 isolation 设计从文档推进到最小运行时闭环，只做 `none / session / worktree` 三层。

当前实现状态（2026-04-04）：Day 6 已落地 isolation runtime MVP。后端已新增 `strategy_selector.py`、`session_isolation.py`、`worktree_isolation.py`，并在 `graph.py` 中接入基于任务语义与 tool metadata 的 `none / session / worktree` 选择逻辑；隔离 metadata 会进入 state、event trace、task evidence 与 runtime summary，Agents 页面也可展示 workspace / isolation 状态。

- [x] 实现 IsolationStrategySelector
  改造内容：新增 `backend/app/agents/isolation/strategy_selector.py`，根据任务类型与 tool metadata 自动选择 `none / session / worktree`。
  当前状态：已新增 `backend/app/agents/isolation/strategy_selector.py`，可基于用户请求语义、role 与 capability metadata 自动选择 `none / session / worktree`。

- [x] 实现 Session 隔离
  改造内容：新增 `backend/app/agents/isolation/session_isolation.py`，支持上下文隔离、中间态隔离与 evidence 回传。
  当前状态：已新增 `backend/app/agents/isolation/session_isolation.py`，会生成独立 session isolation metadata，并把 parent conversation / role / sub commander / capability 信息写回 runtime state。

- [x] 实现 Worktree 隔离
  改造内容：新增 `backend/app/agents/isolation/worktree_isolation.py`，基于 git worktree 创建独立工作目录，回传 workspace/branch/cleanup metadata。
  当前状态：已新增 `backend/app/agents/isolation/worktree_isolation.py`，支持基于 git worktree 创建独立工作目录，回传 branch / repo_root / cleanup_status 等 metadata；创建失败时可回退到 session isolation。

- [x] 集成隔离策略到 graph
  改造内容：在 `backend/app/agents/graph.py` 中接入策略选择与 evidence 输出，不做自动 merge-back。
  当前状态：`backend/app/agents/graph.py` 已接入 isolation selector / executor，运行时会记录 `agent.isolation.selected` / `agent.isolation.fallback` 事件，并把 isolation metadata 写入 evidence 与 task result。

- [x] 补 Day 6 隔离测试
  改造内容：新增隔离策略与 metadata 传播测试，覆盖 session/worktree 选择和 runtime summary 展示。
  当前状态：已在 `backend/tests/backend/app/agents/test_graph.py` 中补充 isolation selector / worktree fallback / runtime cost 联动测试；`test_visibility_api.py` 继续覆盖 runtime summary 中的 isolation 暴露。

- [x] 完成 Day 6 验收
  改造内容：确认高副作用任务可进入 worktree，低副作用任务保持 direct/session 路径，主流程无回退。
  当前状态：高副作用、代码/仓库语义请求可进入 worktree；普通状态写入或分析路径保持 session / direct；主流程回归测试已通过 `test_graph.py`。

---

## Day 7：推进 cost governance MVP（90 分主线）

Day 7 目标：把 token/cost 从静态估算升级为会话级可治理能力。

当前实现状态（2026-04-04）：Day 7 已从“静态展示”推进到最小 cost governance 闭环。`graph.py` 已稳定累计 `input_tokens` / `output_tokens` / `estimated_cost`，并按 conversation / child agent 维度写入 `cost_by_agent`；budget threshold 会触发 `agent.cost.updated` / `agent.cost.warning` 事件，后端也已暴露 conversation scoped cost API。

- [x] 固化 runtime token 字段写入
  改造内容：在 graph / service 层稳定记录 `input_tokens`、`output_tokens`、`estimated_cost`、`budget_warning`。
  当前状态：`backend/app/agents/graph.py` 已在每次 LLM 响应后提取 usage metadata，并稳定写入 `input_tokens`、`output_tokens`、`estimated_cost`、`budget_warning`。

- [x] 集成成本累计到 conversation / child agent 维度
  改造内容：把协作 run 的 token/cost 汇总到 conversation summary，并保留子 agent 维度的来源信息。
  当前状态：state 中已新增 `cost_by_agent` 与 `cost_thresholds`，并可通过 `/api/agents/visibility/cost` 返回 conversation 总量与 child agent 分摊。

- [x] 增加 budget threshold 治理逻辑
  改造内容：支持阈值警告、超额提示和 runtime summary 暴露。
  当前状态：已新增默认 cost threshold 与 state override 机制，超阈值会写入 `budget_warning` 并产生 warning 事件，runtime summary 与前端 HUD 均可见。

- [x] 新增成本查询 API
  改造内容：在现有 visibility surface 上补 conversation scoped cost 查询，而不是另起一套孤立接口。
  当前状态：已新增 `GET /api/agents/visibility/cost`，返回 conversation scoped total / thresholds / by_agent breakdown。

- [x] 补 Day 7 测试
  改造内容：覆盖成本累计、阈值预警、runtime summary 成本字段。
  当前状态：`backend/tests/backend/app/agents/test_graph.py` 已覆盖 runtime usage 写入与 threshold warning；`test_visibility_api.py` 已补 cost summary 返回结构断言。

- [x] 完成 Day 7 验收
  改造内容：确认 cost 不再只是“可估算”，而是“可观察、可告警、可治理”。
  当前状态：Day 7 当前已达到“可观察、可告警、可按会话/agent 查询”，仍未做到更高级的跨会话预算策略与持久化治理。

---

## Day 8：90 分收口与工具治理增强

Day 8 目标：把现有 runtime 补成真正可运营的 90 分闭环，并明确下一批值得升级的工具能力。

当前实现状态（2026-04-04）：Day 8 已完成 90 分主线收口。Agents 页面已从首屏 summary 升级为可查看 recent events、topology 节点摘要、verifier evidence、cost by agent 与 tool governance 的 operator/debug surface；后端也补齐了 `/visibility/tools` 能力分层查询。

- [x] 增强 topology / recent events operator surface
  改造内容：在 Agents 页面增加 recent events、拓扑摘要、verifier 证据入口，形成更完整的调试视图。
  当前状态：前端 `frontend/src/pages/agents/index.vue` 与 `useAgentsPage.ts` 已展示 recent events、topology 节点摘要与 verifier evidence 入口。

- [x] 对工具能力做治理分层
  改造内容：基于 `permission_class`、`side_effect_scope`、`requires_confirmation`、`safe_for_parallel_use` 做工具分级和后续 UI 展示规划。
  当前状态：后端已新增 `GET /api/agents/visibility/tools`，基于 `permission_class`、`side_effect_scope`、`requires_confirmation`、`safe_for_parallel_use` 返回 tool governance 视图；前端已做 operator 展示。

- [x] 识别值得升级/新增的工具能力
  改造内容：优先考虑 `worktree manager`、`cost inspector`、`runtime event drilldown`、`tool policy explorer`，暂不做 TagMemo / AgentDream。
  当前状态：operator surface 已显式暴露 `worktree_manager`、`cost_inspector`、`runtime_event_drilldown`、`tool_policy_explorer` 四项下一批 upgrade candidates。

- [x] 完成 90 分结项回归
  改造内容：统一回归 direct / collaboration / runtime summary / isolation / cost 关键路径，并更新 README / daily / checklist 结论。
  当前状态：已完成 `backend/tests/backend/app/agents/test_graph.py` 回归、`frontend/src/pages/agents/agentsPage.test.ts` 前端回归，以及不依赖 pytest tmpdir 的 visibility API 手工验证；README / checklist 已同步更新。

---

## 这 8 天明确不做

- 不做无限自由的动态 `create_agent`
- 不做无限层级的 parent / child agent tree
- 不做任意 agent 任意建群 / 广播
- 不做内部消息线程的复杂长期态治理
- 不做完整可视化调试面板（只做首屏 summary / HUD，不做完整实时 drilldown UI）
- 不做 Full Sandbox 完整实现（只做设计方案）
- 不做自由蜂群式协作
- 不做 Persistence（数据库持久化）
- 不做 Multi-turn Memory（跨会话记忆）
- 不做 Plugin System（插件系统）
- 不做 TagMemo（仿生记忆系统）
- 不做 AgentDream（仿生梦境系统）

---

## 8 天结束后的预期状态

- [x] 已具备 `direct` / `collaboration` 双模式入口
- [x] 已具备 verifier 独立验收层
- [x] 已具备 task schema / event schema / tool metadata 底座
- [x] 已具备 coordinator 雏形、任务拆分、角色分配、结果回收
- [x] 已具备受限动态协作 runtime 的最小实现闭环
- [x] 当前 reminder / task / search 主路径无明显回退
- [x] 已具备可见性 API 基础（events、topology、evidence、thread、verifier、runtime-summary）
- [x] 已具备前端 Agents operator/debug 首屏
- [x] 已具备 isolation strategy selector + session/worktree executor 的最小运行时闭环
- [x] 已具备 conversation / child agent 维度的 cost governance 最小闭环
- [ ] 尚未具备 full sandbox / persistence / realtime push
- [x] 90 分主线已明确为 isolation + cost + operator surface，而不是 TagMemo / AgentDream

---

## 后续可选特性（按需实施）

| 特性 | 预估时间 | 触发条件 |
|------|---------|---------|
| AgentDream（仿生梦境系统） | 1天 | Day 7完成后 |
| Persistence（持久化） | 2-3天 | 有审计需求时 |
| Advanced UI（完整前端面板） | 3-5天 | 有前端资源时 |
| Full Sandbox（完整沙箱） | 3-5天 | 有安全需求时 |
| Plugin System（插件系统） | 2-3天 | 有社区需求时 |

---

## 
