Files
zclaw_openfang/wiki/pipeline.md
iven ed77095a37
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
docs(wiki): 系统性更新 — L0速览+L1模块标准化+L2功能链路映射(33条)
三层架构增强:
- 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
2026-04-21 23:48:19 +08:00

157 lines
4.9 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.

---
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** — P3Provider Key 禁用后已有任务不自动清理