@mars-sea/dsh-commandcode-provider 0.12.7 → 0.12.8

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/CHANGELOG.md CHANGED
@@ -4,6 +4,17 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.12.8] - 2026-10-08
8
+
9
+ ### Changed
10
+
11
+ - **引擎配对从「只支持 `0.2.1-alpha.1`」改为同时支持 `0.2.0-rc.2` 与 `0.2.1-alpha.1`,业务代码零改动。** 15 个 `@deepseek-ai/dsh-*` peer 写成两个已验证版本的析取 `0.2.0-rc.2 || 0.2.1-alpha.1`;`@deepseek-ai/cordis` 与 `@deepseek-ai/schemastery` 同批写成 `~4.0.4 || ~4.0.5-alpha.1` 与 `~3.18.4 || ~3.18.5-alpha.1`;`dsh.compatibility.dsh`、`engines.dsh` 与 `devDependencies` 逐字同步;`dsh.compatibility.dshReleases` 增补 `0.2.0-rc.2` 记录。**写成析取而不是宽范围是刻意的**:每个分支都是裸版本号,因此 `0.2.0-rc.1`、`0.2.1-alpha.2`、`0.2.1-rc.1`、`0.2.1`、`0.3.0-alpha.1` 等相邻版本仍然全部被拒——issue #43 的教训(未验证的邻居被静默放行)依旧被挡住。
12
+ - `npm run test:engine` 改为**引擎矩阵**:默认对 `dshReleases` 里声明的每个引擎各跑一遍完整套件(ESM 链接、静态具名导入审计、客户端 `require()` 种子审计、22 个流终态场景、网关事实隔离、持久化图片卸载契约、Config 易变契约),只在一个引擎上全绿不再算通过。`tests/package.test.ts` 的护栏同步升级为「peer 范围必须**恰好**等于已声明兼容版本的析取,且每个分支必须是裸版本号」,`scripts/verify-isolated-install.mjs` 的 peer 断言改为按版本而不是按范围文本比对锁文件。
13
+
14
+ ### Fixed
15
+
16
+ - **修掉「按官方默认方式装 dsh 的用户装不上本插件」。** `@deepseek-ai/dsh` 的 npm `latest` 一直停在 `0.2.0-rc.2`(`0.2.1-alpha.1` 只挂在 `alpha` 通道),官方桌面端放出的也是 rc 版本;而宿主 `dsh-app-boot` 的 `evaluatePluginCompatibility` 会拿运行中的 dsh 版本逐条比对插件的每个 `@deepseek-ai/dsh*` peer,不匹配即抛 `ManagementFailure('incompatible-version')` 当场拒绝安装。0.12.4~0.12.7 因此对 rc.2 用户完全无法安装(issue #77/#78);现在两条通道都能装。
17
+
7
18
  ## [0.12.7] - 2026-10-08
8
19
 
9
20
  ### Added
package/README.md CHANGED
@@ -35,8 +35,11 @@ See [Screenshots](#screenshots) below for what the UI looks like.
35
35
 
36
36
  ## Install
37
37
 
38
- This release supports **dsh 0.2.1-alpha.1 and nothing else** — the plugin's peer
39
- range is that one version, and its compatibility record names it alone:
38
+ This release supports **dsh 0.2.0-rc.2 and dsh 0.2.1-alpha.1, and nothing else** —
39
+ the plugin's peer range is exactly those two verified versions, and its
40
+ compatibility records name them alone. `0.2.0-rc.2` is what
41
+ `npm i -g @deepseek-ai/dsh@latest` and the official desktop build ship, so it is
42
+ the version most users are on; `0.2.1-alpha.1` is the upstream `alpha` channel:
40
43
 
41
44
  ```sh
42
45
  dsh plugin --profile web add @mars-sea/dsh-commandcode-provider@latest
@@ -63,14 +66,14 @@ dsh plugin --profile web add @mars-sea/dsh-commandcode-provider@0.11.15
63
66
 
64
67
  The same applies to every profile you install into, including the terminal UI below.
65
68
 
66
- Fresh pnpm 10 marketplace generations are supported directly. Every Harness package — including `@deepseek-ai/cordis` and `@deepseek-ai/schemastery` — is declared by the plugin at an exact version as a Host peer, so the active dsh profile remains their owner; do not add a separate dependency for any of them. Upstream removed the `@deepseek-ai/dsh-invariants` package in `0.2.1-alpha.1`, so the plugin no longer declares it.
69
+ Fresh pnpm 10 marketplace generations are supported directly. Every Harness package — including `@deepseek-ai/cordis` and `@deepseek-ai/schemastery` — is declared by the plugin over the same two-version range as its `@deepseek-ai/dsh-*` peers as a Host peer, so the active dsh profile remains their owner; do not add a separate dependency for any of them. Upstream removed the `@deepseek-ai/dsh-invariants` package in `0.2.1-alpha.1`, so the plugin no longer declares it.
67
70
 
68
71
  ## Updating
69
72
 
70
73
  Update with the same tag you installed with:
71
74
 
72
75
  ```sh
73
- dsh plugin --profile web update @mars-sea/dsh-commandcode-provider@latest # dsh 0.2.1-alpha.1
76
+ dsh plugin --profile web update @mars-sea/dsh-commandcode-provider@latest # dsh 0.2.0-rc.2 or 0.2.1-alpha.1
74
77
  dsh plugin --profile web update @mars-sea/dsh-commandcode-provider@0.9.1 # older dsh (0.5.0 line, unmaintained)
75
78
  ```
76
79
 
@@ -144,7 +147,7 @@ cmd login # writes ~/.commandcode/auth.json
144
147
  cwd: !!js process.cwd()
145
148
  ```
146
149
 
147
- **Engine version.** The plugin is maintained against exactly one engine: **dsh 0.2.1-alpha.1**. Its `@deepseek-ai/dsh-*` peers use the exact version `0.2.1-alpha.1`, `@deepseek-ai/cordis` is pinned to `~4.0.5-alpha.1` and `@deepseek-ai/schemastery` to `~3.18.5-alpha.1` (all three released with that engine), and `dsh.compatibility.dshReleases` records that single release. Adjacent prereleases and stable patch versions have not been verified. Note that `0.2.1-alpha.1` is an early alpha, so it is less stable than the `0.2.0-rc.2` release candidate it replaces. On an older engine the settings page, the message envelope, or the request-image budget will not line up — install the last release that supported your engine (see [Install](#install)) instead of forcing this one.
150
+ **Engine version.** The plugin is maintained against exactly two engines: **dsh 0.2.0-rc.2** and **dsh 0.2.1-alpha.1**. Its `@deepseek-ai/dsh-*` peers use the disjunction `0.2.0-rc.2 || 0.2.1-alpha.1`, `@deepseek-ai/cordis` is pinned to `~4.0.4 || ~4.0.5-alpha.1` and `@deepseek-ai/schemastery` to `~3.18.4 || ~3.18.5-alpha.1` (each branch shipped with its engine), and `dsh.compatibility.dshReleases` records exactly those two releases. That disjunction is deliberate and load-bearing: unlike a caret or a `>=` range it admits **no** adjacent prerelease, release candidate, or stable patch version, every branch is a bare version, and `npm run test:engine` runs the whole suite against **both** engines before a release. DSH itself refuses to load a plugin whose `@deepseek-ai/dsh*` peers do not admit the running engine, so a range that silently admitted an unverified neighbour would be worse than no range at all. On any other engine the settings page, the message envelope, or the request-image budget may not line up — install the last release that supported your engine (see [Install](#install)) instead of forcing this one.
148
151
 
149
152
  ## Usage dashboard
150
153
 
package/README.zh-CN.md CHANGED
@@ -33,7 +33,7 @@
33
33
 
34
34
  ## 安装
35
35
 
36
- 本版本**只支持 dsh 0.2.1-alpha.1**:插件的 peer 范围就是这一个版本,兼容性记录里也只列它。
36
+ 本版本**只支持 dsh 0.2.0-rc.2 与 dsh 0.2.1-alpha.1 这两个版本**:插件的 peer 范围就是这两个已验证版本的析取,兼容性记录里也只列它们。`0.2.0-rc.2` 正是 `npm i -g @deepseek-ai/dsh@latest` 与官方桌面端放出的版本,多数用户都在它上面;`0.2.1-alpha.1` 是上游的 `alpha` 通道:
37
37
 
38
38
  ```sh
39
39
  dsh plugin --profile web add @mars-sea/dsh-commandcode-provider@latest
@@ -55,14 +55,14 @@ dsh plugin --profile web add @mars-sea/dsh-commandcode-provider@0.11.15
55
55
 
56
56
  这一点对每个 profile 都成立,包括下面的终端界面。
57
57
 
58
- 插件可直接在 pnpm 10 的全新插件市场 generation 中安装。所有 Harness 包(含 `@deepseek-ai/cordis`、`@deepseek-ai/schemastery`)都由插件按精确版本声明为 Host peer,由当前 dsh profile 统一管理,不要另行添加 dependency。上游曾在 `0.2.1-alpha.1` 删除 `@deepseek-ai/dsh-invariants` 这个包,因此插件不再声明它。
58
+ 插件可直接在 pnpm 10 的全新插件市场 generation 中安装。所有 Harness 包(含 `@deepseek-ai/cordis`、`@deepseek-ai/schemastery`)都由插件按与 `@deepseek-ai/dsh-*` 相同的双版本范围声明为 Host peer,由当前 dsh profile 统一管理,不要另行添加 dependency。上游曾在 `0.2.1-alpha.1` 删除 `@deepseek-ai/dsh-invariants` 这个包,因此插件不再声明它。
59
59
 
60
60
  ## 更新
61
61
 
62
62
  用与安装时相同的 tag 更新:
63
63
 
64
64
  ```sh
65
- dsh plugin --profile web update @mars-sea/dsh-commandcode-provider@latest # dsh 0.2.1-alpha.1
65
+ dsh plugin --profile web update @mars-sea/dsh-commandcode-provider@latest # dsh 0.2.0-rc.2 或 0.2.1-alpha.1
66
66
  dsh plugin --profile web update @mars-sea/dsh-commandcode-provider@0.9.1 # 更早的 dsh(0.5.0 线,不再维护)
67
67
  ```
68
68
 
@@ -136,7 +136,7 @@ cmd login # 写入 ~/.commandcode/auth.json
136
136
  cwd: !!js process.cwd()
137
137
  ```
138
138
 
139
- **引擎版本要求。** 插件只针对一个引擎维护:**dsh 0.2.1-alpha.1**。它的 `@deepseek-ai/dsh-*` 对等依赖使用精确版本 `0.2.1-alpha.1`,`@deepseek-ai/cordis` 固定 `~4.0.5-alpha.1`、`@deepseek-ai/schemastery` 固定 `~3.18.5-alpha.1`(三者都与该引擎同批发布),`dsh.compatibility.dshReleases` 也只记录这一个版本。相邻预发布版与稳定补丁版尚未验证。注意 `0.2.1-alpha.1` 是 alpha 早期测试版,稳定性低于上一版的 `0.2.0-rc.2` 候选发布。在更早的引擎上,设置页、消息封装或请求图片预算总有一处对不上——请改装支持你所用引擎的最后一个版本,而不是硬装这一个。
139
+ **引擎版本要求。** 插件针对两个引擎维护:**dsh 0.2.0-rc.2** 与 **dsh 0.2.1-alpha.1**。它的 `@deepseek-ai/dsh-*` 对等依赖写成两者的析取 `0.2.0-rc.2 || 0.2.1-alpha.1`,`@deepseek-ai/cordis` 固定为 `~4.0.4 || ~4.0.5-alpha.1`、`@deepseek-ai/schemastery` 固定为 `~3.18.4 || ~3.18.5-alpha.1`(每个分支都与对应引擎同批发布),`dsh.compatibility.dshReleases` 也只记录这两个版本。这个析取写法是刻意的、且是承重的:它不像 `^` 或 `>=` 那样放行任何相邻的预发布版、候选发布或稳定补丁版,每个分支都是一个裸版本号,且发版前 `npm run test:engine` 会对**两个引擎各跑一遍**完整套件。DSH 本身会拒绝加载 `@deepseek-ai/dsh*` peer 不接纳当前引擎的插件——所以一个静默放行未验证邻居的范围,比没有范围更糟。在其它引擎上,设置页、消息封装或请求图片预算总有一处对不上——请改装支持你所用引擎的最后一个版本,而不是硬装这一个。
140
140
 
141
141
  ## 用量面板
142
142
 
package/lib/client.js CHANGED
@@ -3273,7 +3273,7 @@ window.__ModuleLoader__.load({
3273
3273
  }
3274
3274
  //#endregion
3275
3275
  //#region package.json
3276
- var version = "0.12.7";
3276
+ var version = "0.12.8";
3277
3277
  var repository = {
3278
3278
  "type": "git",
3279
3279
  "url": "git+https://github.com/Mars-Sea/dsh-commandcode-provider.git"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mars-sea/dsh-commandcode-provider",
3
- "version": "0.12.7",
3
+ "version": "0.12.8",
4
4
  "description": "Unofficial DeepSeek Harness LLM provider plugin for Command Code, ported from pi-commandcode-provider (MIT). Registers the 'commandcode' provider route with a Models-page card and live model catalog.",
5
5
  "icon": "./icon.svg",
6
6
  "type": "module",
@@ -23,9 +23,10 @@
23
23
  },
24
24
  "compatibility": {
25
25
  "dshReleases": {
26
+ "0.2.0-rc.2": "compatible",
26
27
  "0.2.1-alpha.1": "compatible"
27
28
  },
28
- "dsh": "0.2.1-alpha.1"
29
+ "dsh": "0.2.0-rc.2 || 0.2.1-alpha.1"
29
30
  },
30
31
  "client": {
31
32
  "inject": [
@@ -59,7 +60,7 @@
59
60
  },
60
61
  "engines": {
61
62
  "node": ">=22",
62
- "dsh": "0.2.1-alpha.1"
63
+ "dsh": "0.2.0-rc.2 || 0.2.1-alpha.1"
63
64
  },
64
65
  "publishConfig": {
65
66
  "access": "public"
@@ -85,24 +86,24 @@
85
86
  ],
86
87
  "license": "MIT",
87
88
  "peerDependencies": {
88
- "@deepseek-ai/cordis": "~4.0.5-alpha.1",
89
- "@deepseek-ai/dsh-api-remotes": "0.2.1-alpha.1",
90
- "@deepseek-ai/dsh-attachment": "0.2.1-alpha.1",
91
- "@deepseek-ai/dsh-client-locale": "0.2.1-alpha.1",
92
- "@deepseek-ai/dsh-client-ui-primitives": "0.2.1-alpha.1",
93
- "@deepseek-ai/dsh-client-ui-renderer": "0.2.1-alpha.1",
94
- "@deepseek-ai/dsh-client-ui-settings": "0.2.1-alpha.1",
95
- "@deepseek-ai/dsh-client-ui-slots": "0.2.1-alpha.1",
96
- "@deepseek-ai/dsh-commands": "0.2.1-alpha.1",
97
- "@deepseek-ai/dsh-credentials": "0.2.1-alpha.1",
98
- "@deepseek-ai/dsh-launch-environment": "0.2.1-alpha.1",
99
- "@deepseek-ai/dsh-llm": "0.2.1-alpha.1",
100
- "@deepseek-ai/dsh-settings": "0.2.1-alpha.1",
101
- "@deepseek-ai/dsh-timeout": "0.2.1-alpha.1",
102
- "@deepseek-ai/dsh-typert-protocol": "0.2.1-alpha.1",
103
- "@deepseek-ai/schemastery": "~3.18.5-alpha.1",
89
+ "@deepseek-ai/cordis": "~4.0.4 || ~4.0.5-alpha.1",
90
+ "@deepseek-ai/dsh-api-remotes": "0.2.0-rc.2 || 0.2.1-alpha.1",
91
+ "@deepseek-ai/dsh-attachment": "0.2.0-rc.2 || 0.2.1-alpha.1",
92
+ "@deepseek-ai/dsh-client-locale": "0.2.0-rc.2 || 0.2.1-alpha.1",
93
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2 || 0.2.1-alpha.1",
94
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2 || 0.2.1-alpha.1",
95
+ "@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.2 || 0.2.1-alpha.1",
96
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2 || 0.2.1-alpha.1",
97
+ "@deepseek-ai/dsh-commands": "0.2.0-rc.2 || 0.2.1-alpha.1",
98
+ "@deepseek-ai/dsh-credentials": "0.2.0-rc.2 || 0.2.1-alpha.1",
99
+ "@deepseek-ai/dsh-launch-environment": "0.2.0-rc.2 || 0.2.1-alpha.1",
100
+ "@deepseek-ai/dsh-llm": "0.2.0-rc.2 || 0.2.1-alpha.1",
101
+ "@deepseek-ai/dsh-settings": "0.2.0-rc.2 || 0.2.1-alpha.1",
102
+ "@deepseek-ai/dsh-timeout": "0.2.0-rc.2 || 0.2.1-alpha.1",
103
+ "@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.2 || 0.2.1-alpha.1",
104
+ "@deepseek-ai/schemastery": "~3.18.4 || ~3.18.5-alpha.1",
104
105
  "react": "^18.2.0",
105
- "@deepseek-ai/dsh-web": "0.2.1-alpha.1"
106
+ "@deepseek-ai/dsh-web": "0.2.0-rc.2 || 0.2.1-alpha.1"
106
107
  },
107
108
  "peerDependenciesMeta": {
108
109
  "@deepseek-ai/dsh-client-ui-primitives": {
@@ -116,27 +117,27 @@
116
117
  }
117
118
  },
118
119
  "devDependencies": {
119
- "@deepseek-ai/cordis": "~4.0.5-alpha.1",
120
- "@deepseek-ai/dsh-agent": "0.2.1-alpha.1",
121
- "@deepseek-ai/dsh-api-remotes": "0.2.1-alpha.1",
122
- "@deepseek-ai/dsh-attachment": "0.2.1-alpha.1",
123
- "@deepseek-ai/dsh-client-locale": "0.2.1-alpha.1",
124
- "@deepseek-ai/dsh-client-ui-primitives": "0.2.1-alpha.1",
125
- "@deepseek-ai/dsh-client-ui-renderer": "0.2.1-alpha.1",
126
- "@deepseek-ai/dsh-client-ui-settings": "0.2.1-alpha.1",
127
- "@deepseek-ai/dsh-client-ui-slots": "0.2.1-alpha.1",
128
- "@deepseek-ai/dsh-commands": "0.2.1-alpha.1",
129
- "@deepseek-ai/dsh-credentials": "0.2.1-alpha.1",
130
- "@deepseek-ai/dsh-launch-environment": "0.2.1-alpha.1",
131
- "@deepseek-ai/dsh-llm": "0.2.1-alpha.1",
132
- "@deepseek-ai/dsh-settings": "0.2.1-alpha.1",
133
- "@deepseek-ai/dsh-session": "0.2.1-alpha.1",
134
- "@deepseek-ai/dsh-scope": "0.2.1-alpha.1",
135
- "@deepseek-ai/dsh-session-projection": "0.2.1-alpha.1",
136
- "@deepseek-ai/dsh-timeout": "0.2.1-alpha.1",
137
- "@deepseek-ai/dsh-typert-protocol": "0.2.1-alpha.1",
138
- "@deepseek-ai/dsh-web": "0.2.1-alpha.1",
139
- "@deepseek-ai/schemastery": "~3.18.5-alpha.1",
120
+ "@deepseek-ai/cordis": "~4.0.4 || ~4.0.5-alpha.1",
121
+ "@deepseek-ai/dsh-agent": "0.2.0-rc.2 || 0.2.1-alpha.1",
122
+ "@deepseek-ai/dsh-api-remotes": "0.2.0-rc.2 || 0.2.1-alpha.1",
123
+ "@deepseek-ai/dsh-attachment": "0.2.0-rc.2 || 0.2.1-alpha.1",
124
+ "@deepseek-ai/dsh-client-locale": "0.2.0-rc.2 || 0.2.1-alpha.1",
125
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2 || 0.2.1-alpha.1",
126
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2 || 0.2.1-alpha.1",
127
+ "@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.2 || 0.2.1-alpha.1",
128
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2 || 0.2.1-alpha.1",
129
+ "@deepseek-ai/dsh-commands": "0.2.0-rc.2 || 0.2.1-alpha.1",
130
+ "@deepseek-ai/dsh-credentials": "0.2.0-rc.2 || 0.2.1-alpha.1",
131
+ "@deepseek-ai/dsh-launch-environment": "0.2.0-rc.2 || 0.2.1-alpha.1",
132
+ "@deepseek-ai/dsh-llm": "0.2.0-rc.2 || 0.2.1-alpha.1",
133
+ "@deepseek-ai/dsh-settings": "0.2.0-rc.2 || 0.2.1-alpha.1",
134
+ "@deepseek-ai/dsh-session": "0.2.0-rc.2 || 0.2.1-alpha.1",
135
+ "@deepseek-ai/dsh-scope": "0.2.0-rc.2 || 0.2.1-alpha.1",
136
+ "@deepseek-ai/dsh-session-projection": "0.2.0-rc.2 || 0.2.1-alpha.1",
137
+ "@deepseek-ai/dsh-timeout": "0.2.0-rc.2 || 0.2.1-alpha.1",
138
+ "@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.2 || 0.2.1-alpha.1",
139
+ "@deepseek-ai/dsh-web": "0.2.0-rc.2 || 0.2.1-alpha.1",
140
+ "@deepseek-ai/schemastery": "~3.18.4 || ~3.18.5-alpha.1",
140
141
  "@types/node": "^22.0.0",
141
142
  "@types/react": "^18.3.1",
142
143
  "react": "^18.2.0",