Bundle
dsh-pipeline-kernel
管线管理内核(pipeline-kernel):单向任务链的任务板/台账/注册表/巡检/播种/打包/自愈。v0.9.0:rc.8 削薄工程(依赖对齐 rc.8、DshAgentRuntime 窄收口、webServer inject、domain/changed 统一失效、契约测试、CI 全量门禁;业务语义与入口冻结)。
- Source
- not-big-dog
- stars
- 35 stars
- License
- MIT
- Updated
- Updated 17 days ago
Readme
# pipeline-kernel
> DeepSeek Harness (DSH) 插件(Cordis)| 多 Agent 管线管理内核:任务板 / 台账 / 部署 / 注册表 / 巡检 / 打包复用 / 控制面板
> A DSH (DeepSeek Harness) Cordis plugin — the management kernel for multi-agent pipelines: task board / ledger / deployment / registry / watchdog / packaging & reuse / control panel.
**pipeline-kernel 是管线无关的管理内核**:管线 = 配置数据(`pipelines` 表一行,用 `pipeline_define` 定义),内核不绑定任何具体业务。默认**无预置管线**,由使用者自行定义与部署。
**The kernel is pipeline-agnostic**: a pipeline is just a config row (defined via `pipeline_define`); no business is baked in. There is **no preset pipeline** — define and deploy your own.
[English](#english) · [中文](#中文)
---
## 中文
### 定位
- **内核 = 管线无关的管理能力**(通讯 / 台账 / UI 三大职责,见 `docs/`);**管线 = 数据(配置行)**
- 业务能力(生图、视频等)是管线内部设置,不进内核
- 多语言:UI 与文档自动跟随 DSH 语言设置(中文 / English)
### 安装
```jsonc
// C:\Users\<you>\.dsh\profiles\web\package.json → dependencies
"dsh-pipeline-kernel": "link:<本包路径>"
// bundles 列表加入 "dsh-pipeline-kernel"
```
或 `dsh plugin --profile web add <本包路径>`。重启 dsh web 后,**新会话**带 `pipeline_*` 工具(存量会话工具目录固定,需重建会话)。
> **依赖要求(v0.9+):宿主 `deepseek-harness 0.1.0-rc.8` 及以上**(本插件自身锁定 `^0.1.0-rc.8`,cordis 4.x)。开发/CI 用 `pnpm install --frozen-lockfile`。
### 快速开始
1. 定义管线:`pipeline_define {id:"my-pipe", roles:{supervisor:{preset:"pipeline-supervisor"}, ...}, chain:["supervisor",...], gates:{...}}`
2. 起链:`pipeline_deploy {pipelineId:"my-pipe"}`
3. 播种角色会话:`pipeline_seed {pipelineId:"my-pipe"}`(按定义给未注册角色创建会话,自动写注册表)
4. 投任务:`pipeline_push {title, description, tags:["target:<角色>","task:<编号>","attempt:1"]}`
5. 流转:`pipeline_list` → `pipeline_claim` → `pipeline_done {result:"done route:<角色|UID> 产物:..."}`(内核自动路由下一环)
6. 看全景:`pipeline_status`
### 控制面板(Web UI)
右下角 **pipeline** 胶囊按钮 → 展开右侧全高侧栏:
- **活动**:各管线运行摘要(角色状态 / 进行中任务 / 最近完成 / 失败置顶)
- **管线**:管线一等实体(Graph 缩略图 / KPI / 打包产物);点击任务展开 Task Inspector
- **新建**:定义新管线(工作文件夹必选,走系统目录选择器)
- **归档**:冷存储——归档不删除数据,可恢复;永久删除仅在归档箱内、需输入管线 id 确认
### 巡检(watchdog)
v0.8 起 **默认开启**(无需配置):每 5 分钟扫描 open 任务补唤醒(同任务 10 分钟冷却)、done 但路由未完成(僵尸)自愈补投、全链静止 30 分钟汇报主管。无管线/无任务时零噪音。如需调整或关闭,在 `cordis.patch.yml` 覆写:
```yaml
# c:\users\<you>\.dsh\profiles\web\cordis.patch.yml
pipeline-kernel:
watchdogEnabled: false # 关闭巡检(默认 true)
watchdogIntervalMs: 300000 # 巡检周期(默认 5 分钟)
watchdogStallMs: 1800000 # 全链静止判定(默认 30 分钟)
watchdogWakeCooldownMs: 600000 # 同任务补唤醒冷却(默认 10 分钟)
watchdogReportCooldownMs: 1800000
```
### 文档索引
| 文档 | 内容 |
|---|---|
| `docs/管线定义规范.md` | 管线定义字段与拓扑规范(roles/chain/gates/entry…) |
| `docs/内核接口文档.md` | 内核工具与端点清单(pipeline_* / HTTP 路由) |
| `docs/内核设计文档.md` | 架构与职责划分 |
| `docs/UI-方案-K7-边栏设计.md` | 控制面板 UI 方案 |
### License
MIT
---
## English
### Positioning
- **Kernel = pipeline-agnostic management** (communication / ledger / UI — see `docs/`); **pipeline = data (a config row)**
- Business capabilities (image generation, video, …) belong inside the pipeline, not the kernel
- Bilingual: the UI and docs follow the DSH language setting (中文 / English)
### Install
```jsonc
// C:\Users\<you>\.dsh\profiles\web\package.json → dependencies
"dsh-pipeline-kernel": "link:<path-to-this-package>"
// add "dsh-pipeline-kernel" to the bundles list
```
Or `dsh plugin --profile web add <path-to-this-package>`. After restarting dsh web, **new sessions** get the `pipeline_*` tools (existing sessions keep their fixed tool catalog — recreate them).
> **Dependency requirement (v0.9+): host `deepseek-harness 0.1.0-rc.8` or newer** (this plugin pins `^0.1.0-rc.8` itself; cordis 4.x). Dev/CI use `pnpm install --frozen-lockfile`.
### Quick start
1. Define a pipeline: `pipeline_define {id:"my-pipe", roles:{supervisor:{preset:"pipeline-supervisor"}, ...}, chain:["supervisor",...], gates:{...}}`
2. Deploy: `pipeline_deploy {pipelineId:"my-pipe"}`
3. Seed role sessions: `pipeline_seed {pipelineId:"my-pipe"}` (creates sessions for unregistered roles, writes the registry)
4. Push a task: `pipeline_push {title, description, tags:["target:<role>","task:<id>","attempt:1"]}`
5. Flow: `pipeline_list` → `pipeline_claim` → `pipeline_done {result:"done route:<role|UID> artifacts:..."}` (auto-routes to the next link)
6. Overview: `pipeline_status`
### Control panel (Web UI)
The **pipeline** pill at the bottom-right expands into a full-height sidebar:
- **Activity**: per-pipeline run summary (role states / in-progress tasks / recently completed / failures on top)
- **Pipelines**: pipelines as first-class entities (graph thumbnail / KPI / packs); clicking a task opens the Task Inspector
- **New**: define a new pipeline (working folder required, picked via the system directory picker)
- **Archive**: cold storage — archiving never deletes data and is reversible; permanent deletion lives only in the archive, requiring the pipeline id to confirm
### Watchdog
**On by default since v0.8** (no config needed): every 5 minutes it re-wakes open tasks (10-minute cooldown per task), self-heals zombie tasks (done but routing never finished), and reports stalled chains to the supervisor after 30 minutes. Zero noise with no pipelines/tasks. Tune or disable in `cordis.patch.yml`:
```yaml
# c:\users\<you>\.dsh\profiles\web\cordis.patch.yml
pipeline-kernel:
watchdogEnabled: false # turn watchdog off (default true)
watchdogIntervalMs: 300000 # tick interval (default 5 min)
watchdogStallMs: 1800000 # chain-stall threshold (default 30 min)
watchdogWakeCooldownMs: 600000 # per-task wake cooldown (default 10 min)
watchdogReportCooldownMs: 1800000
```
### Docs
| Doc | Content |
|---|---|
| `docs/管线定义规范.md` | Pipeline definition schema & topology (roles/chain/gates/entry…) |
| `docs/内核接口文档.md` | Kernel tool & endpoint reference (`pipeline_*` / HTTP routes) |
| `docs/内核设计文档.md` | Architecture & responsibilities |
| `docs/UI-方案-K7-边栏设计.md` | Control panel UI design |
### License
MIT
Install
dsh plugin --profile web add github:not-big-dog/DSH-pipeline-kernel#5cbe78246abbb50463abcff03bc70d79c48d0826
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-pipeline-kernel from the hub