dsh-composer-ux 0.26.0 → 0.26.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/CHANGELOG.md +43 -0
- package/README.md +2 -2
- package/dsh-plugin.json +1 -1
- package/lib/client.js +1 -0
- package/lib/client.js.map +2 -2
- package/lib/index.js +99 -7
- package/lib/index.js.map +4 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,49 @@
|
|
|
2
2
|
|
|
3
3
|
本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
4
4
|
|
|
5
|
+
## [0.26.1] — 2026-10-28(升到 DSH 0.2.2-alpha.2 实测:三处真机 bug)
|
|
6
|
+
|
|
7
|
+
用户 2026-10-28:「更新网页端到最新版,并在上面测试插件稳定性修bug」。按他选的 **B**
|
|
8
|
+
(`dsh-v0.2.2-alpha.2`)把源码 checkout 升上去、起在备用端口 3977(不动桌面端 6913),
|
|
9
|
+
在**隔离 profile**(`ux-alpha`,只装本插件)上把功能过了一遍。
|
|
10
|
+
|
|
11
|
+
**三处真机 bug(都不是"看起来坏了",而是"看起来正常、数字是错的")**
|
|
12
|
+
|
|
13
|
+
1. **会话 id 形状变了 ⇒ 所有会话都显示 ¥0**(最严重)。
|
|
14
|
+
0.2.2-alpha.2 起 `sessionQuery.readSession()` 只认 `session-<uuid>` 全写;客户端半传下来的是
|
|
15
|
+
裸 uuid(0.2.1 及以前两种写法都不认错)。实测同一个会话:裸 uuid ⇒
|
|
16
|
+
`session "…" not found`、`session-…` ⇒ **4036 条事件 / 4 条 route / 2 个子代理**。
|
|
17
|
+
修法:宿主半两种写法都试,并把成功的那种**记住**(下次不再多问一次)。
|
|
18
|
+
2. **读日志失败被静默吞掉**。这条路由过去 `catch { return undefined }`,于是失败 ⇒ 全 0 的账 ⇒
|
|
19
|
+
屏幕上是一个「¥0」,看起来像"这个会话没花钱"。现在宿主半回 `readError`,浮层写明
|
|
20
|
+
「读不到会话日志:…(金额按 0 计)」。
|
|
21
|
+
3. **自检卡永远写「DSH (拿不到)」**。不是拿不到,是那一行**从来没去读**(写死空串)。
|
|
22
|
+
新增 `src/runtime-version.ts`:按官方 `app-boot` 的判据读它自己的 `package.json`
|
|
23
|
+
(入口解析 → profiles 扫描 → 都没有就空串,绝不猜版本号),实测读到 `0.2.2-alpha.2`。
|
|
24
|
+
|
|
25
|
+
**另外两件与新版宿主有关的事(不是代码 bug,但会让人以为插件坏了)**
|
|
26
|
+
|
|
27
|
+
- **持久终端工具在 alpha 上被宿主禁用**:`@deepseek-ai/dsh-tool-terminal` 的版本要求是
|
|
28
|
+
**精确**的(`0.2.1-rc.4` 只认 rc.4 运行时),而 npm 的 semver 规则让我们的依赖区间
|
|
29
|
+
(`>=0.2.1-alpha.1 <0.3.0`)解析不到 `0.2.2-alpha.2`。修法是**在 profile 里装匹配版本**:
|
|
30
|
+
`dsh plugin --profile <名字> add @deepseek-ai/dsh-tool-terminal@0.2.2-alpha.2`(装完自检卡那一行变
|
|
31
|
+
`ok`,模型拿回那 6 个 `terminal_*` 工具)。这轮已在 `ux-alpha` 上验证。
|
|
32
|
+
- **dsh-purge 会改源码仓**(用户问「装在客户端为什么影响网页端」):它的补丁按**文件**解析,
|
|
33
|
+
`web-app` 这类键在找不到已装包时会回退到 `<repo>/packages/bundle/...`,所以客户端点「应用」
|
|
34
|
+
会把共享 checkout 里 web 的那份也改掉。升级前已按用户意见**丢弃**这 10 个补丁
|
|
35
|
+
(桌面运行时那份独立存在,不受影响)。
|
|
36
|
+
|
|
37
|
+
**验证(都在 0.2.2-alpha.2 真机上跑过)**
|
|
38
|
+
|
|
39
|
+
- 市场/宿主:插件加载、46 个设置字段全在 schema、12 张卡渲染、`?` 说明、开关写入(`sections: 快捷指令、键位`);
|
|
40
|
+
- 金额:胶囊 `$1.67 订阅内`、浮层两套口径并列(额度 $1.67 / 折算 ¥11.52 / 占月额度 2.09%)、
|
|
41
|
+
额度窗口 5h 1% · 本周 5% · 本月 55%(官方接口实时);
|
|
42
|
+
- 额度路由:`GET /composer-ux/quota` 首帧 `pending`、后台刷新后拿到真实窗口;
|
|
43
|
+
- 控制台:0 error / 0 warning。
|
|
44
|
+
|
|
45
|
+
**测试**:34 套件 **2858 条** 0 失败(新增 §6 会话 id 形状 4 条 + 运行时版本探测 4 条);
|
|
46
|
+
变异 **229 条全部咬住**(新增 `SP`/`SQ`/`SR`)。
|
|
47
|
+
|
|
5
48
|
## [0.26.0] — 2026-10-27(订阅通道的**额度**口径 + 设置页整体换肤)
|
|
6
49
|
|
|
7
50
|
用户 2026-10-27:「**我总感觉子代理计费还是不准**,你参考一下这个是用什么方式计费的
|
package/README.md
CHANGED
|
@@ -735,9 +735,9 @@ node build.mjs # 产出 lib/index.js + lib/client.js
|
|
|
735
735
|
# ⚠️ 宿主半会**内联** schemastery / cosmokit:
|
|
736
736
|
# 优先用 DSH 检出里的 vendor 副本,检出不在时退到 node_modules
|
|
737
737
|
# 里同版本的 npm 包(两者逐字节相同)——CI 上走的就是退路
|
|
738
|
-
npm test # 34 个套件;当前
|
|
738
|
+
npm test # 34 个套件;当前 2858 passed, 0 failed(2026-10-28 实测;CI 三平台同样全绿)
|
|
739
739
|
# 走 scripts/run-tests.mjs:顺带把"多少套件/多少条"记进 test/.last-run.json
|
|
740
|
-
npm run test:mutations # 手动跑:变异测试,证明那套护栏真的在咬人(
|
|
740
|
+
npm run test:mutations # 手动跑:变异测试,证明那套护栏真的在咬人(229 条,须单独跑)
|
|
741
741
|
# 同样记录结果,供下面的文档门禁核对
|
|
742
742
|
npm run gates # 发版门禁三条一起跑:tag 指向 / 包内容 / 文档数字
|
|
743
743
|
npm run check:tag # ① tag 名里的版本 == 该 tag 所指提交里的 package.json 版本
|
package/dsh-plugin.json
CHANGED
package/lib/client.js
CHANGED
|
@@ -7989,6 +7989,7 @@ function CostChipEntry({ useLive, sessionId, useProjection }) {
|
|
|
7989
7989
|
] }),
|
|
7990
7990
|
hasQuota ? note(`\u8BA2\u9605\u5185 \xB7 \u6309\u520A\u4F8B\u4EF7\u6298\u7B97 ${formatMoney(view.total)}\uFF08\u4E24\u5957\u53E3\u5F84\u5E76\u5B58\uFF1A\u4E0A\u9762\u662F\u5B9E\u9645\u88AB\u6263\u7684\u5957\u9910\u989D\u5EA6\uFF0C\u8FD9\u91CC\u662F\u8FD9\u4E9B token \u6309\u5B98\u65B9\u4EF7\u6298\u7B97\u503C\u591A\u5C11\u94B1\uFF09`, "__quota_head__") : null,
|
|
7991
7991
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { style: { marginBottom: 10, borderTop: "0.5px solid var(--dsw-alias-border-l2)" } }),
|
|
7992
|
+
data?.ok === true && typeof data.readError === "string" && data.readError !== "" ? note(`\u8BFB\u4E0D\u5230\u4F1A\u8BDD\u65E5\u5FD7\uFF1A${data.readError}\uFF08\u91D1\u989D\u6309 0 \u8BA1\uFF09`, "__read_error__") : null,
|
|
7992
7993
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: {
|
|
7993
7994
|
display: "grid",
|
|
7994
7995
|
gridTemplateColumns: "minmax(76px, auto) minmax(0, 1fr)",
|