dsh-rewind-plugin 0.14.0-alpha.1 → 0.14.0-beta.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/README.en.md +18 -12
- package/README.md +15 -11
- package/assets/icon.svg +5 -2
- package/assets/screenshots/cleanup-setting.png +0 -0
- package/docs/architecture.md +5 -5
- package/docs/compat/audit.md +2 -1
- package/docs/harness-reference.md +1 -1
- package/docs/release/release.md +5 -0
- package/docs/release/release.zh.md +4 -0
- package/docs/snapshot-auto-cleanup.md +1 -1
- package/docs/snapshot-auto-cleanup.zh.md +2 -2
- package/lib/client.js +1 -1
- package/locale/en.json +1 -1
- package/locale/zh.json +1 -1
- package/package.json +52 -52
package/README.en.md
CHANGED
|
@@ -10,10 +10,9 @@ Conversation rewind for DeepSeek Harness: **rewind the conversation to any earli
|
|
|
10
10
|
|
|
11
11
|
A deliberately focused plugin with one job: **rewind to any user message, no matter how far back, in place** — and conveniently **restore the files it changed** along the way.
|
|
12
12
|
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
15
|
-
- **
|
|
16
|
-
- **A complete test system** — unit, probe, and end-to-end host verification, covering compatibility probing, log replay, resume, cross-restart and other scenarios; maintained continuously as the harness evolves to ensure feature stability.
|
|
13
|
+
- **In-place rewind, no new session** — the target message and everything after it (replies, tool calls) are withdrawn from the model context *and* the rendered transcript, and the target's text is filled back into the composer for editing and re-sending. It all happens inside the original session: no new branch, no leftover copy.
|
|
14
|
+
- **Conversation and code rewind together** — Claude Code-aligned behavior: files edited by the write tools are tracked and restored by the same rewind, and external changes to already-tracked files are restorable too. **Partial tracking, before-write backup, store only on change**, with no git dependency.
|
|
15
|
+
- **Safety guarantees** — the session log only ever appends rewind markers and is never deleted or rewritten; file backup and restore are hardened; tests are comprehensive, and maintenance continues across DSH upgrades. Security model: [SECURITY.md](SECURITY.md).
|
|
17
16
|
|
|
18
17
|
## Preview
|
|
19
18
|
|
|
@@ -30,17 +29,25 @@ Every user message carries a **↶ rewind** button in its action row. Clicking i
|
|
|
30
29
|
</tr>
|
|
31
30
|
</table>
|
|
32
31
|
|
|
33
|
-
## Install
|
|
32
|
+
## Install and update
|
|
34
33
|
|
|
35
34
|
Check your local DSH version, then find the matching plugin version in
|
|
36
35
|
[Releases](https://github.com/SiriLee/dsh-rewind/releases).
|
|
37
36
|
|
|
37
|
+
**Command line**:
|
|
38
|
+
|
|
38
39
|
```sh
|
|
39
40
|
dsh plugin --profile web add dsh-rewind-plugin@<version>
|
|
40
41
|
```
|
|
41
42
|
|
|
43
|
+
**Graphical interface**: the **Plugins** page in the sidebar → **Add plugin** → enter `dsh-rewind-plugin@<version>` → install → restart DSH and refresh the browser.
|
|
44
|
+
|
|
42
45
|
> ⚠️ The npm name `dsh-rewind` belongs to another author's package — install with `dsh-rewind-plugin`.
|
|
43
46
|
|
|
47
|
+
**Updating**: the command line overwrites the installed version directly; the
|
|
48
|
+
graphical interface rejects a re-install, so uninstall the old version first,
|
|
49
|
+
then install the new one.
|
|
50
|
+
|
|
44
51
|
## Usage
|
|
45
52
|
|
|
46
53
|
1. Find the user message you want to rewind to in the conversation, or type `/rewind` (or its alias `/undo`) to open the candidate picker.
|
|
@@ -69,12 +76,12 @@ unaffected) and the plugin rebuilds them automatically.
|
|
|
69
76
|
|
|
70
77
|
A **global auto-cleanup** (off by default) removes the snapshot directories of
|
|
71
78
|
long-inactive sessions, leaving the active session and chat log untouched. Configure
|
|
72
|
-
and review it
|
|
73
|
-
|
|
79
|
+
and review it on the **Plugins** page, in this plugin's configuration card (the
|
|
80
|
+
auto-cleanup switch and the idle-day cutoff), or use the
|
|
74
81
|
`/snapshot-auto-cleanup` command to **view, configure, and run** it. See:
|
|
75
82
|
[Snapshot cleanup](docs/snapshot-auto-cleanup.md).
|
|
76
83
|
|
|
77
|
-
<img src="assets/screenshots/cleanup-setting.png" alt="
|
|
84
|
+
<img src="assets/screenshots/cleanup-setting.png" alt="Plugin configuration card: auto cleanup and idle time (days)" width="600">
|
|
78
85
|
|
|
79
86
|
## Uninstall
|
|
80
87
|
|
|
@@ -87,8 +94,8 @@ rm -rf <dsh home>/rewind-snapshots
|
|
|
87
94
|
rm <dsh home>/snapshot-cleanup-last-sweep.json
|
|
88
95
|
```
|
|
89
96
|
|
|
90
|
-
The plugin's auto-cleanup settings live in the
|
|
91
|
-
|
|
97
|
+
The plugin's auto-cleanup settings live in the current Profile's plugin
|
|
98
|
+
configuration. To remove them completely, delete this plugin entry's configuration.
|
|
92
99
|
|
|
93
100
|
## Why it stands out
|
|
94
101
|
|
|
@@ -158,8 +165,7 @@ withdrew should consume the stable, locale-independent helpers exported from
|
|
|
158
165
|
1. **Exported logs are complete** — a rewind only removes messages from the model context and the view; the exported session log (`/export`) still contains **withdrawn messages**. This plugin cannot alter exports.
|
|
159
166
|
2. **Lightweight file rewind has a cost** — in specific cases not all changes can be rewound. Consistent with Claude Code. See: [File-rewind tracking boundary](docs/compat/tracking-boundary.md).
|
|
160
167
|
3. **The turn-rail shows rewound turns** — the right-side rail added in DSH `v0.1.2` keeps ticks for withdrawn messages, and hovering shows the withdrawn text. Only a display difference; no functional impact.
|
|
161
|
-
4. **
|
|
162
|
-
5. **Old rewind markers are no longer compatible** — DSH `v0.1.3` rejects the rewind markers from the old plugin (≤ 0.8.0). The new version resolves this and provides an in-session update. See the [update guide](docs/rewind-fix.md).
|
|
168
|
+
4. **Old rewind markers are no longer compatible** — DSH `v0.1.3` rejects the rewind markers from the old plugin (≤ 0.8.0). Later versions resolve this and provide an in-session update. See the [update guide](docs/rewind-fix.md).
|
|
163
169
|
|
|
164
170
|
> [!NOTE]
|
|
165
171
|
> Browser diagnostics are available; see [Browser diagnostics](docs/compat/diagnostics.md).
|
package/README.md
CHANGED
|
@@ -10,14 +10,13 @@ DeepSeek Harness 插件:**一键就地回退对话到任意更早的用户消
|
|
|
10
10
|
|
|
11
11
|
刻意聚焦、保持极简,只做一件事:**就地回退到任意远的用户消息**,还能**顺手还原改过的文件**。
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
- **完备测试系统**——单元、探针、端到端主机验证,覆盖兼容性探测、日志重放、续接、跨重启等场景;随 harness 升级持续维护,确保功能稳定。
|
|
13
|
+
- **就地消息回退**——目标消息及其之后的内容同时从**模型上下文**和**渲染对话**中撤回,目标消息文本自动回填输入框。始终在原会话内完成,不新建分支、不残留副本。
|
|
14
|
+
- **轻量备份还原**——对齐 Claude Code:追踪写类工具编辑过的文件,回退时一并还原,已跟踪文件的外部变更也能还原。**局部追踪、写前备份、不变不存**,不依赖 git。
|
|
15
|
+
- **安全保障**——会话日志仅追加回退标记,从不删改;文件备份与还原经安全加固;**完备测试**,随 DSH 升级长期维护。安全模型:[SECURITY.md](SECURITY.md)。
|
|
17
16
|
|
|
18
17
|
## 效果预览
|
|
19
18
|
|
|
20
|
-
每条用户消息的操作行都有一个 **↶ 回退** 按钮。点击后弹出模式选择浮层——「**仅回退对话**」或「**回退对话和代码**」,后者会先展示文件变更清单再确认。还可以通过 **`/rewind`
|
|
19
|
+
每条用户消息的操作行都有一个 **↶ 回退** 按钮。点击后弹出模式选择浮层——「**仅回退对话**」或「**回退对话和代码**」,后者会先展示文件变更清单再确认。还可以通过 **`/rewind` 命令**和**键盘操作**便捷地选择和回退。
|
|
21
20
|
|
|
22
21
|
<table>
|
|
23
22
|
<tr>
|
|
@@ -30,16 +29,22 @@ DeepSeek Harness 插件:**一键就地回退对话到任意更早的用户消
|
|
|
30
29
|
</tr>
|
|
31
30
|
</table>
|
|
32
31
|
|
|
33
|
-
##
|
|
32
|
+
## 安装与更新
|
|
34
33
|
|
|
35
34
|
确认本机 DSH 版本后,在 [Release](https://github.com/SiriLee/dsh-rewind/releases) 找到适配的插件版本。
|
|
36
35
|
|
|
36
|
+
**命令行**:
|
|
37
|
+
|
|
37
38
|
```sh
|
|
38
39
|
dsh plugin --profile web add dsh-rewind-plugin@<版本>
|
|
39
40
|
```
|
|
40
41
|
|
|
42
|
+
**图形界面**:侧栏「插件」页 →「添加插件」→ 填 `dsh-rewind-plugin@<版本>` → 安装 → 重启 DSH 并刷新浏览器。
|
|
43
|
+
|
|
41
44
|
> ⚠️ npm 上的 `dsh-rewind` 属于其他作者,请用 `dsh-rewind-plugin` 安装。
|
|
42
45
|
|
|
46
|
+
**更新**:命令行可直接覆盖安装;图形界面会拒绝重复安装,需先卸载旧版本,再装新版本。
|
|
47
|
+
|
|
43
48
|
## 使用
|
|
44
49
|
|
|
45
50
|
1. 在对话中找到要回退的那条用户消息,或输入 `/rewind`(或其别名 `/undo`)打开候选列表选择。
|
|
@@ -62,9 +67,9 @@ dsh plugin --profile web add dsh-rewind-plugin@<版本>
|
|
|
62
67
|
|
|
63
68
|
快照(写前备份)存储于 `<dsh home>/rewind-snapshots/`(默认 `~/.dsh/rewind-snapshots/`)。插件对**同一会话**的快照做内容去重并保留最近 100 组锚点;**手动删除该目录**仅清除文件备份(对话回退不受影响),插件会自动重建。
|
|
64
69
|
|
|
65
|
-
|
|
70
|
+
另提供**全局自动清理**(默认关闭):把长期不活跃的会话快照整目录移除,不影响活动会话与对话日志。可在**插件**页本插件的配置卡片查看与配置(自动清理开关、失活天数),也可用 `/snapshot-auto-cleanup` 命令查看、设置和运行。详见:[快照自动清理](docs/snapshot-auto-cleanup.zh.md)。
|
|
66
71
|
|
|
67
|
-
<img src="assets/screenshots/cleanup-setting.png" alt="
|
|
72
|
+
<img src="assets/screenshots/cleanup-setting.png" alt="插件配置卡片:自动清理与不活跃时间(天)" width="600">
|
|
68
73
|
|
|
69
74
|
## 卸载
|
|
70
75
|
|
|
@@ -77,7 +82,7 @@ rm -rf <dsh home>/rewind-snapshots
|
|
|
77
82
|
rm <dsh home>/snapshot-cleanup-last-sweep.json
|
|
78
83
|
```
|
|
79
84
|
|
|
80
|
-
|
|
85
|
+
插件的自动清理设置保存在当前 Profile 的插件配置中。如需彻底清理,可手动删除对应条目。
|
|
81
86
|
|
|
82
87
|
## 本插件的优势
|
|
83
88
|
|
|
@@ -144,8 +149,7 @@ rm <dsh home>/snapshot-cleanup-last-sweep.json
|
|
|
144
149
|
1. **导出的日志是完整内容**——回退只是把消息从模型上下文和视图中移除,`/export` 导出的会话日志包含**已撤回的消息**。本插件无法改动导出。
|
|
145
150
|
2. **轻量文件回退存在代价**——特定情况可能无法回退所有修改。行为与 Claude Code 一致。详见:[文件回退的追踪边界](docs/compat/tracking-boundary.zh.md)。
|
|
146
151
|
3. **导轨显示已回退轮次**——DSH `v0.1.2` 新增右侧导轨,为已撤回消息保留刻度,悬浮显示已撤回正文。仅显示差异,无功能影响。
|
|
147
|
-
4.
|
|
148
|
-
5. **旧回退标记不再兼容**——DSH `v0.1.3` 拒绝旧版插件(≤ 0.8.0)的回退标记。新版本已解决,并提供会话更新功能。详见:[更新指南](docs/rewind-fix.zh.md)。
|
|
152
|
+
4. **旧回退标记不再兼容**——DSH `v0.1.3` 拒绝旧版插件(≤ 0.8.0)的回退标记。后续版本已解决,并提供会话更新功能。详见:[更新指南](docs/rewind-fix.zh.md)。
|
|
149
153
|
|
|
150
154
|
> [!NOTE]
|
|
151
155
|
> 本插件提供浏览器端诊断输出;详见 [浏览器诊断](docs/compat/diagnostics.zh.md)。
|
package/assets/icon.svg
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<svg width="
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
2
|
<!-- Layout follows the terminal card glyph (packages/client/ui-sidebar-terminal):
|
|
3
3
|
a rounded tile inset from the canvas (28/36 here, 22/28 there) with a
|
|
4
4
|
white round-capped prompt. The fill follows the Subagent plugin artwork
|
|
@@ -9,7 +9,10 @@
|
|
|
9
9
|
grid) scaled 1.4x. Its ink box including the 0.75 stroke reaches
|
|
10
10
|
(1.75,1.75)-(14.25,12.75) on that grid, so the translate lands its centre
|
|
11
11
|
on the tile centre (18,18), and the ink spans 62.5% of the tile width —
|
|
12
|
-
the terminal glyph's own ratio.
|
|
12
|
+
the terminal glyph's own ratio.
|
|
13
|
+
The drawing is 36 viewBox units but renders at 32 px, i.e. a uniform
|
|
14
|
+
shrink inside the card's and row's fixed frames; no inner coordinate
|
|
15
|
+
changes, so the mark cannot shift. -->
|
|
13
16
|
<rect x="4" y="4" width="28" height="28" rx="8" fill="url(#rewind_blue)" />
|
|
14
17
|
<g transform="translate(6.8 7.85) scale(1.4)" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
|
|
15
18
|
<path d="M6.5 2.5 2.5 6.5l4 4" />
|
|
Binary file
|
package/docs/architecture.md
CHANGED
|
@@ -134,11 +134,11 @@ pruneStale cross-session auto-cleanup (default off): whole
|
|
|
134
134
|
|
|
135
135
|
## Compatibility strategy
|
|
136
136
|
|
|
137
|
-
- **Peer ranges as one tuple per DSH line
|
|
138
|
-
|
|
139
|
-
tuple
|
|
140
|
-
`scripts/check-dsh-version.mjs`
|
|
141
|
-
`docs/release/release.md`.
|
|
137
|
+
- **Peer ranges as one tuple per DSH line**: npm's prerelease rules require the
|
|
138
|
+
peer range to share the host's `[major, minor, patch]` tuple, so a new DSH
|
|
139
|
+
tuple replaces the peer tuple (the single-line model) and `package.json` is
|
|
140
|
+
the only place the current tuple is written down; `scripts/check-dsh-version.mjs`
|
|
141
|
+
flags when a new tuple arrives. See `docs/release/release.md`.
|
|
142
142
|
- **Test-driven investigation**: `tests/compat-invariants.test.ts` /
|
|
143
143
|
`compat-interop.test.ts` / `compat-gaps.test.ts` probe harness behavior and pin findings in
|
|
144
144
|
`docs/compat/audit.md`; `scripts/verify-host.mjs` runs a real end-to-end
|
package/docs/compat/audit.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
> compatibility invariants. A probe failure is a finding; it enters the
|
|
8
8
|
> fix/pin/record loop.
|
|
9
9
|
>
|
|
10
|
-
> Targeted version: npm `@deepseek-ai/*@0.1.7-
|
|
10
|
+
> Targeted version: npm `@deepseek-ai/*@0.1.7-rc.1`, declared by the peers as `^0.1.7-rc.1`.
|
|
11
11
|
> Source reference: the upstream [github.com/deepseek-ai/deepseek-harness](https://github.com/deepseek-ai/deepseek-harness).
|
|
12
12
|
>
|
|
13
13
|
> Version alignment: `peerDependencies` use one tuple per DSH line
|
|
@@ -75,6 +75,7 @@ legacy branch).
|
|
|
75
75
|
- **marker vs `/compact`**: the checkpoint shape is unchanged on this line — a `user/message` replace (`surfaceOp {replace, startSeq, endSeq}` + `sourceEventSeqs`); `assistant/message` still cannot carry `sourceEventSeqs`.
|
|
76
76
|
- **`image/offload` projection**: the alpha line's first `SessionMessageProjection` changes derived content without touching surface node membership; candidate listing and target resolution tolerate it. Pin: `tests/image-offload-projection.test.ts`.
|
|
77
77
|
- **session-cwd**: the fs tools no longer canonicalize a parent-traversing cwd, so `src/session-cwd.ts` returns `header.cwd` verbatim. Pin: `tests/session-cwd.test.ts`.
|
|
78
|
+
- **startup admission (`0.1.7-rc.1`)**: the new gate reads the manifest's own `@deepseek-ai/dsh-*` peers and requires each to satisfy the runtime with `includePrerelease`; it runs for a profile bundle and again for every row its patch inserts, and a denial skips the bundle or disables the row. This plugin's declarations all satisfy `0.1.7-rc.1`, so it is admitted with no exemption — a skipped bundle on a later line is a peer mismatch, not a load failure.
|
|
78
79
|
|
|
79
80
|
## Known behavior boundaries (deterministic differences, non-crash, documented)
|
|
80
81
|
|
|
@@ -53,7 +53,7 @@ src/index.ts host plugin: /rewind|/undo|/snapshot-auto-cleanup
|
|
|
53
53
|
+ checkpoint pipeline (tools/execute|post-execute)
|
|
54
54
|
src/rewind.ts pure planning: target resolution, surface range, candidate listing
|
|
55
55
|
src/snapshot.ts checkpoint store (disk before-backups, restore/preview, bounded prune)
|
|
56
|
-
src/snapshot-cleanup.ts cleanup policy +
|
|
56
|
+
src/snapshot-cleanup.ts cleanup policy + plugin-entry config persistence + auto-sweep throttle
|
|
57
57
|
src/session-cwd.ts session-cwd resolution (fs-tools rule)
|
|
58
58
|
src/locales.ts host i18n (t() renderer, HostKey)
|
|
59
59
|
src/client/index.ts client plugin: /rewind command decoration + per-message ↶ button portals;
|
package/docs/release/release.md
CHANGED
|
@@ -99,6 +99,11 @@ outside it.
|
|
|
99
99
|
forward-looking declaration rather than an enforced guard. Bump it in
|
|
100
100
|
the same release that changes the peer range; never leave code raised while
|
|
101
101
|
the declared floor stays behind. Only the `>=X.Y.Z[-pre]` form is used.
|
|
102
|
+
- **The peers are enforced at startup (`0.1.7-rc.1`)**: DSH checks a profile
|
|
103
|
+
bundle's own `@deepseek-ai/dsh-*` peers against the running version and skips
|
|
104
|
+
the whole bundle when one does not satisfy it, so a peer range that is merely
|
|
105
|
+
stale now costs the plugin its load instead of a warning. See
|
|
106
|
+
`docs/compat/audit.md`.
|
|
102
107
|
|
|
103
108
|
## Versioned-line release model
|
|
104
109
|
|
|
@@ -85,6 +85,10 @@ DSH 仍在 rc 阶段,npm 的 prerelease 匹配规则要求 peer 范围与宿
|
|
|
85
85
|
`dsh.engines.dsh` 声明 DSH 运行时下限(如 `>=0.1.2-rc.1`)。当前线上还没有
|
|
86
86
|
任何读取方,因此它只是前置声明、尚未被强制执行。**与 peer 范围持平的同一发布里
|
|
87
87
|
一并 bump**;不可只升代码、声明下限停留在旧值。仅使用 `>=X.Y.Z[-pre]` 形式。
|
|
88
|
+
- **peer 在启动时会被强制执行(`0.1.7-rc.1`)**:DSH 会拿 bundle 自身的
|
|
89
|
+
`@deepseek-ai/dsh-*` peer 与运行版本比对,只要有一个不满足就**整包跳过**,
|
|
90
|
+
因此过期的 peer 范围不再是"仅告警",而是直接导致插件不加载。见
|
|
91
|
+
`docs/compat/audit.md`。
|
|
88
92
|
|
|
89
93
|
## 发布版本线模型
|
|
90
94
|
|
|
@@ -45,7 +45,7 @@ whether or not automatic cleanup is on.
|
|
|
45
45
|
|
|
46
46
|
The auto-cleanup switch and the idle-day cutoff live in the **dsh-settings configuration document**. View and edit them in the **Settings > Plugins > Plugin configuration > Snapshot cleanup** panel (the auto-cleanup switch and the idle days), or view and set them with the `/snapshot-auto-cleanup` command:
|
|
47
47
|
|
|
48
|
-
<img src="../assets/screenshots/cleanup-setting.png" alt="
|
|
48
|
+
<img src="../assets/screenshots/cleanup-setting.png" alt="Plugin configuration card: auto cleanup and idle time (days)" width="600">
|
|
49
49
|
|
|
50
50
|
- `enabled` — whether automatic cleanup runs (default `false`).
|
|
51
51
|
- `maxAgeDays` — how many idle days before a session's snapshots are removed (default `30`). Only positive integers are accepted, so a broken setting can never delete everything.
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
|
|
32
32
|
## 设置
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
自动清理开关与失活天数保存在**本插件条目自身的配置**中。可在**插件**页本插件的配置卡片查看与修改(自动清理开关、失活天数),也可用 `/snapshot-auto-cleanup` 命令查看和设置:
|
|
35
35
|
|
|
36
|
-
<img src="../assets/screenshots/cleanup-setting.png" alt="
|
|
36
|
+
<img src="../assets/screenshots/cleanup-setting.png" alt="插件配置卡片:自动清理与不活跃时间(天)" width="600">
|
|
37
37
|
|
|
38
38
|
- `enabled` — 是否运行自动清理(默认 `false`)。
|
|
39
39
|
- `maxAgeDays` — 会话失活多少天后移除其快照(默认 `30`)。只接受正整数,因此一个损坏的设置永远不可能"删掉一切"。
|
package/lib/client.js
CHANGED
|
@@ -1233,7 +1233,7 @@ function createRewindBridge(deps) {
|
|
|
1233
1233
|
}
|
|
1234
1234
|
|
|
1235
1235
|
// src/client/build-info.ts
|
|
1236
|
-
var PLUGIN_VERSION = true ? "0.14.0-
|
|
1236
|
+
var PLUGIN_VERSION = true ? "0.14.0-beta.1" : "dev";
|
|
1237
1237
|
var PLUGIN_PACKAGE = "dsh-rewind-plugin";
|
|
1238
1238
|
var BUILD_HASH = true ? "190a881a" : "dev";
|
|
1239
1239
|
|
package/locale/en.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
3
|
"title": "Conversation rewind",
|
|
4
|
-
"description": "Rewind
|
|
4
|
+
"description": "Rewind to an earlier message, optionally restoring workspace files."
|
|
5
5
|
}
|
|
6
6
|
}
|
package/locale/zh.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-rewind-plugin",
|
|
3
|
-
"version": "0.14.0-
|
|
4
|
-
"description": "In-window conversation rewind with workspace file restore
|
|
3
|
+
"version": "0.14.0-beta.1",
|
|
4
|
+
"description": "In-window conversation rewind with workspace file restore · 同窗口内对话回退并可还原工作区文件",
|
|
5
5
|
"icon": "./assets/icon.svg",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"deepseek-harness",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"patch": "./cordis.patch.yml"
|
|
54
54
|
},
|
|
55
55
|
"engines": {
|
|
56
|
-
"dsh": ">=0.1.7-
|
|
56
|
+
"dsh": ">=0.1.7-rc.1"
|
|
57
57
|
},
|
|
58
58
|
"client": {
|
|
59
59
|
"inject": [
|
|
@@ -78,20 +78,20 @@
|
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
80
80
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
81
|
-
"@deepseek-ai/dsh-client-locale": "^0.1.7-
|
|
82
|
-
"@deepseek-ai/dsh-client-ui-commands": "^0.1.7-
|
|
83
|
-
"@deepseek-ai/dsh-client-ui-plugin-manager": "^0.1.7-
|
|
84
|
-
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-
|
|
85
|
-
"@deepseek-ai/dsh-client-ui-settings": "^0.1.7-
|
|
86
|
-
"@deepseek-ai/dsh-client-ui-slots": "^0.1.7-
|
|
87
|
-
"@deepseek-ai/dsh-commands": "^0.1.7-
|
|
88
|
-
"@deepseek-ai/dsh-fs": "^0.1.7-
|
|
89
|
-
"@deepseek-ai/dsh-home-paths": "^0.1.7-
|
|
90
|
-
"@deepseek-ai/dsh-llm": "^0.1.7-
|
|
91
|
-
"@deepseek-ai/dsh-sandbox": "^0.1.7-
|
|
92
|
-
"@deepseek-ai/dsh-session": "^0.1.7-
|
|
93
|
-
"@deepseek-ai/dsh-settings": "^0.1.7-
|
|
94
|
-
"@deepseek-ai/dsh-tools": "^0.1.7-
|
|
81
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.7-rc.1",
|
|
82
|
+
"@deepseek-ai/dsh-client-ui-commands": "^0.1.7-rc.1",
|
|
83
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "^0.1.7-rc.1",
|
|
84
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.1",
|
|
85
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.7-rc.1",
|
|
86
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.1",
|
|
87
|
+
"@deepseek-ai/dsh-commands": "^0.1.7-rc.1",
|
|
88
|
+
"@deepseek-ai/dsh-fs": "^0.1.7-rc.1",
|
|
89
|
+
"@deepseek-ai/dsh-home-paths": "^0.1.7-rc.1",
|
|
90
|
+
"@deepseek-ai/dsh-llm": "^0.1.7-rc.1",
|
|
91
|
+
"@deepseek-ai/dsh-sandbox": "^0.1.7-rc.1",
|
|
92
|
+
"@deepseek-ai/dsh-session": "^0.1.7-rc.1",
|
|
93
|
+
"@deepseek-ai/dsh-settings": "^0.1.7-rc.1",
|
|
94
|
+
"@deepseek-ai/dsh-tools": "^0.1.7-rc.1",
|
|
95
95
|
"@deepseek-ai/schemastery": "^3.18.1"
|
|
96
96
|
},
|
|
97
97
|
"peerDependenciesMeta": {
|
|
@@ -147,41 +147,41 @@
|
|
|
147
147
|
"devDependencies": {
|
|
148
148
|
"@deepseek-ai/cordis": "4.0.3",
|
|
149
149
|
"@deepseek-ai/cosmokit": "1.8.4",
|
|
150
|
-
"@deepseek-ai/dsh-agent": "0.1.7-
|
|
151
|
-
"@deepseek-ai/dsh-api-session-controller": "0.1.7-
|
|
152
|
-
"@deepseek-ai/dsh-attachment": "0.1.7-
|
|
153
|
-
"@deepseek-ai/dsh-client-connection": "0.1.7-
|
|
154
|
-
"@deepseek-ai/dsh-client-locale": "0.1.7-
|
|
155
|
-
"@deepseek-ai/dsh-client-store": "0.1.7-
|
|
156
|
-
"@deepseek-ai/dsh-client-ui-commands": "0.1.7-
|
|
157
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.1.7-
|
|
158
|
-
"@deepseek-ai/dsh-client-ui-input-trigger": "0.1.7-
|
|
159
|
-
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.1.7-
|
|
160
|
-
"@deepseek-ai/dsh-client-ui-primitives": "0.1.7-
|
|
161
|
-
"@deepseek-ai/dsh-client-ui-session": "0.1.7-
|
|
162
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.1.7-
|
|
163
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.1.7-
|
|
164
|
-
"@deepseek-ai/dsh-command-compact": "0.1.7-
|
|
165
|
-
"@deepseek-ai/dsh-commands": "0.1.7-
|
|
166
|
-
"@deepseek-ai/dsh-compaction": "0.1.7-
|
|
167
|
-
"@deepseek-ai/dsh-compaction-basic": "0.1.7-
|
|
168
|
-
"@deepseek-ai/dsh-compaction-image-offload": "0.1.7-
|
|
169
|
-
"@deepseek-ai/dsh-fs": "0.1.7-
|
|
170
|
-
"@deepseek-ai/dsh-goal": "0.1.7-
|
|
171
|
-
"@deepseek-ai/dsh-home-paths": "0.1.7-
|
|
172
|
-
"@deepseek-ai/dsh-llm": "0.1.7-
|
|
173
|
-
"@deepseek-ai/dsh-plan-mode": "0.1.7-
|
|
174
|
-
"@deepseek-ai/dsh-sandbox": "0.1.7-
|
|
175
|
-
"@deepseek-ai/dsh-scope": "0.1.7-
|
|
176
|
-
"@deepseek-ai/dsh-session": "0.1.7-
|
|
177
|
-
"@deepseek-ai/dsh-session-projection": "0.1.7-
|
|
178
|
-
"@deepseek-ai/dsh-session-stats": "0.1.7-
|
|
179
|
-
"@deepseek-ai/dsh-session-title": "0.1.7-
|
|
180
|
-
"@deepseek-ai/dsh-settings": "0.1.7-
|
|
181
|
-
"@deepseek-ai/dsh-token-meter": "0.1.7-
|
|
182
|
-
"@deepseek-ai/dsh-tools": "0.1.7-
|
|
183
|
-
"@deepseek-ai/dsh-typert-protocol": "0.1.7-
|
|
184
|
-
"@deepseek-ai/dsh-user-questions": "0.1.7-
|
|
150
|
+
"@deepseek-ai/dsh-agent": "0.1.7-rc.1",
|
|
151
|
+
"@deepseek-ai/dsh-api-session-controller": "0.1.7-rc.1",
|
|
152
|
+
"@deepseek-ai/dsh-attachment": "0.1.7-rc.1",
|
|
153
|
+
"@deepseek-ai/dsh-client-connection": "0.1.7-rc.1",
|
|
154
|
+
"@deepseek-ai/dsh-client-locale": "0.1.7-rc.1",
|
|
155
|
+
"@deepseek-ai/dsh-client-store": "0.1.7-rc.1",
|
|
156
|
+
"@deepseek-ai/dsh-client-ui-commands": "0.1.7-rc.1",
|
|
157
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.1.7-rc.1",
|
|
158
|
+
"@deepseek-ai/dsh-client-ui-input-trigger": "0.1.7-rc.1",
|
|
159
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.1.7-rc.1",
|
|
160
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.1.7-rc.1",
|
|
161
|
+
"@deepseek-ai/dsh-client-ui-session": "0.1.7-rc.1",
|
|
162
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.1.7-rc.1",
|
|
163
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.1",
|
|
164
|
+
"@deepseek-ai/dsh-command-compact": "0.1.7-rc.1",
|
|
165
|
+
"@deepseek-ai/dsh-commands": "0.1.7-rc.1",
|
|
166
|
+
"@deepseek-ai/dsh-compaction": "0.1.7-rc.1",
|
|
167
|
+
"@deepseek-ai/dsh-compaction-basic": "0.1.7-rc.1",
|
|
168
|
+
"@deepseek-ai/dsh-compaction-image-offload": "0.1.7-rc.1",
|
|
169
|
+
"@deepseek-ai/dsh-fs": "0.1.7-rc.1",
|
|
170
|
+
"@deepseek-ai/dsh-goal": "0.1.7-rc.1",
|
|
171
|
+
"@deepseek-ai/dsh-home-paths": "0.1.7-rc.1",
|
|
172
|
+
"@deepseek-ai/dsh-llm": "0.1.7-rc.1",
|
|
173
|
+
"@deepseek-ai/dsh-plan-mode": "0.1.7-rc.1",
|
|
174
|
+
"@deepseek-ai/dsh-sandbox": "0.1.7-rc.1",
|
|
175
|
+
"@deepseek-ai/dsh-scope": "0.1.7-rc.1",
|
|
176
|
+
"@deepseek-ai/dsh-session": "0.1.7-rc.1",
|
|
177
|
+
"@deepseek-ai/dsh-session-projection": "0.1.7-rc.1",
|
|
178
|
+
"@deepseek-ai/dsh-session-stats": "0.1.7-rc.1",
|
|
179
|
+
"@deepseek-ai/dsh-session-title": "0.1.7-rc.1",
|
|
180
|
+
"@deepseek-ai/dsh-settings": "0.1.7-rc.1",
|
|
181
|
+
"@deepseek-ai/dsh-token-meter": "0.1.7-rc.1",
|
|
182
|
+
"@deepseek-ai/dsh-tools": "0.1.7-rc.1",
|
|
183
|
+
"@deepseek-ai/dsh-typert-protocol": "0.1.7-rc.1",
|
|
184
|
+
"@deepseek-ai/dsh-user-questions": "0.1.7-rc.1",
|
|
185
185
|
"@deepseek-ai/schemastery": "3.18.3",
|
|
186
186
|
"@types/node": "^24.0.0",
|
|
187
187
|
"@types/react": "^18.3.31",
|