# 工具链课题：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_commands（lint/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 Docker？Windows-Test-Node（192.168.2.33）？
3. **沙箱到什么程度**：Agent 执行命令时的安全隔离？文件系统级隔离（worktree）？还是进程级隔离？
4. **Issue 管理用 gitee 还是自己做**：黑板 tasks 表已能追踪任务，还需要外部 Issue 系统吗？两者怎么打通？
5. **与 moziplus v2.0 集成方式**：工具链是 v2.0 内置能力还是外部集成？Daemon 怎么触发 lint/test/build？Guardrail 和工具链的关系？
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 状态展示
      └── 系统配置 ──→ 工具链配置管理
```
