@kangyishuai/dsh-session-rewind 0.6.1 → 0.6.2
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 +5 -5
- package/README.zh-CN.md +5 -5
- package/lib/client.js +16 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -121,10 +121,10 @@ On startup the plugin also removes data for sessions that no longer exist (they
|
|
|
121
121
|
|
|
122
122
|
## Compatibility
|
|
123
123
|
|
|
124
|
-
| DSH version | Status
|
|
125
|
-
| ----------- |
|
|
126
|
-
| 0.2.2-rc.2 | Verified 2026-11-12:
|
|
127
|
-
| 0.2.2-rc.1 | Verified 2026-11-09: 205 unit tests + web `smoke:session-rewind` 49/49 (temp DSH home) + desktop `smoke:session-rewind-desktop` 23/23 read-only, 30/30 with `--recall`, and 39/39 with `--deep` (file mode end to end, real Electron renderer over CDP); the full `--recall --deep` combination is 46/46.
|
|
124
|
+
| DSH version | Status |
|
|
125
|
+
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
126
|
+
| 0.2.2-rc.2 | Verified 2026-11-12: 208 unit tests + `pnpm probe:runtime` 67/67 + web `smoke:session-rewind` 49/49 (throwaway DSH home, real host). Desktop on the live app over CDP: 24/24 read-only + `--recall` 31/31 against the 0.6.2 build (`--deep --workspace` was last measured on 0.6.1 at 39/39; this release only touches the stylesheet, not the file-mode path). 0.6.1 added the macOS window-drag exclusion; 0.6.2 fixes the dark-theme confirm button (it rendered white-on-white) and stops pairing inverted theme fills with a hardcoded white foreground. |
|
|
127
|
+
| 0.2.2-rc.1 | Verified 2026-11-09: 205 unit tests + web `smoke:session-rewind` 49/49 (temp DSH home) + desktop `smoke:session-rewind-desktop` 23/23 read-only, 30/30 with `--recall`, and 39/39 with `--deep` (file mode end to end, real Electron renderer over CDP); the full `--recall --deep` combination is 46/46. |
|
|
128
128
|
|
|
129
129
|
The plugin declares no `engines.dsh` and no `@deepseek-ai/*` peer range: DSH is pre-release and semver ranges over prereleases are unreliable (see [ADR 0005](../../docs/adr/0005-dsh-version-compatibility.md)). Treat the table as the compatibility statement. After a DSH upgrade run `pnpm probe:runtime`, `pnpm smoke:session-rewind`, and check the plugin's diagnostics tab; if a private seam changed, the plugin degrades instead of breaking the session.
|
|
130
130
|
|
|
@@ -134,7 +134,7 @@ The plugin declares no `engines.dsh` and no `@deepseek-ai/*` peer range: DSH is
|
|
|
134
134
|
pnpm test # unit tests (host engine, host RPC, client helpers)
|
|
135
135
|
pnpm verify # repo-wide gates
|
|
136
136
|
pnpm smoke:session-rewind # temp DSH home + real GUI end-to-end (needs dsh & ego-browser)
|
|
137
|
-
pnpm smoke:session-rewind-desktop # desktop (Electron) read-only check (
|
|
137
|
+
pnpm smoke:session-rewind-desktop # desktop (Electron) read-only check (24); --recall adds 7 composer-recall checks; --deep --workspace <dir> adds the file-mode run (40 total)
|
|
138
138
|
```
|
|
139
139
|
|
|
140
140
|
Design notes: [ADR 0006](../../docs/adr/0006-session-rewind-architecture.md) and [ADR 0007](../../docs/adr/0007-session-rewind-file-restore.md) (Chinese; the repository docs are written in Chinese).
|
package/README.zh-CN.md
CHANGED
|
@@ -121,10 +121,10 @@ dsh plugin --profile desktop add /tmp/kangyishuai-dsh-session-rewind-*.tgz
|
|
|
121
121
|
|
|
122
122
|
## 兼容性
|
|
123
123
|
|
|
124
|
-
| DSH 版本 | 状态
|
|
125
|
-
| ---------- |
|
|
126
|
-
| 0.2.2-rc.2 | 2026-11-12 已验证:
|
|
127
|
-
| 0.2.2-rc.1 | 2026-11-09 已验证:205 个单测 + Web `smoke:session-rewind` 49/49(临时 DSH home)+ 桌面 `smoke:session-rewind-desktop` 只读 23/23、加 `--recall` 30/30、加 `--deep` 39/39(文件模式端到端,真实 Electron 渲染进程走 CDP);全量组合 `--recall --deep` 46/46。
|
|
124
|
+
| DSH 版本 | 状态 |
|
|
125
|
+
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
126
|
+
| 0.2.2-rc.2 | 2026-11-12 已验证:208 个单测 + `pnpm probe:runtime` 67/67 + Web `smoke:session-rewind` 49/49(临时 DSH home,真实宿主)。桌面(live 桌面版,CDP):只读 24/24 + `--recall` 31/31(均为 0.6.2 构建实测;`--deep --workspace` 上次在 0.6.1 上测得 39/39,本次只改样式表、不涉及文件模式)。0.6.1 加了 macOS 窗口拖动排除;0.6.2 修掉深色主题下确认按钮「白底白字」,并禁止「反色填充 + 死白前景」这种配法。 |
|
|
127
|
+
| 0.2.2-rc.1 | 2026-11-09 已验证:205 个单测 + Web `smoke:session-rewind` 49/49(临时 DSH home)+ 桌面 `smoke:session-rewind-desktop` 只读 23/23、加 `--recall` 30/30、加 `--deep` 39/39(文件模式端到端,真实 Electron 渲染进程走 CDP);全量组合 `--recall --deep` 46/46。 |
|
|
128
128
|
|
|
129
129
|
插件不声明 `engines.dsh`,也不声明 `@deepseek-ai/*` 的 peer 范围:DSH 还在预发布阶段,预发布版本的 semver 范围不可靠(见 [ADR 0005](../../docs/adr/0005-dsh-version-compatibility.md))。以这张表为准。DSH 升级后跑 `pnpm probe:runtime`、`pnpm smoke:session-rewind`,并看插件诊断页签;私有 seam 变了会降级而不是让会话出错。
|
|
130
130
|
|
|
@@ -134,7 +134,7 @@ dsh plugin --profile desktop add /tmp/kangyishuai-dsh-session-rewind-*.tgz
|
|
|
134
134
|
pnpm test # 单测(宿主文件引擎、宿主 RPC、客户端 helper)
|
|
135
135
|
pnpm verify # 仓库统一门禁
|
|
136
136
|
pnpm smoke:session-rewind # 临时 DSH 目录 + 真实 GUI 端到端(需要 dsh 与 ego-browser)
|
|
137
|
-
pnpm smoke:session-rewind-desktop # 桌面(Electron)只读回归(
|
|
137
|
+
pnpm smoke:session-rewind-desktop # 桌面(Electron)只读回归(24 项);--recall 再加 7 条召回断言;--deep --workspace <dir> 再跑文件模式(合计 40 项)
|
|
138
138
|
```
|
|
139
139
|
|
|
140
140
|
设计记录:[ADR 0006](../../docs/adr/0006-session-rewind-architecture.md)、[ADR 0007](../../docs/adr/0007-session-rewind-file-restore.md)。
|
package/lib/client.js
CHANGED
|
@@ -3260,11 +3260,16 @@ window.__ModuleLoader__.load({
|
|
|
3260
3260
|
".dsh-srw-btn{padding:6px 14px;border-radius:8px;font-size:13px;cursor:pointer;background:transparent;color:var(--dsw-alias-label-primary,inherit);border:1px solid var(--dsw-alias-border-l2,rgba(128,128,128,.35));}",
|
|
3261
3261
|
".dsh-srw-btn:hover{background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.16));}",
|
|
3262
3262
|
".dsh-srw-btn:disabled{opacity:.45;cursor:not-allowed;}",
|
|
3263
|
-
|
|
3264
|
-
|
|
3263
|
+
// 主按钮:底与字必须成对取自宿主语义 token。--dsw-alias-brand-primary 是「反色表面色」
|
|
3264
|
+
// (浅色近黑 #0f1115、深色近白 #f9fafb),配死白 #fff 会在深色主题下变成白底白字(1.05:1)。
|
|
3265
|
+
".dsh-srw-btn-primary{background:var(--dsw-alias-button-primary-fill,var(--dsw-alias-brand-primary,#4f7cff));color:var(--dsw-alias-label-primary-foreground,#fff);border-color:transparent;font-weight:500;}",
|
|
3266
|
+
".dsh-srw-btn-primary:hover{background:var(--dsw-alias-button-primary-hover,var(--dsw-alias-button-primary-fill));}",
|
|
3265
3267
|
".dsh-srw-toast{position:fixed;bottom:24px;right:24px;z-index:2147000000;background:var(--dsw-alias-toast-bg,Canvas);color:var(--dsw-alias-toast-label,CanvasText);border:1px solid var(--dsw-alias-border-l2,rgba(128,128,128,.35));border-radius:10px;padding:10px 14px;font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.35);display:flex;gap:12px;align-items:center;max-width:min(520px,90vw);}",
|
|
3266
3268
|
".dsh-srw-toast-text{flex:1;min-width:0;}",
|
|
3267
3269
|
".dsh-srw-toast-action{white-space:nowrap;}",
|
|
3270
|
+
// toast 底色两个主题都是深色,链接色必须用该表面自己的文字 token + 下划线做可点线索;
|
|
3271
|
+
// 用 --dsw-alias-link 在浅色主题会变成 #4176e6 压深底(2.86:1)。
|
|
3272
|
+
".dsh-srw-toast .dsh-srw-toast-action{color:var(--dsw-alias-toast-label,#fff);text-decoration:underline;text-underline-offset:2px;}",
|
|
3268
3273
|
".dsh-srw-body{display:flex;flex-direction:column;gap:10px;}",
|
|
3269
3274
|
".dsh-srw-search{width:100%;box-sizing:border-box;padding:7px 10px;border-radius:8px;border:1px solid var(--dsw-alias-border-l2,rgba(128,128,128,.35));background:var(--dsw-alias-bg-layer-1,transparent);color:inherit;font-size:13px;margin-bottom:6px;}",
|
|
3270
3275
|
".dsh-srw-search:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,#4f7cff);outline-offset:1px;}",
|
|
@@ -3283,19 +3288,20 @@ window.__ModuleLoader__.load({
|
|
|
3283
3288
|
".dsh-srw-files-title{font-weight:500;}",
|
|
3284
3289
|
".dsh-srw-paths{display:flex;flex-direction:column;gap:2px;font-size:12px;}",
|
|
3285
3290
|
".dsh-srw-path{display:flex;gap:8px;align-items:baseline;padding:2px 0;min-width:0;}",
|
|
3286
|
-
".dsh-srw-path-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--
|
|
3291
|
+
".dsh-srw-path-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--ds-font-family-code,ui-monospace,monospace);}",
|
|
3287
3292
|
".dsh-srw-path[data-kind=restore] .dsh-srw-path-name{color:var(--dsw-alias-state-success-primary,#3c9a5f);}",
|
|
3288
|
-
|
|
3293
|
+
// 警告色:宿主 token 是 state-warn-*(没有 state-warning-*)。文字用 warn-label,描边才用 warn-primary。
|
|
3294
|
+
".dsh-srw-path[data-kind=trash] .dsh-srw-path-name{color:var(--dsw-alias-state-warn-label,var(--dsw-alias-state-warn-primary));}",
|
|
3289
3295
|
".dsh-srw-path[data-kind=conflict] .dsh-srw-path-name,.dsh-srw-path[data-kind=skipped] .dsh-srw-path-name{color:var(--dsw-alias-state-error-primary,#d9534f);}",
|
|
3290
3296
|
".dsh-srw-path-bytes,.dsh-srw-path-reason{color:var(--dsw-alias-label-tertiary,GrayText);white-space:nowrap;}",
|
|
3291
|
-
".dsh-srw-warn{color:var(--dsw-alias-state-
|
|
3297
|
+
".dsh-srw-warn{color:var(--dsw-alias-state-warn-label,var(--dsw-alias-state-warn-primary));}",
|
|
3292
3298
|
".dsh-srw-warn-list{display:flex;flex-direction:column;gap:3px;}",
|
|
3293
3299
|
".dsh-srw-warn-title{font-weight:600;color:var(--dsw-alias-state-error-primary,#d9534f);}",
|
|
3294
3300
|
".dsh-srw-badge{font-size:11px;color:var(--dsw-alias-label-tertiary,GrayText);border:1px solid var(--dsw-alias-border-l2,rgba(128,128,128,.3));border-radius:999px;padding:0 7px;white-space:nowrap;}",
|
|
3295
3301
|
".dsh-srw-badge[data-ok=true]{color:var(--dsw-alias-state-success-primary,#3c9a5f);}",
|
|
3296
3302
|
".dsh-srw-badge[data-ok=false]{color:var(--dsw-alias-state-error-primary,#d9534f);}",
|
|
3297
3303
|
".dsh-srw-load-older{display:flex;justify-content:center;padding-top:8px;}",
|
|
3298
|
-
".dsh-srw-link{background:none;border:none;padding:0 2px;color:var(--dsw-alias-brand-primary,#4f7cff);cursor:pointer;font-size:12px;}",
|
|
3304
|
+
".dsh-srw-link{background:none;border:none;padding:0 2px;color:var(--dsw-alias-link,var(--dsw-alias-brand-primary,#4f7cff));cursor:pointer;font-size:12px;}",
|
|
3299
3305
|
".dsh-srw-link:hover{text-decoration:underline;}",
|
|
3300
3306
|
".dsh-srw-link:disabled{opacity:.5;cursor:not-allowed;text-decoration:none;}",
|
|
3301
3307
|
".dsh-srw-btn-sm{padding:3px 10px;font-size:12px;}",
|
|
@@ -3312,10 +3318,11 @@ window.__ModuleLoader__.load({
|
|
|
3312
3318
|
// 时间线:竖线 + 圆点 + 卡片
|
|
3313
3319
|
".dsh-srw-timeline{display:flex;flex-direction:column;gap:0;position:relative;}",
|
|
3314
3320
|
".dsh-srw-tl-node{position:relative;display:flex;gap:12px;padding:0 0 14px 0;}",
|
|
3315
|
-
".dsh-srw-tl-node::before{content:'';position:absolute;left:5px;top:14px;bottom:0;width:1px;background:var(--dsw-alias-border-
|
|
3321
|
+
".dsh-srw-tl-node::before{content:'';position:absolute;left:5px;top:14px;bottom:0;width:1px;background:var(--dsw-alias-border-l3,rgba(128,128,128,.35));}",
|
|
3316
3322
|
".dsh-srw-tl-node:last-child{padding-bottom:0;}",
|
|
3317
3323
|
".dsh-srw-tl-node:last-child::before{display:none;}",
|
|
3318
|
-
|
|
3324
|
+
// 圆点描边环必须用圆点所在表面的底色(对话框/抽屉都是 bg-layer-2),否则深色下会露出黑边。
|
|
3325
|
+
".dsh-srw-tl-dot{flex:none;width:11px;height:11px;margin-top:4px;border-radius:50%;background:var(--dsw-alias-brand-primary,#4f7cff);box-shadow:0 0 0 2px var(--dsw-alias-bg-layer-2,transparent);}",
|
|
3319
3326
|
".dsh-srw-tl-node[data-kind='rescue-restore'] .dsh-srw-tl-dot{background:var(--dsw-alias-label-secondary,GrayText);}",
|
|
3320
3327
|
".dsh-srw-tl-card{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;}",
|
|
3321
3328
|
".dsh-srw-tl-head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;}",
|
|
@@ -3329,7 +3336,7 @@ window.__ModuleLoader__.load({
|
|
|
3329
3336
|
".dsh-srw-item-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}",
|
|
3330
3337
|
".dsh-srw-audit-actions{padding:2px 0;}",
|
|
3331
3338
|
".dsh-srw-audit-files{font-size:12px;color:var(--dsw-alias-label-secondary,GrayText);}",
|
|
3332
|
-
".dsh-srw-confirm-row{display:flex;flex-direction:column;gap:6px;border:1px solid var(--dsw-alias-state-
|
|
3339
|
+
".dsh-srw-confirm-row{display:flex;flex-direction:column;gap:6px;border:1px solid var(--dsw-alias-state-warn-primary,#c08a2e);border-radius:8px;padding:8px 10px;}",
|
|
3333
3340
|
".dsh-srw-setting{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}",
|
|
3334
3341
|
".dsh-srw-setting-label{min-width:150px;color:var(--dsw-alias-label-secondary,GrayText);}",
|
|
3335
3342
|
".dsh-srw-check{display:flex;gap:8px;align-items:center;cursor:pointer;}",
|
package/package.json
CHANGED