dsh-knj-workflow 0.1.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,77 @@
1
+ # dsh-knj-workflow
2
+
3
+ **开发任务编排插件**(DeepSeek Harness):配置驱动的工作流 + 开发任务管理 + 可视化阶段进度。
4
+
5
+ > 📖 **详细设计文档见 [DESIGN.md](./DESIGN.md)**(架构、数据模型、Host/Client 设计、编排器、踩坑记录、验证记录)。
6
+
7
+ ## 功能
8
+
9
+ - **工作流管理**:可新增 N 个工作流,每个工作流由多个阶段组成;阶段行为由 `prompt`(提示词)+ 可选 `skill` 定义
10
+ - **开发任务**:创建任务并绑定工作流,自动启动执行
11
+ - **可视化进度**:右侧栏「开发任务」tab 横向步骤条展示每个阶段状态(待执行/运行中/完成/失败),实时刷新
12
+ - **阶段重跑 / 继续**:失败的阶段可点击「重跑」,暂停/失败的任务可点击「继续」——基于断点持久化(每阶段结果落盘)
13
+ - **斜杠命令**:`/dev-task new <标题>`、`/dev-task list`、`/dev-task status <id>`、`/dev-task wf`
14
+ - **UI 融入原生**:左侧栏底部「新建任务」入口 + 右侧栏两个 tab(better-sidebar 扩展点),全部使用 DSH 原生设计令牌(`--dsw-*`)
15
+
16
+ ## 架构
17
+
18
+ ```
19
+ ┌─ Client 端(lib/client.js)───────────────────────────────┐
20
+ │ 左侧栏 sidebar.footer.action →「➕ 新建任务」 │
21
+ │ 右侧栏 better-sidebar →「开发任务」「工作流」两个 tab │
22
+ └──────────────┬──────────────────────────────────────────┘
23
+ │ fetch('/devtask/...') 同源 HTTP
24
+ ┌──────────────▼──────────────────────────────────────────┐
25
+ │ Host 端(lib/index.js) │
26
+ │ DevTaskStore(JSON 持久化) + HTTP API + /dev-task 命令 │
27
+ │ WorkflowBridge:从 parent agent 作用域取 workflowEngine │
28
+ │ (rc.8 起引擎位于 agent preset realm,非 host realm) │
29
+ └──────────────┬──────────────────────────────────────────┘
30
+ │ ctx.workflowEngine(script = lib/orchestrator.js)
31
+ ┌──────────────▼──────────────────────────────────────────┐
32
+ │ 编排器(lib/orchestrator.js)支持 resumeFrom / rerunStage │
33
+ │ 每阶段子 agent 结果落盘 <taskDir>/stages/<stageId>.json │
34
+ └─────────────────────────────────────────────────────────┘
35
+
36
+ 数据目录(默认):~/.dsh/dev-orchestrator/
37
+ workflows.json # N 个工作流定义
38
+ tasks/<taskId>/task.json # 任务元数据 + 阶段状态
39
+ tasks/<taskId>/stages/<stageId>.json # 阶段断点产物
40
+ ```
41
+
42
+ ## 安装
43
+
44
+ ```sh
45
+ # 在插件目录打包
46
+ pnpm pack # 生成 dsh-knj-workflow-0.1.0.tgz
47
+
48
+ # 安装到 dsh web profile(重启 dsh web 生效)
49
+ dsh plugin --profile web add ./dsh-knj-workflow-0.1.0.tgz
50
+ ```
51
+
52
+ 配置(可选,在 profile 的 `cordis.patch.yml` 中按 id `knj-workflow` 覆盖):
53
+
54
+ | 键 | 默认 | 说明 |
55
+ |---|---|---|
56
+ | `dataRoot` | `~/.dsh/dev-orchestrator` | 数据存储目录 |
57
+ | `httpPrefix` | `/devtask` | HTTP API 前缀 |
58
+
59
+ ## HTTP API
60
+
61
+ | 方法 | 路径 | 说明 |
62
+ |---|---|---|
63
+ | GET | `/devtask/health` | 健康检查 |
64
+ | GET/POST/PUT | `/devtask/workflows` | 工作流列表 / 保存 |
65
+ | DELETE | `/devtask/workflows/:id` | 删除工作流 |
66
+ | GET/POST | `/devtask/tasks` | 任务列表 / 创建(绑定工作流并启动) |
67
+ | GET | `/devtask/tasks/:id` | 任务详情(含阶段状态) |
68
+ | POST | `/devtask/tasks/:id/start` `/cancel` `/resume` | 启动 / 取消 / 继续 |
69
+ | POST | `/devtask/tasks/:id/rerun-stage` | 重跑指定阶段 |
70
+ | GET | `/devtask/tasks/:id/stages/:stageId` | 阶段断点产物 |
71
+
72
+ ## 编排器参数
73
+
74
+ - `args.config`:工作流定义(`{ name, description, stages: [...] }`)
75
+ - `args.task`:任务元数据(`{ id, title, taskDir }`)
76
+ - `args.resumeFrom`:从某阶段继续(之前阶段读缓存)
77
+ - `args.rerunStage`:只重跑某阶段(其余读缓存)
@@ -0,0 +1,18 @@
1
+ # dsh-knj-workflow bundle patch
2
+ #
3
+ # Installed via: dsh plugin --profile web add ./dsh-knj-workflow-0.1.0.tgz
4
+ # This layer inserts the plugin row into the profile's cordis tree,
5
+ # and re-enables the workflow engine rows that dsh-web-app disables
6
+ # (workflow-worker-thread + tool-workflow), because this plugin drives
7
+ # ctx.workflowEngine programmatically.
8
+ # `dataRoot` and `httpPrefix` may be overridden by the user's profile
9
+ # cordis.patch.yml (same id, later layer wins).
10
+ - id: workflow-worker-thread
11
+ disabled: false
12
+ - id: tool-workflow
13
+ disabled: false
14
+ - insert:
15
+ - id: knj-workflow
16
+ name: dsh-knj-workflow
17
+ config:
18
+ httpPrefix: /devtask