Skip to content

开发流水线编排

版本: v1.1.0+ | 流水线管理 | 6种部署策略 | 审批门控 | 烟雾测试 | 规范翻译 (15 IPC)

概述

开发流水线编排系统管理从需求解析到部署监控的 7 阶段全生命周期,支持审批门控(auto/manual/condition 三种类型)和自动化部署。集成规范翻译器(自然语言→技术规范)、部署 Agent(5 种部署策略)和项目风格分析器,实现端到端的自动化开发流程。

核心特性

  • 🔄 7 阶段流水线: 需求解析→架构设计→代码生成→测试→审查→部署→监控全自动化
  • 🚪 审批门控: 支持 auto/manual/condition 三种门控类型,灵活控制流水线推进
  • 📝 规范翻译器: 自然语言需求自动翻译为结构化技术规范,支持多轮消歧
  • 🚀 部署 Agent: 5 种部署策略(git-pr/docker/npm/local/staging),自动烟雾测试
  • 📊 项目风格分析: 命名约定、架构模式、测试策略等 6 维度自动分析

系统架构

┌─────────────────────────────────────────────────────┐
│              Pipeline Orchestrator (15 IPC)          │
├──────┬──────┬──────┬──────┬──────┬──────┬───────────┤
│需求  │架构  │代码  │测试  │审查  │部署  │监控        │
│解析  │设计  │生成  │      │      │      │            │
├──────┴──────┴──────┴──┬───┴──────┴──┬───┴───────────┤
│  SpecTranslator       │ DeployAgent │PostDeployMonit│
│  (NL→Spec)           │ (5 策略)    │(烟雾测试)     │
├───────────────────────┴─────────────┴───────────────┤
│  RequirementParser │ ProjectStyleAnalyzer │ Gates   │
└─────────────────────────────────────────────────────┘

系统概述

7 阶段流水线

需求解析 → 架构设计 → 代码生成 → 测试 → 代码审查 → 部署 → 监控
   │          │          │        │        │        │      │
   ▼          ▼          ▼        ▼        ▼        ▼      ▼
Requirement Architecture  Code   Testing  Code    Deploy  Post-
  Parsing     Design    Generation        Review         Deploy
                                                         Monitor

阶段状态

状态说明
pending等待执行
running执行中
gate-waiting等待审批门控
approved审批通过
rejected审批拒绝
completed完成
failed失败
skipped跳过

流水线模板

内置模板

模板阶段适用场景
feature全部 7 阶段新功能开发
bugfix解析 → 代码 → 测试 → 审查 → 部署缺陷修复
refactor分析 → 代码 → 测试 → 审查代码重构
security-audit分析 → 审查 → 报告安全审计

Feature 流水线示例

1. [需求解析] NL 需求 → 结构化规范
2. [架构设计] 技术方案 → 组件设计
3. [代码生成] 架构 → 代码实现
4. [测试]    自动生成测试 → 验证循环
5. [代码审查] Debate Review 多视角审查
6. [部署]    DeployAgent 自动部署
7. [监控]    PostDeployMonitor 观测

审批门控

门控类型

类型说明
auto上一阶段成功自动通过
manual需要人工审批
condition满足条件自动通过

门控配置

json
{
  "gates": {
    "after-testing": {
      "type": "condition",
      "condition": "testPassRate >= 0.95"
    },
    "before-deploy": {
      "type": "manual",
      "approvers": ["lead-did"]
    }
  }
}

规范翻译器

NL → Spec 翻译

将自然语言需求翻译为结构化的技术规范:

用户输入: "添加一个用户资料编辑页面,支持修改头像和昵称"

翻译输出:
{
  "intent": "create-component",
  "component": "UserProfileEditor",
  "features": [
    { "name": "avatar-upload", "type": "file-input" },
    { "name": "nickname-edit", "type": "text-input" }
  ],
  "framework": "vue3",
  "route": "/profile/edit"
}

支持的意图类型

意图说明
create-component创建新组件
add-feature添加功能
fix-bug修复缺陷
refactor重构代码
add-api添加 API
add-test添加测试
update-style更新样式
configure配置修改
general通用需求

多轮消歧

当需求不够明确时,自动提出澄清问题:

用户: "优化搜索"
Agent: "请明确以下信息:
  1. 是指知识库搜索还是社交搜索?
  2. 优化方向:速度、准确度还是交互体验?
  3. 是否需要修改现有 API?"

部署 Agent

部署策略

策略说明
git-pr创建 Git 分支和 Pull Request
dockerDocker 镜像构建和推送
npm-publishNPM 包发布
local本地部署
staging预发布环境

部署配置

