diff --git a/README.md b/README.md index cc6ac7f..5f5bfde 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,21 @@ -# pipeline-task +# pipeline_task +产线任务交互模块 —— 任务提交、状态监控、人工任务审批、产物查看。 + +## 功能 + +- **任务提交**:自然语言描述 → 意图识别 → 产线分发 +- **任务列表**:实时状态轮询 +- **任务详情**:步骤树 + 输入/输出产物 +- **人工交互**:审批通过/拒绝、表单填写 +- **Bug 管理**:Agent 自动提交 Bug + +## 集成 + +本模块无自有数据表(纯交互层),通过 ServerEnv 调用 `pipeline_service` 和 `pipeline_sdlc` 的函数。 + +## 安装 + +```bash +cd pkgs/pipeline-task && pip install . +``` diff --git a/skill/SKILL.md b/skill/SKILL.md new file mode 100644 index 0000000..79e0279 --- /dev/null +++ b/skill/SKILL.md @@ -0,0 +1,60 @@ +--- +name: pipeline-task +description: "Pipeline task interaction module — task submission, monitoring, human task approval, and artifact viewing." +--- + +# pipeline_task + +Pure interaction-layer module with no data tables. All operations delegate to `pipeline_service` and `pipeline_sdlc` via ServerEnv. + +## Architecture + +``` +pipeline_task/ +├── pipeline_task/ +│ ├── __init__.py +│ └── init.py # load_pipeline_task() — registers UI-facing functions +├── wwwroot/ +│ ├── index.ui # Task center dashboard +│ ├── task_submit.ui # Natural language task submission form +│ ├── task_detail.ui # Task detail with step tree + artifacts +│ ├── task_tree_popup.ui # Popup step tree view +│ ├── step_panel.ui # Single step input/output viewer +│ └── api/ +│ ├── task_submit.dspy # Submit task (NLP → intent → dispatch) +│ ├── task_list.dspy # Task list with filters +│ ├── task_detail.dspy # Task + steps detail +│ ├── task_node.dspy # Single step I/O +│ ├── task_tree.dspy # Step DAG as tree +│ ├── task_control.dspy # Pause/resume/cancel +│ ├── task_restart.dspy # Restart task +│ ├── human_list.dspy # Human task list +│ ├── human_complete.dspy # Complete human task +│ ├── approval_approve.dspy / reject.dspy +│ └── my_bugs.dspy # User's bug list +├── i18n/ # zh/en/jp/ko translations +└── scripts/load_path.py # RBAC registration +``` + +## Key DSPY Endpoints + +### Task Lifecycle +- `task_submit.dspy` — NLP input → intent classification → pipeline dispatch +- `task_list.dspy` — Paginated task list with status filters +- `task_detail.dspy` — Full task info + step tree + +### Step Interaction +- `task_node.dspy` — Read/write step input/output artifacts +- `task_tree.dspy` — DAG steps as nested tree for frontend Tree widget + +### Human Tasks +- `human_list.dspy` — Pending human tasks +- `human_complete.dspy` — Submit human task result +- `approval_approve.dspy` / `approval_reject.dspy` + +## Pitfalls + +- **No data tables**: All data ops delegate to pipeline_service. Never write SQL here. +- **Tree widget format**: `task_tree.dspy` must return `[{"id","label","children":[...]}]` format for bricks Tree. +- **i18n**: After editing msg.txt, run `merge_i18n.py` in umbrella's build.sh. +- **Auto-refresh**: Task list uses browser-side polling. No server push.