dsh-trellis 0.1.8 → 0.1.10
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 +22 -5
- package/package.json +36 -35
package/README.md
CHANGED
|
@@ -46,10 +46,22 @@ dsh plugin --profile headless add file:C:/path/to/dsh-trellis
|
|
|
46
46
|
|
|
47
47
|
`file:` 插件会作为 profile 内的 pnpm 快照安装;拉取源码更新后,尤其是版本新增文件时,需要先 remove 再 add 刷新该 profile。
|
|
48
48
|
|
|
49
|
-
配套要求:项目的 Trellis 平台需包含 dsh(`trellis init --dsh`,见 Trellis-DeepSeekHarness 适配分支),且 `.trellis/scripts` 需包含读取原生 `DSH_SESSION_ID`
|
|
49
|
+
配套要求:项目的 Trellis 平台需包含 dsh(`trellis init --dsh`,见 Trellis-DeepSeekHarness 适配分支),且 `.trellis/scripts` 需包含读取原生 `DSH_SESSION_ID` 的适配(已含在同一分支)。当前源码的 Host peer 范围新增 `^0.2.0-rc.1`,保留既有版本范围;开发基线固定为 `0.2.0-rc.1`,隔离回归 `0.1.7-rc.2`、`0.1.7-rc.1`、`0.1.6-alpha.2` 和 `0.1.5-rc.2`,不代表逐个重新验证所有历史版本。新版 DSH 的 peer 准入使用 `includePrerelease: true`,与 npm 默认匹配不同;通过准入不等于实际兼容,不应使用 `allow-version` 绕过缺失的 API。Web 配置只在具备对应 client surface 的 profile 中加载。
|
|
50
50
|
|
|
51
51
|
运行时需要 profile 提供 `sessionProjections` 服务;该依赖由插件的 `inject` 声明。自定义或精简 profile 若未组装此服务,需先加载 `@deepseek-ai/dsh-session-projection`,否则插件会等待依赖,不会退回直接扫描历史。
|
|
52
52
|
|
|
53
|
+
### 0.1.10:DSH 0.2.0-rc.1 适配
|
|
54
|
+
|
|
55
|
+
- 七项 DSH peer 和 `engines.dsh` 新增 `^0.2.0-rc.1`;旧的 `^0.1.7-rc.1` 不接纳 0.2。开发依赖及锁文件升级到 0.2,Windows/Linux CI 配置继续覆盖四条旧宿主线。使用 0.2 宿主时请安装插件 0.1.10 或更新版本,0.1.9 不包含这项适配。
|
|
56
|
+
- 跟随宿主的失败工具历史恢复,新增真实 AgentLoop 回归:工具尚未启动时记录 `TOOL_NOT_STARTED`,已执行但结果未提交时记录 `TOOL_OUTCOME_UNKNOWN`;保留原始错误和已提交结果,继续会话不自动重试等待,也不重复注入面包屑。
|
|
57
|
+
- 已用隔离 DSH Web 验证正常版本准入、配置保存与读回、恢复继承值、整包/组件开关、冲突保留草稿以及页面重载。无需改变运行时代码、插件清单形态、安装命令或 Trellis 模板。完整范围见[验证记录](https://github.com/SajoLuo/dsh-trellis/blob/v0.1.10/docs/validation-dsh-0.2.0-rc.1.md)。
|
|
58
|
+
|
|
59
|
+
### 0.1.9:DSH 0.1.7-rc.2 兼容验证
|
|
60
|
+
|
|
61
|
+
- 新增 RC.2 隔离回归及 Windows/Linux CI 覆盖,修复兼容测试把非 RC.1 宿主错误归为旧版 Cordis 依赖的逻辑。
|
|
62
|
+
- 使用真实 AgentLoop、Loader 和 Session 验证动态工具增删、Settings 重挂、面包屑去重、恢复/分叉及压缩后的重新注入;补充等待目录失败与卸载清理回归。
|
|
63
|
+
- 本版不改变插件运行时代码、peer 范围、安装命令或 Trellis 生成模板;保留 RC.1 开发基线及两条旧宿主回归。验证范围与限制见[详细记录](https://github.com/SajoLuo/dsh-trellis/blob/v0.1.9/docs/validation-dsh-0.1.7-rc.2.md)。
|
|
64
|
+
|
|
53
65
|
### 0.1.8:DSH 0.1.7-rc.1 适配
|
|
54
66
|
|
|
55
67
|
- 按[新版 Settings 契约](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.7-rc.1/packages/settings/settings/README.md)声明六个 `.volatile()` 配置字段,读取 live Config,并由 Loader 的 `loader/volatile-update` 通知更新工作流注册。Settings 仅持有当前插件 fiber 的自定义页面策略;迟到、替换或卸载该服务不会重置配置。旧宿主保留原 helper/provider 路径。
|
|
@@ -80,7 +92,7 @@ dsh plugin --profile headless add file:C:/path/to/dsh-trellis
|
|
|
80
92
|
|
|
81
93
|
## 配置
|
|
82
94
|
|
|
83
|
-
支持 Settings 的 DSH Web profile,在新版打开“插件 → dsh-trellis”,旧版 RC 打开“设置 → 插件 → 插件配置 → Trellis 工作流”。`0.1.7-rc.1`
|
|
95
|
+
支持 Settings 的 DSH Web profile,在新版打开“插件 → dsh-trellis”,旧版 RC 打开“设置 → 插件 → 插件配置 → Trellis 工作流”。`0.1.7-rc.1` 起(含 `0.2.0-rc.1`)保存到当前 profile 的 `cordis.patch.yml`,全局 patch 和命令行覆盖仍优先,无法生效的表单写入会被拒绝;旧宿主仍保存到 `settings.yaml`。
|
|
84
96
|
|
|
85
97
|
升级前备份 `settings.yaml` 和各 profile 配置。新版宿主会把旧文件改名为 `settings.yaml.imported`,并向**首次启动的 profile** 按 entry id 一次性导入;拒绝的 section 只保留在备份文件,不会自动重试。插件不会自行重命名、删除或跨 profile 复制配置;应先安装兼容插件,再启动迁移,并核对其他 profile 的需要。
|
|
86
98
|
|
|
@@ -118,12 +130,17 @@ pnpm install
|
|
|
118
130
|
pnpm run build:client
|
|
119
131
|
pnpm test # node --test test/*.test.js
|
|
120
132
|
pnpm run test:compat 0.1.5-rc.2 # 临时副本中安装旧宿主并运行同一套测试
|
|
121
|
-
|
|
133
|
+
pnpm run test:compat 0.1.7-rc.2 # RC.2 动态工具与面包屑集成回归
|
|
134
|
+
# 不传版本参数时,隔离回归 0.1.5-rc.2、0.1.6-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1
|
|
122
135
|
```
|
|
123
136
|
|
|
124
|
-
GitHub Actions 配置在 Windows / Linux 的 Node 24 环境执行锁定的 `0.
|
|
137
|
+
GitHub Actions 配置在 Windows / Linux 的 Node 24 环境执行锁定的 `0.2.0-rc.1` 安装、客户端构建、测试、四条旧宿主回归及打包检查。测试覆盖真实 Session/projection 的恢复、分叉、压缩和 checkpoint,临时项目的精确绑定与任务错误恢复,以及新版真实 Loader 的 volatile 更新、子代理目录/查询/驻留状态;新版专属测试在旧宿主明确跳过。另有编译客户端 React 渲染、slot 生命周期、原子保存与拒绝写入测试。
|
|
138
|
+
|
|
139
|
+
RC.2 集成用例运行真实 AgentLoop、Loader、ToolRuntime 和 Session,以本地脚本化模型响应验证三种 `toolUpdate` 能力:不支持、`addition-only`、`in-history`。覆盖插件启停的工具增删消息、Settings 重挂不重复注入、混合历史的恢复/分叉投影,以及 surface 替换后重建工具基线并重新注入面包屑。等待工具另覆盖目录损坏/不存在及卸载期间查询失败的错误保留与监听器清理。该验证不调用外部模型,也不替代 Web 浏览器或真实子代理派发验收;详情见 [2026-09-28 验证记录](https://github.com/SajoLuo/dsh-trellis/blob/main/docs/validation-dsh-0.1.7-rc.2.md)。
|
|
140
|
+
|
|
141
|
+
0.2 集成用例另以真实 AgentLoop / ToolRuntime / Session 和实际 `trellis_wait` 验证失败工具历史的补齐顺序、错误分类、监听器清理及继续会话的消息配对。只注入 scheduler 故障和本地模型响应,不增加运行时补丁或自动重试;旧宿主按 `ToolCallRecovery` 能力明确跳过。还覆盖“目录查询期间收到成功结算、随后查询失败”的竞争,查询错误不能被伪装成成功。
|
|
125
142
|
|
|
126
|
-
`test:compat` 不改当前 checkout
|
|
143
|
+
`test:compat` 不改当前 checkout 的依赖,临时副本保留在系统临时目录并打印路径供检查。宿主工具链采用显式支持列表:0.1.7 RC.1/RC.2 和 0.2 RC.1 使用 Cordis 4.0.4、Schemastery 3.18.4、Loader 1.0.5、Include 1.0.9;两条旧线保留各自旧依赖组合,不按“非最新版本”猜测。发布前还应使用隔离 `DSH_HOME` 启动真实 Web profile,验证配置保存/读回、整包及组件开关、重新挂载和卸载;不复用个人凭据或会话。本轮 0.2 Windows 验收已覆盖正常安装、表单保存/重置、配置停用、整包/组件卸载重挂、冲突保护和浏览器重载,详见 [2026-09-29 验证记录](docs/validation-dsh-0.2.0-rc.1.md)。
|
|
127
144
|
|
|
128
145
|
Host half 是直接由 `main` 加载的 ESM JavaScript;Web half 通过 tsdown 生成 DSH lazy-CJS factory 到 `lib/client.js`。`pnpm pack` 会在 prepack 阶段自动重建客户端 bundle。
|
|
129
146
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-trellis",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "Trellis workflow integration for DeepSeek Harness: per-turn workflow-state breadcrumbs, utility commands, and native session identity.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
59
|
-
"@deepseek-ai/dsh-commands": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1",
|
|
60
|
-
"@deepseek-ai/dsh-llm": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1",
|
|
61
|
-
"@deepseek-ai/dsh-session-projection": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1",
|
|
62
|
-
"@deepseek-ai/dsh-settings": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1",
|
|
63
|
-
"@deepseek-ai/dsh-shell-env": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1",
|
|
64
|
-
"@deepseek-ai/dsh-subagent": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1",
|
|
65
|
-
"@deepseek-ai/dsh-tools": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1",
|
|
59
|
+
"@deepseek-ai/dsh-commands": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1 || ^0.2.0-rc.1",
|
|
60
|
+
"@deepseek-ai/dsh-llm": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1 || ^0.2.0-rc.1",
|
|
61
|
+
"@deepseek-ai/dsh-session-projection": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1 || ^0.2.0-rc.1",
|
|
62
|
+
"@deepseek-ai/dsh-settings": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1 || ^0.2.0-rc.1",
|
|
63
|
+
"@deepseek-ai/dsh-shell-env": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1 || ^0.2.0-rc.1",
|
|
64
|
+
"@deepseek-ai/dsh-subagent": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1 || ^0.2.0-rc.1",
|
|
65
|
+
"@deepseek-ai/dsh-tools": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1 || ^0.2.0-rc.1",
|
|
66
66
|
"@deepseek-ai/schemastery": "^3.18.2"
|
|
67
67
|
},
|
|
68
68
|
"peerDependenciesMeta": {
|
|
@@ -101,39 +101,40 @@
|
|
|
101
101
|
"@deepseek-ai/cordis-plugin-include": "1.0.9",
|
|
102
102
|
"@deepseek-ai/cordis-plugin-loader": "1.0.5",
|
|
103
103
|
"@deepseek-ai/cordis": "4.0.4",
|
|
104
|
-
"@deepseek-ai/dsh-agent": "0.
|
|
105
|
-
"@deepseek-ai/dsh-
|
|
106
|
-
"@deepseek-ai/dsh-
|
|
107
|
-
"@deepseek-ai/dsh-client-
|
|
108
|
-
"@deepseek-ai/dsh-client-ui-settings
|
|
109
|
-
"@deepseek-ai/dsh-
|
|
110
|
-
"@deepseek-ai/dsh-
|
|
111
|
-
"@deepseek-ai/dsh-
|
|
112
|
-
"@deepseek-ai/dsh-
|
|
113
|
-
"@deepseek-ai/dsh-
|
|
114
|
-
"@deepseek-ai/dsh-
|
|
115
|
-
"@deepseek-ai/dsh-
|
|
116
|
-
"@deepseek-ai/dsh-
|
|
117
|
-
"@deepseek-ai/dsh-session
|
|
118
|
-
"@deepseek-ai/dsh-session-
|
|
119
|
-
"@deepseek-ai/dsh-session-
|
|
120
|
-
"@deepseek-ai/dsh-
|
|
121
|
-
"@deepseek-ai/dsh-
|
|
122
|
-
"@deepseek-ai/dsh-shell
|
|
123
|
-
"@deepseek-ai/dsh-
|
|
124
|
-
"@deepseek-ai/dsh-
|
|
125
|
-
"@deepseek-ai/dsh-
|
|
126
|
-
"@deepseek-ai/dsh-
|
|
127
|
-
"@deepseek-ai/dsh-
|
|
128
|
-
"@deepseek-ai/dsh-
|
|
104
|
+
"@deepseek-ai/dsh-agent": "0.2.0-rc.1",
|
|
105
|
+
"@deepseek-ai/dsh-agent-loop": "0.2.0-rc.1",
|
|
106
|
+
"@deepseek-ai/dsh-attachment": "0.2.0-rc.1",
|
|
107
|
+
"@deepseek-ai/dsh-client-locale": "0.2.0-rc.1",
|
|
108
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.1",
|
|
109
|
+
"@deepseek-ai/dsh-client-ui-settings-plugins": "0.2.0-rc.1",
|
|
110
|
+
"@deepseek-ai/dsh-commands": "0.2.0-rc.1",
|
|
111
|
+
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.1",
|
|
112
|
+
"@deepseek-ai/dsh-http-proxy": "0.2.0-rc.1",
|
|
113
|
+
"@deepseek-ai/dsh-invariants": "0.2.0-rc.1",
|
|
114
|
+
"@deepseek-ai/dsh-llm": "0.2.0-rc.1",
|
|
115
|
+
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.1",
|
|
116
|
+
"@deepseek-ai/dsh-scope": "0.2.0-rc.1",
|
|
117
|
+
"@deepseek-ai/dsh-session": "0.2.0-rc.1",
|
|
118
|
+
"@deepseek-ai/dsh-session-persistence": "0.2.0-rc.1",
|
|
119
|
+
"@deepseek-ai/dsh-session-projection": "0.2.0-rc.1",
|
|
120
|
+
"@deepseek-ai/dsh-session-query": "0.2.0-rc.1",
|
|
121
|
+
"@deepseek-ai/dsh-settings": "0.2.0-rc.1",
|
|
122
|
+
"@deepseek-ai/dsh-shell": "0.2.0-rc.1",
|
|
123
|
+
"@deepseek-ai/dsh-shell-env": "0.2.0-rc.1",
|
|
124
|
+
"@deepseek-ai/dsh-subagent": "0.2.0-rc.1",
|
|
125
|
+
"@deepseek-ai/dsh-subprocess": "0.2.0-rc.1",
|
|
126
|
+
"@deepseek-ai/dsh-system-prompt": "0.2.0-rc.1",
|
|
127
|
+
"@deepseek-ai/dsh-tools": "0.2.0-rc.1",
|
|
128
|
+
"@deepseek-ai/dsh-user-approval": "0.2.0-rc.1",
|
|
129
|
+
"@deepseek-ai/dsh-util-time": "0.2.0-rc.1",
|
|
129
130
|
"@deepseek-ai/schemastery": "3.18.4",
|
|
130
131
|
"react": "19.2.8",
|
|
131
132
|
"react-dom": "19.2.8",
|
|
132
133
|
"tsdown": "^0.22.2",
|
|
133
|
-
"@deepseek-ai/dsh-ptc-runtime": "0.
|
|
134
|
+
"@deepseek-ai/dsh-ptc-runtime": "0.2.0-rc.1"
|
|
134
135
|
},
|
|
135
136
|
"engines": {
|
|
136
137
|
"node": ">=24",
|
|
137
|
-
"dsh": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1"
|
|
138
|
+
"dsh": "^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.3-alpha.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-rc.1 || ^0.2.0-rc.1"
|
|
138
139
|
}
|
|
139
140
|
}
|