dsh-trellis 0.1.12 → 0.1.13
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 +31 -12
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ DeepSeek Harness (dsh) host 插件:把 [Trellis](https://github.com/mindfold-a
|
|
|
15
15
|
## 安装
|
|
16
16
|
|
|
17
17
|
```powershell
|
|
18
|
-
# 装进实际使用的 profile
|
|
18
|
+
# 装进实际使用的 profile;CLI 修改在下次启动时加载
|
|
19
19
|
dsh plugin --profile web add dsh-trellis
|
|
20
20
|
dsh plugin --profile headless add dsh-trellis
|
|
21
21
|
|
|
@@ -27,14 +27,14 @@ dsh plugin --profile tui add dsh-trellis
|
|
|
27
27
|
|
|
28
28
|
DSH `0.2.0-rc.2` 的 macOS / Windows 桌面端可在菜单栏“Manage dsh command”中安装或管理内置 `dsh` 命令,无需单独安装 Node 或 pnpm。先用 `dsh --version` 确认 PATH 中实际调用的版本;旧的全局 CLI 可能与桌面端不同。桌面端默认使用 `desktop` profile,其他 profile 仍需分别安装。
|
|
29
29
|
|
|
30
|
-
新版本刚发布时,插件页预览的版本可能与安装器最终选择的版本不同。需要本版插件 `0.1.
|
|
30
|
+
新版本刚发布时,插件页预览的版本可能与安装器最终选择的版本不同。需要本版插件 `0.1.13` 时,在插件页输入 `dsh-trellis@0.1.13`,或显式安装到实际使用的 profile:
|
|
31
31
|
|
|
32
32
|
```powershell
|
|
33
|
-
dsh plugin --profile desktop add dsh-trellis@0.1.
|
|
33
|
+
dsh plugin --profile desktop add dsh-trellis@0.1.13
|
|
34
34
|
# Web / headless 用户将 desktop 替换为对应 profile 名称。
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
DSH
|
|
37
|
+
DSH `0.2.0-rc.2` 发布说明曾引入 pnpm 11;其默认新版本等待期为 24 小时,裸包名可能暂时解析到较旧版本。不要仅凭“RC.2”推断其他版本的包管理器:以实际宿主和解析结果为准。显式版本安装仍须通过版本准入,不需要关闭全局等待期或绕过兼容性检查。参见 [DSH 0.2.0-rc.2 更新说明](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.2.0-rc.2) 与 [pnpm 11 发布说明](https://pnpm.io/blog/releases/11.0)。
|
|
38
38
|
|
|
39
39
|
日常升级命令:
|
|
40
40
|
|
|
@@ -43,7 +43,7 @@ dsh plugin --profile web update dsh-trellis
|
|
|
43
43
|
dsh plugin --profile headless update dsh-trellis
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
对 `tui` profile 使用同样的 update
|
|
46
|
+
对 `tui` profile 使用同样的 update。CLI 在进程外修改 profile 后,应重启对应 DSH 进程。`0.2.1-alpha.3` 起,运行中的插件管理器可对满足 HMR 条件的包执行代码热替换;无法热替换时会提示需要重启,以实际结果为准。整包/组件开关只证明卸载与重挂,不等同于包代码已更新。更换 DSH 宿主 release 后,还需按页面提示刷新浏览器,避免旧 Web 壳连接新宿主。参见[插件管理器生命周期](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.2.1-rc.2/packages/boot/plugin-manager/README.md)。
|
|
47
47
|
|
|
48
48
|
DSH `0.1.6-alpha.2` 也可从 Web 侧栏“插件 → 添加插件”安装包。Web 安装后需要手动启用;CLI `add` 默认启用。安装命令仍是 `dsh plugin --profile <name> add <package>`,无需增加额外安装脚本。
|
|
49
49
|
|
|
@@ -57,12 +57,18 @@ pnpm run build:client
|
|
|
57
57
|
dsh plugin --profile headless add file:C:/path/to/dsh-trellis
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
`file:` 插件会作为 profile 内的 pnpm 快照安装;拉取源码更新后,尤其是版本新增文件时,需要先 remove 再 add 刷新该 profile
|
|
60
|
+
`file:` 插件会作为 profile 内的 pnpm 快照安装;拉取源码更新后,尤其是版本新增文件时,需要先 remove 再 add 刷新该 profile。外部 CLI 刷新快照后重启对应进程,不要假定源码目录变化会自动热更新。
|
|
61
61
|
|
|
62
|
-
配套要求:项目的 Trellis 平台需包含 dsh(`trellis init --dsh`,见 Trellis-DeepSeekHarness 适配分支),且 `.trellis/scripts` 需包含读取原生 `DSH_SESSION_ID`
|
|
62
|
+
配套要求:项目的 Trellis 平台需包含 dsh(`trellis init --dsh`,见 Trellis-DeepSeekHarness 适配分支),且 `.trellis/scripts` 需包含读取原生 `DSH_SESSION_ID` 的适配(已含在同一分支)。现有 `engines.dsh` 和 Host peer 范围已接纳 `0.2.1-rc.2`,无需为每个预发布标签追加范围。`0.2.1-alpha.4` 起宿主优先检查显式 `engines.dsh`,仅未声明时才回退 DSH peer;其 `includePrerelease: true` 规则与 npm 默认匹配不同。通过准入不等于实际兼容,不应使用 `allow-version` 绕过缺失的 API。开发基线固定为 `0.2.0-rc.1`,隔离回归覆盖开发章节的十二个明确宿主,不代表测试了范围内所有版本。Web 配置只在具备对应 client surface 的 profile 中加载。参见[官方版本声明迁移说明](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.2.1-rc.2/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.md)。
|
|
63
63
|
|
|
64
64
|
运行时需要 profile 提供 `sessionProjections` 服务;该依赖由插件的 `inject` 声明。自定义或精简 profile 若未组装此服务,需先加载 `@deepseek-ai/dsh-session-projection`,否则插件会等待依赖,不会退回直接扫描历史。
|
|
65
65
|
|
|
66
|
+
### 0.1.13:DSH 0.2.1-rc.2 兼容回归
|
|
67
|
+
|
|
68
|
+
- 补齐 alpha.3 / alpha.4 / alpha.5 / RC.1 / RC.2 的隔离回归与 Windows/Linux CI 目标,按各版实际发布的 Cordis、Schemastery、Include 和 Loader 精确配对;未知宿主直接拒绝,不猜测依赖组合。
|
|
69
|
+
- 新增版本准入声明和依赖矩阵回归。保留 `0.2.0-rc.1` 开发基线、现有 peer / engine 范围及插件运行时代码,不新增清单格式、安装脚本或强制升级路径。
|
|
70
|
+
- 修正安装、热替换、AgentPreset、SDK 会话和技能缓存边界说明。本版仅更新插件仓库;不改 Trellis 模板、现有项目或另行跟进的上游 PR。实际验证范围见 [RC.2 验证记录](docs/validation-dsh-0.2.1-rc.2.md),远端 CI 与发布状态以对应标签和 npm 为准。
|
|
71
|
+
|
|
66
72
|
### 0.1.11:DSH 0.2.0-rc.2 兼容验证
|
|
67
73
|
|
|
68
74
|
- 增加 `0.2.0-rc.2` 隔离回归与 Windows/Linux CI 目标;本地 RC.1 / RC.2 均为 130 项通过、无失败或跳过,RC.2 独立 Web profile 验收通过。
|
|
@@ -148,7 +154,9 @@ Headless、rc.6 或需要声明部署默认值时,仍可在 profile 的 `cordi
|
|
|
148
154
|
- **Headless 会话**:默认每次 `dsh --profile headless` 调用都会创建新 DSH session。需要跨轮保留 active-task 指针时,应保持同一会话,或在支持的宿主上用 `--session-id` 明确继续已有会话;不能把多个未指定身份的独立调用当成同一 session。
|
|
149
155
|
- **工作目录**:优先读取当前 agent 的可选 `workingDirectory` 服务,跟随宿主提交的目录切换/恢复;仅服务不存在时回退 session header。服务故障不会触发旧目录操作。切换目录不会替换会话身份,不会复制任务指针;新目录按同一身份查找自己的指针。
|
|
150
156
|
- **取消与生命周期**:命令和 `trellis_wait` 都继承 DSH invocation 的 `AbortSignal`;取消后命令不会继续尝试另一个 Python 启动器,等待工具也会立即注销临时事件监听器。结算事件不能单独证明父会话通知入队,因此 `settlementNoticeQueued` 保守返回 false(未验证);仅从 catalog 看到 inactive 时保持 `unknown`,不猜任务通过。插件卸载或 Settings 重挂时,还会取消自己的活跃等待和待消费面包屑,不删除用户消息或任务记录。
|
|
151
|
-
- **子代理并发**:主会话先做独立工作,需要汇合时用 `trellis_wait` 等待直接 continuable
|
|
157
|
+
- **子代理并发**:主会话先做独立工作,需要汇合时用 `trellis_wait` 等待直接 continuable 子代理的结算。以实际工具目录、schema 和 PTC/SDK 绑定为准,不假定它一定是顶层直接可调用的模型工具。无插件时根据实际工具 schema 选择旧宿主前台参数,或 alpha.2 的父会话 yield/原生通知路径;不存在可靠事件路径时主会话直接做工作。SDK 的 `session/wait` 不是可以假定存在的模型工具。所有路径都必须检查结果后才能推进依赖步骤。
|
|
158
|
+
- **AgentPreset 与 SDK**:新宿主通过 `agentPreset` 组合子代理策略,不再发送移除的 `persona` / `toolFilter`;模型侧仅在宿主公开可用列表时使用 `agent_preset`,fork 保持宿主原生的预设继承,不自行拼接身份。SDK `session/resume` 恢复原生 session ID、历史和有效目录,本身不派发模型回合;初始化的模型路由不是新的 Trellis 身份。插件不保存或搬运模型凭据。参见[预设迁移](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.2.1-rc.2/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.md)与[SDK 契约](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.2.1-rc.2/packages/sdk/server/README.md)。
|
|
159
|
+
- **技能目录刷新**:alpha.5 的技能缓存修正响应插件管理器变化,不等于任意磁盘 `SKILL.md` 修改或外部 CLI 更新都会推送刷新。执行 `trellis init/update` 后,按宿主的预设切换或重连路径刷新技能目录;本插件不增加全局缓存失效补丁。可选 Discover 使用独立插件索引,并非 Trellis marketplace gitlink;普通包安装无需创建索引。参见[技能缓存](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.2.1-rc.2/packages/client/ui-skill/README.md)和[插件索引](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.2.1-rc.2/docs/user/guide/plugin-market.md)。
|
|
152
160
|
|
|
153
161
|
## 开发
|
|
154
162
|
|
|
@@ -158,18 +166,29 @@ pnpm run build:client
|
|
|
158
166
|
pnpm test # node --test test/*.test.js
|
|
159
167
|
pnpm run test:compat 0.1.5-rc.2 # 临时副本中安装旧宿主并运行同一套测试
|
|
160
168
|
pnpm run test:compat 0.1.7-rc.2 # RC.2 动态工具与面包屑集成回归
|
|
161
|
-
pnpm run test:compat 0.2.0-rc.2 #
|
|
169
|
+
pnpm run test:compat 0.2.0-rc.2 # 保留 0.2.0 RC.2 回归
|
|
162
170
|
pnpm run test:compat 0.2.1-alpha.2 # 新工作目录与统一 activation 契约
|
|
163
|
-
|
|
171
|
+
pnpm run test:compat 0.2.1-rc.2 # 当前 RC.2 隔离回归
|
|
172
|
+
pnpm run test:compat # 默认跑全部十二个显式目标
|
|
164
173
|
```
|
|
165
174
|
|
|
166
|
-
GitHub Actions 配置在 Windows / Linux 的 Node 24 环境执行锁定的 `0.2.0-rc.1`
|
|
175
|
+
GitHub Actions 配置在 Windows / Linux 的 Node 24 环境执行锁定的 `0.2.0-rc.1` 安装、客户端构建、测试、其余十一个宿主的隔离回归及打包检查。测试覆盖真实 Session/projection 的恢复、分叉、压缩和 checkpoint,临时项目的精确绑定与任务错误恢复,以及新版真实 Loader 的 volatile 更新、子代理目录/查询/驻留状态;新版专属测试在旧宿主明确跳过。另有编译客户端 React 渲染、slot 生命周期、原子保存与拒绝写入测试。配置了 CI 目标不等于远端 CI 已运行,结果以对应提交为准。
|
|
167
176
|
|
|
168
177
|
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)。
|
|
169
178
|
|
|
170
179
|
0.2 集成用例另以真实 AgentLoop / ToolRuntime / Session 和实际 `trellis_wait` 验证失败工具历史的补齐顺序、错误分类、监听器清理及继续会话的消息配对。只注入 scheduler 故障和本地模型响应,不增加运行时补丁或自动重试;旧宿主按 `ToolCallRecovery` 能力明确跳过。还覆盖“目录查询期间收到成功结算、随后查询失败”的竞争,查询错误不能被伪装成成功。
|
|
171
180
|
|
|
172
|
-
`test:compat` 不改当前 checkout
|
|
181
|
+
`test:compat` 不改当前 checkout 的依赖,临时副本保留在系统临时目录并打印路径供检查。十二个目标采用以下明确配对,不按“非最新版本”猜测;未知宿主必须先核对官方包并补齐测试。
|
|
182
|
+
|
|
183
|
+
| DSH 目标 | Cordis | Schemastery | Include | Loader |
|
|
184
|
+
|---|---|---|---|---|
|
|
185
|
+
| 0.1.5-rc.2、0.1.6-alpha.2 | 4.0.2 | 3.18.2 | 1.0.7 | 1.0.3 |
|
|
186
|
+
| 0.1.7-rc.1 / rc.2、0.2.0-rc.1 / rc.2 | 4.0.4 | 3.18.4 | 1.0.9 | 1.0.5 |
|
|
187
|
+
| 0.2.1-alpha.2 | 4.0.5-alpha.1 | 3.18.5-alpha.1 | 1.0.10-alpha.1 | 1.0.6-alpha.1 |
|
|
188
|
+
| 0.2.1-alpha.3 / alpha.4 / alpha.5 | 4.0.5-alpha.2 | 3.18.5-alpha.2 | 1.0.10-alpha.2 | 1.0.6-alpha.2 |
|
|
189
|
+
| 0.2.1-rc.1 / rc.2 | 4.0.5 | 3.18.5 | 1.0.10 | 1.0.6 |
|
|
190
|
+
|
|
191
|
+
发布前还应使用隔离 `DSH_HOME` 启动真实 Web profile,验证配置保存/读回、整包及组件开关、重新挂载和卸载;不复用个人凭据或会话。代码 HMR、外部 CLI 快照刷新和浏览器跨宿主 release 刷新是不同验收项,不能用一次开关测试代替。当前结果与未覆盖项见 [2026-10-18 验证记录](docs/validation-dsh-0.2.1-rc.2.md)。
|
|
173
192
|
|
|
174
193
|
Host half 是直接由 `main` 加载的 ESM JavaScript;Web half 通过 tsdown 生成 DSH lazy-CJS factory 到 `lib/client.js`。`pnpm pack` 会在 prepack 阶段自动重建客户端 bundle。
|
|
175
194
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-trellis",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
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",
|
|
@@ -129,6 +129,7 @@
|
|
|
129
129
|
"@deepseek-ai/schemastery": "3.18.4",
|
|
130
130
|
"react": "19.2.8",
|
|
131
131
|
"react-dom": "19.2.8",
|
|
132
|
+
"semver": "7.8.5",
|
|
132
133
|
"tsdown": "^0.22.2",
|
|
133
134
|
"@deepseek-ai/dsh-ptc-runtime": "0.2.0-rc.1"
|
|
134
135
|
},
|