@godv61/dsh-task-engine 0.4.1 → 0.5.1
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 +19 -6
- package/lib/client.js +4534 -0
- package/lib/client.js.map +7 -0
- package/lib/controller.d.ts +52 -0
- package/lib/controller.js +145 -0
- package/lib/controller.js.map +1 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/package.json +21 -7
package/README.md
CHANGED
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
## 目录
|
|
14
14
|
|
|
15
15
|
```
|
|
16
|
-
cordis.patch.yml bundle 声明 + host 组合 patch
|
|
16
|
+
cordis.patch.yml bundle 声明 + host 组合 patch(一行,注册本插件,双端)
|
|
17
17
|
defaults/eng.json 内置默认工作流(可被项目 .dsh/eng.json 覆盖)
|
|
18
18
|
hooks/commit-msg git 提交门禁钩子(install_hook 装进 .git/hooks/)
|
|
19
|
-
src/engine.ts 纯函数状态机 + 配置校验(无 harness
|
|
20
|
-
src/index.ts
|
|
19
|
+
src/engine.ts 纯函数状态机 + 配置校验(无 harness 依赖,双端复用)
|
|
20
|
+
src/index.ts 插件(host):注册 dev_task 工具 + 技能 + 挂 task-engine Remote 控制器
|
|
21
|
+
src/controller.ts Host 端 Remote 控制器:网页读写 .dsh/eng.json
|
|
22
|
+
src/client/ 浏览器半:设置页「工程流程配置」(表单 + 实时校验 + 保存)
|
|
21
23
|
skills/eng-delivery/ 内置交付技能
|
|
22
24
|
preset/preset.yml 预设元数据
|
|
23
25
|
preset/persona.md 预设 persona 文案(复制粘贴用)
|
|
@@ -29,8 +31,8 @@ preset/persona.md 预设 persona 文案(复制粘贴用)
|
|
|
29
31
|
|
|
30
32
|
```powershell
|
|
31
33
|
npm install # 从公共 npm 解析 @deepseek-ai/* 依赖
|
|
32
|
-
npm run typecheck #
|
|
33
|
-
npm run build # tsc 产出 lib/
|
|
34
|
+
npm run typecheck # 严格模式零错误(host tsconfig + client tsconfig)
|
|
35
|
+
npm run build # tsc 产出 host lib(index/controller/engine)+ esbuild 产出双端 lib/client.js
|
|
34
36
|
```
|
|
35
37
|
|
|
36
38
|
## 安装(别人集成)
|
|
@@ -73,6 +75,17 @@ dsh plugin --profile <name> add .
|
|
|
73
75
|
|
|
74
76
|
**配置写错会报错,不再悄悄退回默认**:结构校验(阶段重复/缺失、流转指向未知阶段、guard 拼错、坏正则等)逐条列出。用 `dev_task`(operation=config)随时查看「当前生效配置 + 哪里配错了」。
|
|
75
77
|
|
|
78
|
+
## 网页配置界面(0.5.0 起)
|
|
79
|
+
|
|
80
|
+
不用手写 `.dsh/eng.json`。装在带 Web 的 profile 里后,打开 Web GUI → 设置 → 多出一个「工程流程配置」页:
|
|
81
|
+
|
|
82
|
+
- 顶部选工作区,页面读出该工作区的 `.dsh/eng.json`(没有就用内置默认并提示「当前使用内置默认配置」)。
|
|
83
|
+
- 阶段、流转(含守卫)、产物、提交规则、高风险验证据开关都能可视化编辑。
|
|
84
|
+
- 编辑时**实时**跑 `validateWorkflow`:有问题就红字列出、保存按钮置灰;主机保存前再校验一遍,有问题的配置永不落盘。
|
|
85
|
+
- 保存写入所选工作区的 `.dsh/eng.json`,和 `dev_task` 用的是**同一套**校验(单一事实来源)。
|
|
86
|
+
|
|
87
|
+
> 纯 headless 装机不受影响(只是没有这个页);Web profile 需要包含 `@deepseek-ai/dsh-web-app`。
|
|
88
|
+
|
|
76
89
|
## git 提交门禁(防止绕过)
|
|
77
90
|
|
|
78
91
|
默认提交是「工具校验 + 模型执行 git」,模型理论上能绕过 `dev_task` 直接 `git commit`。装个机械钩子彻底封死:
|
|
@@ -86,4 +99,4 @@ dsh plugin --profile <name> add .
|
|
|
86
99
|
|
|
87
100
|
- **脚本级已验证**:strict `tsc` typecheck/build 零错误;`dsh plugin add` 装进独立实例、`--dump-config` 确认 `task-engine` 进组合树;`validateWorkflow`(配置校验)、`artifacts_present`(产物门)、`file_scope`(文件范围门)、`hooks/commit-msg`(机械门禁)单测/冒烟全过——非法配置逐条报错、产物没填全挡流转、范围外文件挡提交、钩子该放放该拦拦。
|
|
88
101
|
- **真实模型端到端(0.4.1)**:headless + NewAPI DeepSeek 下让真模型走 `dev_task` 全流程,抓到并修掉一个真实 bug——`readText`/`writeText` 调 `fs.resolve()` 漏了 `await`,把 `Promise<FsTarget>` 当 `target` 传给了读写方法,导致 create/record/advance/commit 全部写不了任务文件、读永远返回 undefined。0.4.1 修复(`await fs.resolve(relPath)`),并把 `task_id` 在 create 也必填的说明补进工具 schema 与技能。修复后走真实 `ctx.fs` 路径冒烟全绿。
|
|
89
|
-
-
|
|
102
|
+
- **网页图形化配置界面(0.5.0)**:新增 `src/client/` 设置页「工程流程配置」+ Host 端 `task-engine` Remote 控制器;`@godv61/dsh-task-engine` 升级为双端包(`dsh.client` manifest + `./client` 出品,`exports` 暴露)。已实机验证:`dsh web` 起服务后 boot 数据里 `@godv61/dsh-task-engine` 以 `inject:["@deepseek-ai/dsh-api-gateway"]` 进入 application batch、`/plugins/…/client.js` 正常服务;headless 冒烟确认 boot + `dev_task` 未被新控制器破坏。浏览器点击级 e2e 留到发布后用真浏览器收尾。
|