Blade Agent 分支整理方案

Agent Board 通用化与 Vibe / Factory 简化

本方案将当前 Factory V2 / Factory V3 / Vibe Coding V2 中重复的看板、自动执行、PR 回流、工作台 UI 收敛成一套通用能力。看板的 Skill 与 UI 独立成可复用模块,使它不再只服务软件工厂,也能用于内容生产、数据处理、运营任务、法务审阅等多智能体协作场景。

决策 1:主看板

以 SQLite Agent Board 为主数据源。Gitea Issue 不再作为主看板。

决策 2:脱离 Solution 复用

Agent Board Skill 与 UI 独立为通用模块;Solution / BizRole 可以接入,普通 chat 会话即使不使用 Solution 也能创建和使用看板。

决策 3:干净切换

合并历史 V1/V2/V3 分叉,不新增兼容 shim,不继续扩展旧入口。

目标架构

任意会话入口

Solution / BizRole、普通 chat、Vibe、软件工厂、内容工厂、法务审阅、市场活动等。

Agent Board Kit

通用 Skill、UI、API、状态、事件、权限。

TaskRunner + Provider

Headless 智能体执行,Gitea / PR / webhook 作为可选 provider。

Agent Board Kit 独立内容

  • Skill:统一提供创建任务、分配智能体、更新状态、评论、提交结果、查看任务历史的指令。
  • UI:独立的 AgentBoardPanel,可被 Workbench、侧边栏、浮层、独立页面复用。
  • API:独立 `/api/agent-board`,不再以 factory-v2/factory-v3 命名。
  • CLI:`blade kanban` 面向 Agent Board,不再硬编码 Vibe Coding。
  • 事件:统一 socket room 与 task_changed 事件,替换 v2/v3 两套事件。

统一状态模型

unassigned待分配
not_started待开始
in_progress运行中
in_review审核中
done完成

模块边界

Board Domain

Project、Task、TaskEvent、AgentConfig、状态流转。

Board API

统一 REST + Socket,提供所有看板能力。

Board UI

独立 React 组件,不依赖 Vibe / Factory 命名。

Board Skill

智能体操作看板的唯一入口,底层走 CLI/API。

TaskRunner

把任务交给 headless 智能体执行并收集结果。

Repo Provider

Gitea/Git 仓库、clone、sync、PR、diff、merge。

Workbench

Chat、Board、Files、Git、Service、Publish 的组合壳。

Entry Adapter

Solution 入口和普通 chat 入口只提供默认 agent、文案、初始配置。

建议目录结构

host/src/blade_agent/host/agent_board/
  models.py
  schema.py
  store.py
  task_runner.py
  runtime.py
  repo_provider.py
  gitea_provider.py
server/src/blade_agent/server/routes/
  agent_board.py
  agent_board_changes.py

web/apps/web/src/components/agent-board/
  AgentBoardPanel.tsx
  AgentBoardTaskDialog.tsx
  AgentBoardEvents.tsx
  agent-board-api.ts

执行阶段

  1. 1. 后端 Agent Board 命名与 API 收敛

    把 FactoryV2 命名从代码层移除,建立 `/api/agent-board`。

  2. 2. TaskRunner 抽离

    统一 headless session 创建、事件同步、submit_result 解析和状态更新。

  3. 3. Gitea Provider 抽离

    Gitea 只提供 repo/PR 能力,不再承担主看板。

  4. 4. Agent Board UI 独立

    把现有 FactoryV2BoardPanel 改造成通用组件,删除 FactoryV3 Issue Board。

  5. 5. Workbench 合并

    Vibe / Factory 共用同一 Workbench,仅保留入口文案和默认配置差异。

  6. 6. CLI 与 Skill 合并

    `blade kanban` 绑定 Agent Board;看板 Skill 独立到通用能力,供任意角色引用。

  7. 7. 删除历史入口与死代码

    删除 `/factory`、`/factory-v2`、`/factory-v3` 重复 UI 和 Gitea Issue board 链路。

风险与控制