Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
三层架构增强: - L0 index.md: 用户功能清单+跨模块数据流全景图+导航树增强 (92→143行) - L1 8个模块页标准化: 功能清单/API接口/测试链路/已知问题 routing(252→326) chat(101→157) saas(153→230) memory(182→333) butler(137→179) middleware(121→159) hands-skills(218→257) pipeline(111→156) - L1 新增2页: security.md(157行) data-model.md(180行) - L2 feature-map.md: 33条端到端功能链路映射(408行) 维护机制: CLAUDE.md §8.3 wiki触发规则 5→9条 设计文档: docs/superpowers/specs/2026-04-21-wiki-systematic-overhaul-design.md
157 lines
4.9 KiB
Markdown
157 lines
4.9 KiB
Markdown
---
|
||
title: Pipeline DSL
|
||
updated: 2026-04-21
|
||
status: active
|
||
tags: [module, pipeline, dsl]
|
||
---
|
||
|
||
# Pipeline DSL
|
||
|
||
> 从 [[index]] 导航。关联模块: [[hands-skills]]
|
||
|
||
## 设计思想
|
||
|
||
**Pipeline = 可编排的工作流,按 DAG 依赖顺序执行步骤。**
|
||
|
||
- YAML 定义 Pipeline 结构(步骤、依赖、输入/输出)
|
||
- DAG 执行器按依赖拓扑排序执行
|
||
- 18 个 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 }
|
||
```
|
||
|
||
### 模板分布 (18 个 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
|
||
|
||
注: 共 18 个 YAML, 总数 = 2+4+4+3+1+1+1+1+1 = 18
|
||
```
|
||
|
||
### 前端集成
|
||
|
||
| 组件 | 文件 |
|
||
|------|------|
|
||
| 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 构建验证。
|
||
|
||
## 功能清单
|
||
|
||
| 功能 | 描述 | 入口文件 | 状态 |
|
||
|------|------|----------|------|
|
||
| YAML 解析 | v2 解析器,支持 DAG 依赖 | parser_v2.rs | ✅ |
|
||
| DAG 执行 | 拓扑排序 + 并行执行 | executor.rs | ✅ |
|
||
| 模板发现 | 18 模板 + 8 行业目录 | pipeline_commands/ | ✅ |
|
||
| 模型意图 | Pipeline 意图匹配 | intent.rs | ✅ |
|
||
| 状态管理 | Pipeline 运行状态 | state.rs | ✅ |
|
||
| 触发器 | 定时/事件触发 | trigger.rs | ✅ |
|
||
| 演示分析 | Pipeline 结果分析 | presentation/ | ✅ |
|
||
|
||
## API 接口
|
||
|
||
### Tauri 命令
|
||
|
||
| 命令 | 状态 | 说明 |
|
||
|------|------|------|
|
||
| `orchestration_execute` | @reserved | 执行工作流 (无前端 UI) |
|
||
| `orchestration_validate` | @reserved | 验证工作流 (无前端 UI) |
|
||
|
||
> 另有 12 个 pipeline discovery 命令在 `desktop/src-tauri/src/pipeline_commands/`,8 个已接通前端。
|
||
|
||
## 测试链路
|
||
|
||
| 功能 | 测试文件 | 测试数 | 覆盖状态 |
|
||
|------|---------|--------|---------|
|
||
| YAML 解析 v2 | parser_v2.rs | 11 | ✅ |
|
||
| DAG 执行 | executor.rs | 2 | ✅ |
|
||
| 意图匹配 | intent.rs | 5 | ✅ |
|
||
| 状态管理 | state.rs | 6 | ✅ |
|
||
| 触发器 | trigger.rs | 5 | ✅ |
|
||
| 类型 | types.rs + types_v2.rs | 4 | ✅ |
|
||
| 解析 v1 | parser.rs | 5 | ✅ |
|
||
| 引擎上下文 | engine/context.rs | 7 | ✅ |
|
||
| 引擎阶段 | engine/stage.rs | 1 | ✅ |
|
||
| 演示 | presentation/ (3文件) | 13 | ✅ |
|
||
| **合计** | 13 文件 | **59** | |
|
||
|
||
## 关联模块
|
||
|
||
- [[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/` | 18 个 YAML 模板 (8 目录) |
|
||
| `desktop/src/lib/pipeline-client.ts` | 前端 Pipeline 客户端 |
|
||
| `desktop/src-tauri/src/pipeline_commands/` | 12 个 Tauri 命令 (4 文件) |
|
||
|
||
## 已知问题
|
||
|
||
- ✅ **pipeline_create 反序列化失败** — BUG-L2 已修复 (04-17 回归)
|
||
- ⚠️ **Pipeline+Skill E2E 通过率 37.5%** — Tauri IPC 可用但参数格式问题
|
||
- ⚠️ **Deepseek 中继任务卡 processing** — P3,Provider Key 禁用后已有任务不自动清理
|