--- title: Pipeline DSL updated: 2026-04-11 status: active tags: [module, pipeline, dsl] --- # Pipeline DSL > 从 [[index]] 导航。关联模块: [[hands-skills]] ## 设计思想 **Pipeline = 可编排的工作流,按 DAG 依赖顺序执行步骤。** - YAML 定义 Pipeline 结构(步骤、依赖、输入/输出) - DAG 执行器按依赖拓扑排序执行 - 17 个 YAML 模板覆盖 8 大行业目录 - 前端已接通 8 个 Tauri invoke 调用 ## 代码逻辑 ### 架构 ``` YAML Pipeline 定义 → PipelineExecutor (crates/zclaw-pipeline/src/executor.rs) → 构建 DAG (按依赖排序) → 逐步执行: → ActionRegistry.resolve(action_type) → 执行 action → PipelineRun.step_results → 全部完成 → PipelineRun.status = Completed ``` ### 运行状态 ```rust enum RunStatus { Pending, Running, Completed, Failed, Cancelled } ``` ### 模板分布 (17 个 YAML) ``` pipelines/ ├── _templates/ (2 模板) │ ├── article-summary.yaml │ └── competitor-analysis.yaml ├── design-shantou/ (4 模板) — 汕头玩具/服装行业 │ ├── client-communication.yaml │ ├── competitor-research.yaml │ ├── supply-chain-collect.yaml │ └── trend-to-design.yaml ├── education/ (4 模板) │ ├── classroom.yaml │ ├── lesson-plan.yaml │ ├── research-to-quiz.yaml │ └── student-analysis.yaml ├── healthcare/ (3 模板) │ ├── data-report.yaml │ ├── meeting-minutes.yaml │ └── policy-compliance.yaml ├── legal/ (1 模板) │ └── contract-review.yaml ├── marketing/ (1 模板) │ └── campaign.yaml ├── productivity/ (1 模板) │ └── meeting-summary.yaml └── research/ (1 模板) └── literature-review.yaml ``` ### 前端集成 | 组件 | 文件 | |------|------| | PipelineClient | `desktop/src/lib/pipeline-client.ts` | | WorkflowBuilderStore | `desktop/src/store/workflowBuilderStore.ts` | | Pipeline UI | `desktop/src/components/pipeline/` | | Tauri 命令 | `desktop/src-tauri/src/pipeline_commands/` | Pipeline Tauri 命令 (12 个): | 文件 | 命令数 | 命令 | |------|--------|------| | discovery.rs | 8 | list/get/run/progress/cancel/result/runs/refresh | | crud.rs | 3 | create/update/delete | | intent_router.rs | 1 | route_intent | | presentation.rs | 2 | analyze_presentation/pipeline_templates | 前端 invoke 匹配: 8 个调用对应 8 个 discovery 命令,完整可用。 ### 测试 `parser_v2.rs`: 11 tests — YAML 解析和 DAG 构建验证。 ## 关联模块 - [[hands-skills]] — Pipeline 步骤可能调用 Hand/Skill - [[chat]] — Pipeline 可通过聊天触发 ## 关键文件 | 文件 | 职责 | |------|------| | `crates/zclaw-pipeline/src/executor.rs` | DAG 执行器 | | `crates/zclaw-pipeline/src/parser_v2.rs` | YAML 解析 (11 tests) | | `pipelines/` | 17 个 YAML 模板 (8 目录) | | `desktop/src/lib/pipeline-client.ts` | 前端 Pipeline 客户端 | | `desktop/src-tauri/src/pipeline_commands/` | 12 个 Tauri 命令 (4 文件) |