Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
4.1 KiB
4.1 KiB
WR-0 当前状态与目标边界
1. 现状盘点
1.1 已有能力
- 前端已有路由
frontend/src/app/router/routes.ts -> /war-room。 - 页面主体已存在于
frontend/src/pages/war-room/index.vue。 - 页面已有较完整的科幻视觉语言:
- 顶部指挥栏
- 左侧资源面板
- 中央主舞台
- 右侧 Inspector
- 底部 Runtime Strip
- 页面已经有四组静态展示数据:
fixedOpsstudioNodesteamsrunFeed
1.2 当前缺口
- 页面仍是单文件实现,结构、状态、样式全部耦合在一个 SFC 内。
- 当前数据全部 hardcoded,没有 Pinia store、没有 composable、没有 API 层。
- Inspector 并不真正跟随画布选中项变化。
- STUDIO 只是示意图,没有拖拽、连线、缩放、平移、删除等 spec 级交互。
- TEAMS 模式只有静态卡片,没有成员拓扑、协作协议详情、操作入口。
- Runtime feed 只有静态列表,不反映真实运行记录。
- 顶部按钮没有闭环:
NEW AGENTLAUNCH FLOW
- 文案中存在乱码,说明页面内容还未进入可交付质量线。
- 现有页面多出
RUNS模式,与批准 spec 不一致。
2. 设计与实现的差距
| 维度 | Spec 要求 | 当前状态 | 结论 |
|---|---|---|---|
| 模式数量 | FIXED / STUDIO / TEAMS | fixed / studio / teams / runs | 需要收敛模式定义 |
| 数据来源 | API + 可持续维护的数据结构 | 本地 mock | 必须抽离 |
| 组件结构 | WarRoomPage + 子组件 | 单文件 | 必须拆分 |
| FIXED | 模板浏览与实例化 | 静态卡片 | 可复用现有视觉,但要接真实数据 |
| STUDIO | 可编排画布 | 仅示意图 | 需要实做交互层 |
| TEAMS | 群组协作视图 | 静态卡片 | 需要补数据与拓扑 |
| Runtime | 实时事件滚动 | 静态假数据 | 需要接执行记录 |
| /chat handoff | 可运行当前编排 | 未落地 | 必须定义接口 |
3. 目标边界
本轮计划的目标是把 /war-room 做成“可维护、可接真实数据、可触发执行”的页面,而不是一步做完所有高级编排能力。
本轮完成标准:
- 页面结构完成组件化和状态分层。
- FIXED / STUDIO / TEAMS 三模式与 spec 对齐。
- 至少一条最小编排链路可以保存并交给
/chat执行。 - Inspector、Runtime、资源面板不再是纯静态展示。
- 现有乱码文案清理完成。
本轮不强求:
- 完整 BPMN 级流程设计器。
- 真正的多人实时协同编辑。
- 复杂权限系统。
- 高级运行回放或可视化 tracing。
4. 建议目标架构
4.1 前端
建议拆分为:
frontend/src/pages/war-room/index.vuefrontend/src/pages/war-room/composables/useWarRoomPage.tsfrontend/src/pages/war-room/components/ModeStrip.vuefrontend/src/pages/war-room/components/ResourceBay.vuefrontend/src/pages/war-room/components/InspectorBay.vuefrontend/src/pages/war-room/components/RuntimeStrip.vuefrontend/src/pages/war-room/components/stage-fixed/*frontend/src/pages/war-room/components/stage-studio/*frontend/src/pages/war-room/components/stage-teams/*frontend/src/api/warRoom.ts
4.2 后端
建议按职责拆分:
backend/app/routers/agent.py- 扩展模板读取接口,或显式挂载模板子路由
backend/app/routers/orchestration.pybackend/app/routers/team.pybackend/app/schemas/war_room.pybackend/app/services/war_room/
4.3 状态
建议建立统一页面状态:
- 当前模式
- 资源列表
- 当前选中项
- 当前编排图
- 团队列表
- 运行态 feed
- 加载与错误状态
5. 前置决策
- 以批准 spec 为准,移除或降级当前
RUNS模式。 - 先不引入新依赖;STUDIO 默认使用原生事件 + SVG 方案。
- Agent templates 与 orchestrations 的 API 职责分离,不把所有 war-room 数据都塞进一个接口。
/chat执行链先走最小方案:- 选择当前 orchestration
- 生成执行 payload
- 跳转
/chat并带上 orchestration id 或 execution context