json
{
  "deployAgent": {
    "strategy": "git-pr",
    "deployTimeoutMs": 120000,
    "smokeTestTimeoutMs": 30000,
    "autoCreateBranch": true,
    "branchPrefix": "pipeline/",
    "dryRun": false
  }
}

烟雾测试

部署后自动执行烟雾测试验证基本功能:

部署完成 → 执行烟雾测试 (30s 超时)

              ├─ 通过 → 部署成功
              └─ 失败 → 自动回滚

需求解析器

解析能力

  • 需求分类: feature / bugfix / refactor / optimization / security / documentation
  • 用户故事提取: "作为...我希望...以便..."格式
  • 验收标准生成: 自动生成可测试的验收条件
  • 边界条件识别: 分析潜在的边界情况
  • 依赖检测: 通过代码知识图谱检测模块依赖
  • 技术栈推断: 自动识别涉及的技术(vue, api, database 等)

项目风格分析器

分析维度

维度分析内容
命名约定camelCase / snake_case / PascalCase
架构模式目录结构、模块组织
测试模式测试框架、覆盖率标准
代码风格缩进、引号、分号
导入规范导入顺序、别名使用
组件规范组件结构、Props 定义

缓存策略

  • 分析结果缓存 10 分钟
  • 目录树扫描最大深度 5 层,最多 500 文件
  • 结合代码知识图谱和 Instinct 学习系统

关键文件

文件职责
src/main/ai-engine/cowork/pipeline-orchestrator.js流水线编排器(7 阶段)
src/main/ai-engine/cowork/deploy-agent.js部署 Agent(5 种策略)
src/main/ai-engine/cowork/spec-translator.jsNL → Spec 规范翻译
src/main/ai-engine/cowork/requirement-parser.js需求解析器
src/main/ai-engine/cowork/project-style-analyzer.js项目风格分析
src/main/ai-engine/cowork/post-deploy-monitor.js部署后监控
src/main/ai-engine/cowork/evolution-ipc.jsIPC 处理器

使用示例

创建 Feature 流水线

  1. 打开「开发流水线」页面,选择 feature 模板
  2. 输入需求描述(自然语言),规范翻译器自动转换为技术规范
  3. 流水线自动按 7 阶段依次执行
  4. 在审批门控处查看测试通过率,决定是否继续推进
  5. 部署阶段选择策略(推荐 git-pr 创建 Pull Request)

配置审批门控

  1. 在流水线配置中定义门控规则
  2. condition 类型:设置自动通过条件(如测试通过率 >= 95%)
  3. manual 类型:指定审批人 DID
  4. 审批通过后流水线自动进入下一阶段

使用规范翻译器

  1. 在「规范翻译」面板输入自然语言需求
  2. 系统自动提取意图类型和技术规范
  3. 如需求不够明确,AI 会提出澄清问题
  4. 确认翻译结果后,规范直接传入流水线

故障排查

问题可能原因解决方案
流水线创建失败模板名称错误或参数不完整使用内置模板名(feature/bugfix/refactor/security-audit)
阶段卡在 gate-waiting门控条件未满足或等待人工审批检查条件配置,手动审批或调整阈值
规范翻译结果不准确需求描述过于模糊提供更详细的需求描述,回答 AI 的消歧问题
部署阶段失败Git/Docker/NPM 工具不可用使用 dryRun: true 模式排查,确认部署工具已安装
烟雾测试超时测试脚本执行时间超过 30 秒调大 smokeTestTimeoutMs 或优化测试脚本
项目风格分析为空项目目录为空或超出扫描限制确认项目路径正确,扫描限制为深度 5 层、500 文件

配置参考

.chainlesschain/config.json 中配置流水线编排器行为:

js
// .chainlesschain/config.json — devPipeline 完整字段
{
  "devPipeline": {
    // 规范翻译器
    "specTranslator": {
      "enabled": true,
      "disambiguationRounds": 3,     // 最大消歧轮数,超过后强制继续
      "confidenceThreshold": 0.75,   // 翻译置信度低于此值触发消歧
      "cacheResults": true           // 缓存同文本的翻译结果
    },

    // 审批门控默认策略
    "gates": {
      "defaultType": "auto",         // "auto" | "manual" | "condition"
      "testPassRateThreshold": 0.95, // condition 门控:测试通过率阈值
      "deployApprovers": [],         // manual 门控:审批人 DID 列表
      "timeoutMinutes": 60           // manual 门控超时后自动拒绝(0=不超时)
    },

    // 部署 Agent
    "deployAgent": {
      "strategy": "git-pr",          // "git-pr" | "docker" | "npm-publish" | "local" | "staging"
      "deployTimeoutMs": 120000,
      "smokeTestTimeoutMs": 30000,
      "autoCreateBranch": true,
      "branchPrefix": "pipeline/",
      "dryRun": false                // true = 模拟部署,不实际执行
    },

    // 项目风格分析器
    "styleAnalyzer": {
      "cacheMinutes": 10,            // 分析结果缓存时长
      "maxDepth": 5,                 // 目录树扫描最大深度
      "maxFiles": 500,               // 扫描文件上限
      "useKnowledgeGraph": true      // 结合代码知识图谱分析依赖
    },

    // 监控
    "postDeployMonitor": {
      "enabled": true,
      "observationWindowMs": 300000, // 部署后观测窗口 5 分钟
      "autoRollbackOnError": true
    }
  }
}
字段类型默认值说明
specTranslator.confidenceThresholdnumber0.75低于此置信度自动触发消歧
gates.testPassRateThresholdnumber0.95condition 门控测试通过率阈值
gates.timeoutMinutesnumber60manual 门控超时后自动拒绝(0=不超时)
deployAgent.strategystring"git-pr"部署策略;开发推荐 git-pr
deployAgent.dryRunbooleanfalse模拟部署模式,不实际执行
styleAnalyzer.cacheMinutesnumber10风格分析结果缓存时长
postDeployMonitor.autoRollbackOnErrorbooleantrue观测窗口内出错自动回滚

性能指标

以下基准数据来自实测(中型项目,约 500 源文件):

指标目标值典型实测说明
规范翻译耗时(首次)< 3 s~1.8 sNL→Spec,含意图分类
规范翻译耗时(缓存命中)< 100 ms~20 ms相同文本命中缓存
阶段状态切换延迟< 200 ms~80 msIPC 通知到 UI 更新
项目风格分析(冷启动)< 5 s~2.4 s500 文件,深度 5 层
项目风格分析(缓存命中)< 50 ms~12 ms10 分钟内复用
部署 git-pr 策略耗时< 30 s~12 s创建分支 + PR(本地 Git)
烟雾测试执行窗口≤ 30 s依测试脚本超时自动回滚
流水线全程(feature 模板)< 10 min~6 min含 LLM 代码生成阶段

并发能力

维度推荐说明
同时运行流水线数3超过 3 条时 LLM 吞吐成为瓶颈
单流水线最大阶段数10超出内置 7 阶段时为自定义模板
manual 门控并发等待无上限按 DID 独立队列,互不阻塞

测试覆盖率

测试文件覆盖模块用例数
tests/unit/cowork/pipeline-orchestrator.test.js7 阶段状态机、阶段跳过、错误回退42
tests/unit/cowork/spec-translator.test.jsNL→Spec 翻译、消歧轮次、意图分类36
tests/unit/cowork/requirement-parser.test.js需求分类、用户故事提取、依赖检测28
tests/unit/cowork/deploy-agent.test.js5 种部署策略、dryRun 模式、烟雾测试34
tests/unit/cowork/post-deploy-monitor.test.js观测窗口、自动回滚触发18
tests/unit/cowork/project-style-analyzer.test.js6 维度分析、缓存命中、大目录限制24
tests/integration/cowork/pipeline-e2e.test.jsfeature / bugfix 模板端到端16

测试用例覆盖点

  • pipeline:create — feature / bugfix / refactor / security-audit 四种内置模板
  • pipeline:advance — auto / manual / condition 三种门控类型
  • pipeline:advance — condition 门控:testPassRate >= 0.95 阈值判断
  • pipeline:translate-spec — 9 种意图类型正确分类
  • pipeline:translate-spec — 置信度不足触发消歧,最大轮次后强制继续
  • pipeline:deploydryRun: true 不实际修改 Git / Docker / NPM
  • pipeline:deploy — 烟雾测试超时自动回滚
  • pipeline:status — 所有 8 种阶段状态正确流转
  • pipeline:analyze-style — 缓存 10 分钟内复用,超时重新扫描
  • pipeline:analyze-style — 超过 500 文件 / 深度 5 层时截断并警告
  • pipeline:list — 按状态过滤、分页返回
  • ✅ IPC 通道总计 15 个处理器全部有对应测试桩

安全考虑

  • 审批门控: 关键阶段(测试、部署)支持强制人工审批,防止未经审查的代码上线
  • 部署沙箱: dryRun 模式允许模拟部署而不实际修改生产环境
  • 分支隔离: git-pr 策略自动创建独立分支,不直接修改主分支
  • 烟雾测试: 每次部署后自动执行基础功能验证,失败时自动回滚
  • 需求审计: 所有需求翻译和流水线执行记录可追溯
  • 代码审查集成: 流水线内置 Debate Review 多视角代码审查
  • 权限控制: 部署操作需要相应自主等级或人工授权

相关文档

基于 MIT 许可发布