Files
sanguo_moziplus_v2/docs/design/toolchain-proposal.md
T
cfdaily 0d7425b88c
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions
auto-sync: 2026-06-07 01:35:53
2026-06-07 01:35:53 +08:00

78 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 工具链课题:DevOps 工具链集成
> **状态**: 信息收集阶段,未正式立项设计
> **作者**: 庞统(副军师)🐦
> **日期**: 2026-05-16
> **定位**: 所有工具链能力最终要集成到 moziplus v2.0 中,不是独立系统
---
## 1. 背景
moziplus v2.0 编排的不只是 AI Agent 的任务流转,还包括完整的开发生命周期。Agent 执行编码任务后,lint/test/build/deploy 应该自动串联;Agent 发现 bug 后应该能自动创建 Issue 追踪。工具链是 v2.0 从"任务流转工具"升级为"AI Native DevOps 平台"的关键拼图。
## 2. 需求来源
| 来源 | 内容 | 状态 |
|------|------|------|
| PRD C10 | lint/test/build 自动触发,按需调用,结果驱动流转 | ❌ 未设计 |
| 评审 D10 | 工具链自动化 Phase 规划 | ❌ 未覆盖 |
| 评审 D13 | 需求→设计→编码→测试→部署→运维 全生命周期阶段映射 | ❌ 未覆盖 |
| 评审 F8 | lint/test/build/deploy 自动化 | ❌ 未覆盖 |
| MEMORY.md | gitee Issue 管理机制:选 repo、定流程、谁维护、标签体系 | ❌ 未做 |
| T4-9 | Skill 测试框架(结构测试+干跑测试+场景测试) | ➡️ 移入本课题 |
## 3. 工具链分类(初步)
| 分类 | 具体内容 | 当前状态 | 备注 |
|------|---------|---------|------|
| **代码管理** | Git 仓库(gitee + gitea)、分支策略、PR 流程 | ✅ 有基础 | gitee Issue 管理机制待建 |
| **问题管理** | Issue/Bug/需求追踪、标签体系 | ❌ 无 | 与黑板 tasks 表的关系待定 |
| **CI/CD** | lint/test/build 自动触发、结果驱动流转 | ❌ 无 | PRD C10 |
| **测试工具** | 单元测试、集成测试、Skill 测试框架 | ❌ 无 | T4-9 移入 |
| **开发环境** | Mac mini 本地开发环境 | ✅ 有 | 多 Agent 并行改代码隔离待设计 |
| **测试/Staging 环境** | 独立验证环境 | ❌ 无 | 待定 |
| **沙箱环境** | Agent 执行命令时的安全隔离 | ⚠️ 部分 | AgentsMesh PTY sandbox 参考 |
| **运维工具** | PM2 进程管理、Daemon 健康自检、日志 | ⚠️ 部分 | Daemon 健康自检已在 architecture-v2.6 |
## 4. 调研参考
| 项目 | 关键实践 | 可借鉴点 |
|------|---------|---------|
| AgentsMesh | PTY sandbox + git worktree 隔离 + ticket-pod binding | Agent 执行隔离、代码并行修改 |
| Aider | verification_commandslint/test 自动验证) | Guardrail 验证脚本层已在 architecture-v2.6 |
| nuwa-skill | 5 阶段蒸馏 + 质量验证 | Skill 测试框架参考 |
| Claude Code | 98.4% Infrastructure,上下文管理为主 | 工具链服务于 Agent,不是 Agent 服务于工具链 |
## 5. 待讨论的关键问题
1. **CI/CD 走什么**:本地跑(Mac mini)?接 GitHub Actions?接 gitee CI?还是 moziplus Daemon 自己调度?
2. **测试环境怎么搭**:和开发环境同一台机器?NAS DockerWindows-Test-Node192.168.2.33)?
3. **沙箱到什么程度**:Agent 执行命令时的安全隔离?文件系统级隔离(worktree)?还是进程级隔离?
4. **Issue 管理用 gitee 还是自己做**:黑板 tasks 表已能追踪任务,还需要外部 Issue 系统吗?两者怎么打通?
5. **与 moziplus v2.0 集成方式**:工具链是 v2.0 内置能力还是外部集成?Daemon 怎么触发 lint/test/buildGuardrail 和工具链的关系?
6. **全生命周期阶段映射**:需求→设计→编码→测试→部署→运维,每个阶段对应哪些工具链能力?Daemon 怎么感知当前阶段?
7. **结果驱动流转**lint/test/build 结果怎么写回黑板?怎么影响任务状态?(如 test 失败 → 自动标记 needs_revision
## 6. 与 v2.0 架构的集成点
```
moziplus v2.0 Daemon
├── Guardrail(课题3)──→ 工具链触发点
│ ├── L1 机械检查 ──→ 文件存在/格式校验(Daemon 直接执行)
│ ├── L2 AI 检查 ──→ lint/test 自动触发 + 结果评估
│ └── L3 Agent 审查 ──→ 代码审查 + Issue 创建
├── Hook(双重 Hook)──→ 工具链触发时机
│ ├── agent_turn_prepare ──→ 注入工具链上下文
│ └── agent_turn_complete ──→ 触发 lint/test/build
├── reviews 表 ──→ 工具链结果存储
│ └── review_type: "guardrail" ──→ lint/test/build 结果
└── Dashboard(课题9)──→ 工具链可视化
├── 任务看板 ──→ CI/CD 状态展示
└── 系统配置 ──→ 工具链配置管理
```