Files
2026-05-28 08:45:47 +08:00

13 KiB
Raw Permalink Blame History

v2.6 开发计划

版本: v2.6.0-plan 基于: technical-design-v2.6.md v2.6.3 + deployment-v2.6.md v2.6.3 作者: 庞统(副军师)🐦 日期: 2026-05-17 状态: 执行中


开发模式

  • 分工: 庞统编码(F1-F18 全部),司马懿测试+评审
  • 流程: 写完一个功能 → 单元测试 → 发司马懿评审 → 通过 → 下一个
  • 参考实践: superpowersverify-before-complete)、oh-my-claudecodeExecution+Enhancement+Guarantee 三层)、hermes(僵尸检测+幻觉门控)
  • 原则: 每个功能一次做完,不分 phase;不确定的先记录待确认区,按 AI native + 最优实践方向先执行

开发顺序(按依赖拓扑)

Layer 0: F1 骨架 → F2 黑板
Layer 1: F3 多项目 → F4 CLI → F5 API
Layer 2: F6 Ticker → F7 Inbox → F8 健康检查
Layer 3: F9 调度器 → F10 Counter → F11 Bootstrap
Layer 4: F12 审查流水线 → F13 Guardrail → F14 反驳权
Layer 5: F15 经验沉淀 → F16 Skill
Layer 6: F17 SSE+Hook → F18 前端

F1 项目骨架 + 配置体系

项目 内容
依赖
估计 1h
产出 src/main.pyFastAPI 空壳)+ config/default.yaml + pyproject.toml + ecosystem.config.cjs + .gitignore
完成标准 pm2 start 成功,/api/daemon/status 返回 200/docs 自动文档可访问
测试 test_main.py: 启动、健康端点、CORS

F2 黑板核心(DB + CRUD

项目 内容
依赖 F1
估计 3h
产出 src/blackboard/{db,models,operations,queries}.py + schemas/*.json
完成标准 全部 9 表 CRUD 可用,WAL + busy_timeout + BEGIN IMMEDIATEschema 校验通过
测试 test_blackboard.py: create_task / claim / output / comment / decide / observe / review / events 写入 + 状态机转换 + 并发写入

F3 多项目管理

项目 内容
依赖 F1, F2
估计 2h
产出 src/blackboard/registry.py + src/cli/admin.pyproject create/delete/list
完成标准 CLI 创建项目 → per-project DB 自动创建 → _registry.yaml 更新 → list 显示正确
测试 test_registry.py: create/delete/list + YAML 读写 + 并发注册

F4 CLI 工具

项目 内容
依赖 F1, F2
估计 2h
产出 src/cli/blackboard.py8 个子命令)
完成标准 read / claim / output / comment / decide / observe / create / review 全部可用
测试 test_cli.py: 每个子命令 happy path + 参数校验 + 错误处理

F5 API 层

项目 内容
依赖 F1, F2
估计 3h
产出 src/api/{blackboard,daemon,project,sse}_routes.py
完成标准 全部 API 端点 curl 可用,Swagger 文档完整,SSE 端点可连接
测试 test_api.py: 每个端点 CRUD + 状态码 + 参数校验

F6 Daemon Ticker

项目 内容
依赖 F2, F3, F5
估计 3h
产出 src/daemon/ticker.py
完成标准 30s 循环运行,scan_tasks + 依赖推进 + events 写入正常,asyncio background task 与 FastAPI 共存
测试 test_ticker.py: tick 循环 + 状态扫描 + 依赖推进 + 多项目轮询

F7 Inbox JSONL Watcher

项目 内容
依赖 F6
估计 1.5h
产出 src/daemon/inbox.py
完成标准 Agent 写 JSONL → 1s 内 Daemon 收到并处理 + truncate
测试 test_inbox.py: 写入+消费+truncate + 并发写入 + 损坏文件恢复

F8 健康检查

项目 内容
依赖 F6
估计 1h
产出 src/daemon/health.py
完成标准 连续 20 tick 无变更 → observation 告警写入
测试 test_health.py: 正常/僵尸/恢复 场景

F9 Agent 调度器

项目 内容
依赖 F6, F7
估计 3h
产出 src/daemon/{dispatcher,spawner}.py
完成标准 三级调度(Daemon/Full/Sub)可用,asyncio.create_subprocess_exec spawn 不阻塞 event loop
测试 test_dispatcher.py: 三级决策树 + test_spawner.py: spawn + session 注册 + 超时

F10 ActiveAgentCounter

项目 内容
依赖 F9
估计 1h
产出 src/daemon/counter.py
完成标准 max_global=5 控制,per-agent 串行,acquire/release 正确
测试 test_counter.py: 全局上限 + per-agent 串行 + 并发竞争 + release 恢复

F11 Bootstrap 拼装

项目 内容
依赖 F1, F2
估计 2h
产出 src/daemon/bootstrap.py + prompt_templates/*.md + config/template_components.yaml
完成标准 build_bootstrap() 按 role 拼装 L0-L3 四层,token 占用 < 4096
测试 test_bootstrap.py: 各 role 拼装 + token 估算 + 缺失组件降级

F12 审查流水线

项目 内容
依赖 F9, F10, F11
估计 3h
产出 src/daemon/review_flow.py + config/review_protocols/*.yaml
完成标准 4 级分级审查(high/standard/low/research)端到端可用,confidence 计算 + 升级逻辑正确
测试 test_review_flow.py: 4 级分流 + confidence 阈值 + 升级庞统

F13 Guardrail 系统

项目 内容
依赖 F9, F11
估计 2h
产出 src/daemon/guardrail.py + config/guardrails.yaml
完成标准 L1 assert 自动执行 + L2 subagent 二次确认,配置驱动
测试 test_guardrail.py: L1 通过/失败 + L2 触发 + 配置加载 + 误杀恢复

F14 反驳权流程

项目 内容
依赖 F12
估计 2h
产出 集成在 review_flow.py + prompt_templates/rebuttal.md
完成标准 审查不通过 → 反驳协商 → max_rounds → 庞统裁决
测试 test_rebuttal.py: 反驳触发 + 轮次计数 + 超轮次升级 + 结果写入

F15 经验沉淀

项目 内容
依赖 F6, F2
估计 2h
产出 src/daemon/experience.py
完成标准 任务完成 → 一级蒸馏 → experiences 表写入 → 二级蒸馏触发 → Skill 草稿生成
测试 test_experience.py: 一级蒸馏 + tag 匹配 + 二级触发 + 过期清理

F16 Skill 体系

项目 内容
依赖 F15
估计 1.5h
产出 src/daemon/skill_loader.py + Skill 目录结构
完成标准 Skill 四要素(name/description/triggers/actions)加载 + per-project 覆盖 + 生命周期管理
测试 test_skill_loader.py: 加载 + 验证 + 覆盖 + 版本管理

F17 SSE 推送 + Hook 系统

项目 内容
依赖 F5, F6
估计 2h
产出 src/api/sse_routes.py(增强)+ src/daemon/notifier.py + Hook 触发点
完成标准 SSE 4 级推送正常,降级轮询兜底,3 个 Hook 触发点工作
测试 test_sse.py: 连接+推送+断线重连 + test_hooks.py: 触发+过滤

F18 前端 Dashboard

项目 内容
依赖 F5, F17
估计 8h
产出 src/frontend/ 全部 5 页面 + 组件
完成标准 TaskBoard + GlobalMonitor + ArtifactVault + SystemConfig + AIBriefing 全部可用,SSE 实时更新,项目切换器工作
测试 test_frontend.py(E2E: 页面渲染 + API 集成 + SSE 更新 + 项目切换

测试策略

单元测试(每个功能自带)

测试文件 覆盖模块 优先级
test_main.py main.py 启动 + 配置 P0
test_blackboard.py 黑板 CRUD + 并发 + WAL P0
test_registry.py 多项目管理 P0
test_cli.py CLI 8 子命令 P0
test_api.py API 全端点 P0
test_ticker.py Daemon tick 循环 P0
test_inbox.py Inbox JSONL P1
test_health.py 健康检查 P1
test_dispatcher.py Agent 调度决策 P0
test_spawner.py Agent spawn P0
test_counter.py ActiveAgentCounter P0
test_bootstrap.py Bootstrap 拼装 P1
test_review_flow.py 审查流水线 P0
test_guardrail.py Guardrail P0
test_rebuttal.py 反驳权 P0
test_experience.py 经验沉淀 P1
test_skill_loader.py Skill 加载 P1
test_sse.py SSE 推送 P1
test_hooks.py Hook 系统 P1
test_frontend.py 前端 E2E P1

集成测试(F14 完成后)

端到端链路:用户提需求 → 庞统规划 → 任务写入 → Agent 执行 → Guardrail → 审查 → 反驳 → 完成 → 经验沉淀

司马懿职责

  • 每个 F 编码完成后评审代码 + 审查测试覆盖
  • F14 完成后执行集成测试
  • F18 完成后执行 E2E 验收
  • 发现问题写 Mail → 庞统修复 → 复审

进度追踪

序号 功能 状态 测试 评审
F1 项目骨架+配置 完成 10/10 通过
F2 黑板核心 完成 39/39 通过
F3 多项目管理 完成 11/11 通过
F4 CLI 工具 完成 14/14 通过
F5 API 层 完成 23/23 通过
F6 Daemon Ticker 完成 18/18 通过
F7 Inbox JSONL 完成 16/16 #277
F8 健康检查 完成 16/16 #277
F9 Agent 调度器 完成 29/29 #278
F10 Counter 完成 14/14 #278
F11 Bootstrap 完成 22/22 #278
F12 审查流水线 完成 20/20 #278
F13 Guardrail 完成 (含F12) #278
F14 反驳权 完成 (含F12) #278
F15 经验沉淀 完成 22/22 #278
F16 Skill 体系 完成 24/24 #278
F17 SSE+Hook 完成 24/24 #278
F18 前端 Dashboard 完成 build #279
--- v2.8 状态增强 + M3 Checkpoint
v2.8 状态增强(paused/escalated/waiting_human + 归档 + 前端改造) 设计完成 已完成 #278-#280
M3 Checkpoint 机制 + Artifact 成果物面板 设计完成 已完成 #280
--- Agent 编排集成
F19 Ticker 调度集成 设计完成 已完成 评审通过
F20 Spawner prompt 模板 设计完成 已完成 评审通过
F21 审查流水线集成 设计完成 已完成 评审通过
F22 前端 API 对接 设计完成 已完成 评审通过
--- v3.0 集成 + 安全红线
G1 HealthChecker → Ticker 已完成 33/33 #313
G2 BootstrapBuilder → Spawner 已完成 测试通过 #313
G3 InboxWatcher → Ticker 已完成 33/33 #313
G4 ExperienceDistiller → Ticker 已完成 33/33 #313
G5 安全红线 Guardrails 已完成 测试通过 #316
G6 MorningPanel + ArtifactPanel 前端集成 已完成 build #313

待确认区

开发过程中遇到的设计决策,按 AI native + 最优实践方向先执行,记录于此,用户明早 review。

2026-05-17 SQLite 3.51.0 CHECK 约束解析 bug

发现: SQLite 3.51.0 不允许 CHECK 约束作为列定义列表的中间项(带尾随逗号)。

-- ❌ 报错:near "foo": syntax error
CREATE TABLE t (status TEXT, CHECK (status IN ('a','b')), foo TEXT)
-- ✅ 正常:inline CHECK
CREATE TABLE t (status TEXT CHECK (status IN ('a','b')), foo TEXT)

处理: 所有 CHECK 约束改为内联方式(附在字段定义上)。 影响: 无功能影响,只是 SQL 写法不同。

2026-05-17 BUG-1 修复:/api/daemon/status 端点重复注册

发现: 司马懿评审 F1-F5 时发现 main.py 和 daemon_routes.py 都注册了 /api/daemon/status,导致 Swagger 文档 Duplicate Operation ID warning。 修复: 删掉 main.py 中的定义,统一由 daemon_routes.py 提供。同时重构 main.py 将占位 ticker 替换为真实 Ticker 类。 影响: daemon_routes.py 新增 tick_count 字段,manual_tick 端点对接真实 Ticker。


参考实践来源

实践 来源项目 应用点
verify-before-complete superpowers (clawgator) 每个 F 编码完必须测试通过才算 done
Execution+Enhancement+Guarantee oh-my-claudecode 三层质量保证:编码→增强→保障
僵尸检测+reclaim hermes-agent health.py 逻辑死循环检测
幻觉门控 hermes-agent Guardrail 产出物验证
YAML frontmatter + preamble-tier gstack Skill 加载格式
Wave Execution(新鲜上下文) get-shit-done Bootstrap 拼装不累积旧上下文