Skip to content

多话题并行编排 + 任务面板 #2

Description

@v833

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

  1. orchestration 插件(src/plugins/orchestration.ts
    • 监听编排指令(独立命令,如 /orchestrate <任务>)。
    • 编排 bot 用 CLI 生成子任务清单(JSON 结构:任务文本 / 目标 bot / 依赖)。
    • 为每个子任务创建独立飞书话题并 @ 目标 bot(需评估飞书建群/话题 API;P0 不可行则降级为"同话题多 bot 并行")。
    • 监听 task/result 收集子任务结果,汇总到编排状态。
  2. 任务面板
    • /panel 命令或一张持续更新的汇总卡片:子任务状态(pending / running / done / failed)、耗时、结果摘要。
    • 面板由 cards 服务渲染,节流更新(复用 ThrottledCardUpdater)。
  3. 与现有协作的关系
    • 子任务内部的 reviewBy 交接链保留;编排只负责"拆 + 并行 + 汇总"。
  4. 插件装配
    • 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

  • /orchestrate 能拆解并派发多个子任务到独立话题 / 目标 bot。
  • 每个子任务独立执行(互不阻塞),失败子任务可单独重试。
  • /panel 展示实时进度与结果汇总。
  • 编排过程不破坏现有 reviewBy 交接链(回归验证)。
  • 编排插件移除后现有任务/协作不受影响。

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 天

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions