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
关键数字修正: - Rust 77K行(274 .rs)、Tauri 189命令、SaaS 137 routes - Admin V2 17页、SaaS 16模块(含industry)、@reserved 22 - SQL 20迁移/42表、TODO/FIXME 4个、dead_code 16 内容更新: - known-issues: V13-GAP 全部标记已修复 + 三端联调测试结果 - middleware: 14层 runtime + 10层 SaaS HTTP 完整清单 - saas: industry模块、路由模块13个、数据表42个 - routing: Store含industryStore、21个Store文件 - butler: 行业配置接入ButlerPanel、4内置行业 - log: 三端联调+V13修复记录追加
110 lines
3.1 KiB
Markdown
110 lines
3.1 KiB
Markdown
---
|
|
title: Pipeline DSL
|
|
updated: 2026-04-14
|
|
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 文件) |
|