Suggested labels: enhancement
Background
Current behavior:
- 协作只有单链
reviewBy:开发 → 审查 → 返回,一个任务一条链(src/plugins/collaboration.ts)。
- 没有"一个目标拆成多个子任务并行跑"的能力,也没有全局任务进度总览。
- 参照 botmux:编排者自动在群里种话题、拉各 bot 起独立会话跑流水线,飞书任务面板一眼看完所有子任务进度。
Problem:
- 多 bot 的价值只体现在"顺序交接",无法并行;大任务只能串行。
- 用户在飞书里看不到多个子任务的整体进度。
Needed change:
- 新增 orchestration 插件:编排会话把大目标拆成子任务 → 为每个子任务创建独立话题并 @ 对应 bot → 收集结果;新增任务面板(卡片/命令)总览进度。
Goal
实现多话题并行编排与任务面板,让一个编排指令派生出多个并行子任务并在一张面板上跟踪。
User Stories
- As a 用户, I want 给编排 bot 一个大任务(如"review 这个 MR 的 3 个模块"), so that 它自动拆成子任务并行跑。
- As a 用户, I want 在飞书里看所有子任务的进度与结果, so that 不用逐个话题翻。
- As a 团队, I want 不同 bot 并行处理不同子任务, so that 发挥多模型多样性。
Requirements
orchestration 插件(src/plugins/orchestration.ts)
- 监听编排指令(独立命令,如
/orchestrate <任务>)。
- 编排 bot 用 CLI 生成子任务清单(JSON 结构:任务文本 / 目标 bot / 依赖)。
- 为每个子任务创建独立飞书话题并 @ 目标 bot(需评估飞书建群/话题 API;P0 不可行则降级为"同话题多 bot 并行")。
- 监听
task/result 收集子任务结果,汇总到编排状态。
- 任务面板
/panel 命令或一张持续更新的汇总卡片:子任务状态(pending / running / done / failed)、耗时、结果摘要。
- 面板由 cards 服务渲染,节流更新(复用
ThrottledCardUpdater)。
- 与现有协作的关系
- 子任务内部的
reviewBy 交接链保留;编排只负责"拆 + 并行 + 汇总"。
- 插件装配
cordis.yml 增加 orchestration 插件与 panel 命令;src/plugins/loader.ts 登记。
Examples / Output
/orchestrate 检查 TASK.md 里的 A、B、C 三个模块,分别让开发、审查、助理 bot 分析
→ 已创建编排 run-001:3 个子任务
├─ #t1 [开发] 分析模块 A 状态: 完成 ✓
├─ #t2 [审查] 分析模块 B 状态: 执行中…
└─ #t3 [助理] 分析模块 C 状态: 排队
/panel
→ 汇总卡片:2/3 完成,总耗时 12 分钟
Acceptance Criteria
Test Plan
- Automated tests: orchestration 插件单测(拆解解析、派发、汇总状态机);panel 渲染测试(复用
src/im/card.test.ts 模式)。
- Manual verification: 真实 3 bot 并行跑一个多模块任务,观察面板。
- Regression coverage:
pnpm build && pnpm test 全绿。
Out of Scope
- DAG 依赖编排的完整实现(P0 只做并行 + 简单依赖)。
- Web Dashboard(另行评估)。
- 跨服务编排(多台 agent-os 实例)。
Dependencies / Risks
- 飞书创建话题/群的 API 能力需要验证;P0 若不可行,降级为同话题多 bot 并行。
- 编排 bot 生成子任务清单依赖其 CLI 结构化输出,解析需容错。
- 面板卡片受飞书卡片大小 / 更新频次约束。
Effort Estimate
- Implementation: 3-5 天
- Tests + docs: 1-2 天
- Total: 4-7 天
Background
Current behavior:
reviewBy:开发 → 审查 → 返回,一个任务一条链(src/plugins/collaboration.ts)。Problem:
Needed change:
Goal
实现多话题并行编排与任务面板,让一个编排指令派生出多个并行子任务并在一张面板上跟踪。
User Stories
Requirements
orchestration插件(src/plugins/orchestration.ts)/orchestrate <任务>)。task/result收集子任务结果,汇总到编排状态。/panel命令或一张持续更新的汇总卡片:子任务状态(pending / running / done / failed)、耗时、结果摘要。ThrottledCardUpdater)。reviewBy交接链保留;编排只负责"拆 + 并行 + 汇总"。cordis.yml增加 orchestration 插件与 panel 命令;src/plugins/loader.ts登记。Examples / Output
Acceptance Criteria
/orchestrate能拆解并派发多个子任务到独立话题 / 目标 bot。/panel展示实时进度与结果汇总。reviewBy交接链(回归验证)。Test Plan
src/im/card.test.ts模式)。pnpm build && pnpm test全绿。Out of Scope
Dependencies / Risks
Effort Estimate