dsh-native-session-delete 1.1.0 → 1.1.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/AGENTS.md +9 -24
- package/README.md +85 -70
- package/README.zh-CN.md +141 -0
- package/lib/client.js +9 -4
- package/package.json +12 -6
- package/scripts/build-client.mjs +9 -4
- package/README.en.md +0 -152
package/AGENTS.md
CHANGED
|
@@ -6,7 +6,7 @@ or remove `dsh-native-session-delete` in a selected DeepSeek Harness profile.
|
|
|
6
6
|
## Safety and responsibility boundary
|
|
7
7
|
|
|
8
8
|
- Confirm the target DSH installation and profile. Use `web` only when it is the user's target.
|
|
9
|
-
- Use the fixed v1.1.
|
|
9
|
+
- Use the fixed v1.1.2 package below; never substitute a moving branch or an unreviewed source.
|
|
10
10
|
- Do not print session contents, full profile files, transcript paths, credentials, or other private data.
|
|
11
11
|
- Do not start, stop, or restart DSH without explicit permission.
|
|
12
12
|
- Preserve all sessions, unrelated plugins, and user-owned profile changes.
|
|
@@ -22,16 +22,16 @@ requirements. A cancelled confirmation is the safe default and must not send a d
|
|
|
22
22
|
|
|
23
23
|
## Fixed package and standard bundle
|
|
24
24
|
|
|
25
|
-
The v1.1.
|
|
25
|
+
The v1.1.2 package is a standard DSH bundle with a `dsh.bundle` profile patch. Its exact package spec is:
|
|
26
26
|
|
|
27
27
|
```text
|
|
28
|
-
dsh-native-session-delete@1.1.
|
|
28
|
+
dsh-native-session-delete@1.1.2
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
The bundle disables the official workspace row while installed and inserts a uniquely identified native
|
|
32
32
|
workspace row. Removing `dsh-native-session-delete` removes that layer, allowing DSH to restore the official
|
|
33
33
|
workspace row. Do not install the tarball under `@deepseek-ai/dsh-client-ui-workspace`; that old aliasing
|
|
34
|
-
approach is not the v1.1.
|
|
34
|
+
approach is not the v1.1.2 contract. The product is shown to users as **DSH Native Session Manager** while
|
|
35
35
|
retaining the existing npm package identity for safe upgrades.
|
|
36
36
|
|
|
37
37
|
## Detect the target DSH
|
|
@@ -40,12 +40,11 @@ Use read-only filesystem checks to locate the requested target. On Windows:
|
|
|
40
40
|
|
|
41
41
|
```powershell
|
|
42
42
|
Get-Command dsh -ErrorAction SilentlyContinue
|
|
43
|
-
Get-
|
|
43
|
+
Get-Command npx -ErrorAction SilentlyContinue
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
DSH-Portable; do not install either globally just for this plugin.
|
|
46
|
+
DSH-Portable exposes the same standard `dsh plugin` contract. Missing system pnpm is normal; do not
|
|
47
|
+
install it globally just for this plugin.
|
|
49
48
|
|
|
50
49
|
`dsh plugin ... list` is not strictly read-only. Its first invocation may initialize or migrate a Portable
|
|
51
50
|
profile, rebuild dependency links, or update profile package-manager metadata. It is non-destructive to
|
|
@@ -57,13 +56,7 @@ record the selected profile's relevant metadata before invoking it, without prin
|
|
|
57
56
|
With an existing `dsh` command, run exactly:
|
|
58
57
|
|
|
59
58
|
```sh
|
|
60
|
-
dsh plugin --profile web add dsh-native-session-delete@1.1.
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
With DSH-Portable, run from its root:
|
|
64
|
-
|
|
65
|
-
```powershell
|
|
66
|
-
.\dsh.exe plugin --profile web add dsh-native-session-delete@1.1.0
|
|
59
|
+
dsh plugin --profile web add dsh-native-session-delete@1.1.2
|
|
67
60
|
```
|
|
68
61
|
|
|
69
62
|
Use the same `add` command to update or repair. On Windows, `install.ps1` from the same fixed Release may
|
|
@@ -84,10 +77,8 @@ First verify the selected profile without exposing its contents:
|
|
|
84
77
|
dsh plugin --profile web list dsh-native-session-delete --depth 0
|
|
85
78
|
```
|
|
86
79
|
|
|
87
|
-
Use `.\dsh.exe` in place of `dsh` for DSH-Portable. Static acceptance requires:
|
|
88
|
-
|
|
89
80
|
1. The `dsh-native-session-delete` bundle appears exactly once in the requested profile.
|
|
90
|
-
2. Its direct package spec is the fixed `dsh-native-session-delete@1.1.
|
|
81
|
+
2. Its direct package spec is the fixed `dsh-native-session-delete@1.1.2` npm version above.
|
|
91
82
|
3. The profile contains the bundle patch and no duplicate official workspace row from this plugin.
|
|
92
83
|
4. No unrelated dependency, profile patch, or session data was changed by the operation.
|
|
93
84
|
|
|
@@ -120,12 +111,6 @@ For a standard profile:
|
|
|
120
111
|
dsh plugin --profile web remove dsh-native-session-delete
|
|
121
112
|
```
|
|
122
113
|
|
|
123
|
-
For DSH-Portable:
|
|
124
|
-
|
|
125
|
-
```powershell
|
|
126
|
-
.\dsh.exe plugin --profile web remove dsh-native-session-delete
|
|
127
|
-
```
|
|
128
|
-
|
|
129
114
|
Uninstall removes only this plugin's bundle layer. It must not delete sessions and must not restart DSH
|
|
130
115
|
without permission. After the command, verify that `dsh-native-session-delete` is absent and that the
|
|
131
116
|
official workspace row is available again after the next permitted DSH restart.
|
package/README.md
CHANGED
|
@@ -2,138 +2,153 @@
|
|
|
2
2
|
|
|
3
3
|
# DSH Native Session Manager
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Manage DeepSeek Harness chat history from the native sidebar: search archives, restore sessions, and delete safely.**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Archive manager · Conversation search · One-click restore · Safe permanent deletion
|
|
8
8
|
|
|
9
|
-
[](https://github.com/WSL043/dsh-native-session-manager/releases/latest)
|
|
10
|
+
[](https://github.com/WSL043/dsh-native-session-manager/actions/workflows/ci.yml)
|
|
11
11
|
[](https://www.npmjs.com/package/dsh-native-session-delete)
|
|
12
|
-
[](https://www.npmjs.com/package/dsh-native-session-delete)
|
|
13
|
+
[](#compatibility)
|
|
14
|
+
[](LICENSE)
|
|
15
|
+
[](https://github.com/WSL043/dsh-native-session-manager/stargazers)
|
|
16
|
+
[](https://awesome-dsh-plugin.com)
|
|
14
17
|
|
|
15
|
-
[
|
|
18
|
+
[中文](README.zh-CN.md) · [Install](#install) · [Use](#use) · [Safety boundary](#safety-boundary)
|
|
16
19
|
|
|
17
20
|
</div>
|
|
18
21
|
|
|
19
22
|
<p align="center">
|
|
20
|
-
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-
|
|
23
|
+
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-manager/main/docs/assets/hero.en.png" alt="DeepSeek Harness chat history and archived session manager with search, restore, and safe permanent deletion">
|
|
21
24
|
</p>
|
|
22
25
|
|
|
23
|
-
|
|
|
26
|
+
| Recover archives | Search conversations | Delete safely |
|
|
24
27
|
| --- | --- | --- |
|
|
25
|
-
|
|
|
28
|
+
| Open the archive manager from the sidebar and restore hidden sessions | Search archived names, workspaces, and user/assistant conversation content | Keep native second confirmation; running work is stopped safely before local records are removed |
|
|
26
29
|
|
|
27
30
|
<p align="center">
|
|
28
|
-
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-
|
|
29
|
-
<br><sub>DeepSeek Harness 0.1.1-rc.2
|
|
31
|
+
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-manager/main/docs/assets/archive-manager.en.png" width="414" alt="Native DeepSeek Harness archived conversation manager with history search, restore, and permanent deletion">
|
|
32
|
+
<br><sub>Native interface on DeepSeek Harness 0.1.1-rc.2</sub>
|
|
30
33
|
</p>
|
|
31
34
|
|
|
32
|
-
##
|
|
35
|
+
## Install
|
|
33
36
|
|
|
34
|
-
### Windows
|
|
37
|
+
### Windows quick install (recommended)
|
|
35
38
|
|
|
36
|
-
|
|
39
|
+
Open PowerShell and paste one line:
|
|
37
40
|
|
|
38
41
|
```powershell
|
|
39
|
-
irm 'https://github.com/WSL043/dsh-native-session-
|
|
42
|
+
irm 'https://github.com/WSL043/dsh-native-session-manager/releases/download/v1.1.2/install.ps1' | iex
|
|
40
43
|
```
|
|
41
44
|
|
|
42
|
-
|
|
43
|
-
`LocalAppData\Temp
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
The helper checks the current directory, PATH, `DSH_PORTABLE_ROOT`, Downloads/Desktop/Documents, and up to
|
|
46
|
+
three nested levels below those folders and `LocalAppData\Temp`, then calls the official DSH `plugin add`
|
|
47
|
+
command once. It does not recursively scan disks, install a package manager, snapshot profiles, create a
|
|
48
|
+
resident command, or download the plugin twice. It supports regular DSH and both the portable edition and
|
|
49
|
+
Windows installer edition of [DSH-Portable](https://github.com/WSL043/DSH-Portable) as targets. If it finds one durable installation plus disposable
|
|
50
|
+
copies under Temp, it chooses the durable installation automatically. If several durable installations exist,
|
|
51
|
+
the helper displays their real paths and asks for a number; no command editing or placeholder path is needed.
|
|
52
|
+
If it still finds nothing, enter the actual DSH-Portable folder and rerun the same one-line command.
|
|
48
53
|
|
|
49
|
-
###
|
|
54
|
+
### Official CLI (macOS, Linux, or direct review)
|
|
50
55
|
|
|
51
56
|
```sh
|
|
52
|
-
dsh plugin --profile web add dsh-native-session-delete@1.1.
|
|
57
|
+
dsh plugin --profile web add dsh-native-session-delete@1.1.2
|
|
53
58
|
```
|
|
54
59
|
|
|
55
|
-
|
|
60
|
+
The helper and direct command use the same standard bundle mechanism. The helper is only a Windows entry
|
|
61
|
+
point; DSH still owns the installation transaction.
|
|
56
62
|
|
|
57
|
-
|
|
63
|
+
When the command finishes, save your work and restart DSH once through its normal workflow so the new
|
|
64
|
+
bundle configuration becomes active.
|
|
58
65
|
|
|
59
|
-
###
|
|
66
|
+
### Agent installation
|
|
60
67
|
|
|
61
|
-
|
|
62
|
-
|
|
68
|
+
Use the fixed-version [AGENTS.md](https://raw.githubusercontent.com/WSL043/dsh-native-session-manager/v1.1.2/AGENTS.md).
|
|
69
|
+
It defines installation, update, acceptance, uninstall, and safety boundaries. Do not use the `main`
|
|
70
|
+
branch document as an installation contract.
|
|
63
71
|
|
|
64
|
-
##
|
|
72
|
+
## Use
|
|
65
73
|
|
|
66
|
-
###
|
|
74
|
+
### Manage archives
|
|
67
75
|
|
|
68
|
-
1.
|
|
69
|
-
2.
|
|
70
|
-
3.
|
|
76
|
+
1. Select the archive icon in the sidebar header to open **Archived sessions**.
|
|
77
|
+
2. Browse every archive or search by session name, workspace, and user/assistant conversation content.
|
|
78
|
+
3. Select **Restore** to return a session to its original workspace position. To remove it completely,
|
|
79
|
+
start the permanent-delete confirmation from the same list.
|
|
71
80
|
|
|
72
|
-
|
|
73
|
-
|
|
81
|
+
Archive and restore only change DSH's hidden state; they do not delete conversation history. Content search
|
|
82
|
+
is limited to current user and assistant messages inside archived sessions.
|
|
74
83
|
|
|
75
|
-
###
|
|
84
|
+
### Delete permanently
|
|
76
85
|
|
|
77
|
-
1.
|
|
78
|
-
2.
|
|
79
|
-
3.
|
|
86
|
+
1. Open the native actions menu beside the target session in the sidebar.
|
|
87
|
+
2. Choose the red **Delete session** action.
|
|
88
|
+
3. Check the session name and select **Delete permanently** in the confirmation dialog, or select
|
|
89
|
+
**Cancel** to leave it unchanged.
|
|
80
90
|
|
|
81
91
|
<p align="center">
|
|
82
|
-
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-
|
|
83
|
-
<br><sub
|
|
92
|
+
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-manager/main/docs/assets/confirm-delete.en.png" width="414" alt="DeepSeek Harness safe permanent session deletion confirmation dialog">
|
|
93
|
+
<br><sub>Permanent deletion cannot be undone; the dialog identifies the target session.</sub>
|
|
84
94
|
</p>
|
|
85
95
|
|
|
86
|
-
|
|
87
|
-
|
|
96
|
+
Once active, the plugin reuses DSH lifecycle and session-storage capabilities. If work is still running,
|
|
97
|
+
it is stopped and allowed to settle before the target session is deleted. The session list then
|
|
98
|
+
updates in place without reloading the whole DSH page.
|
|
88
99
|
|
|
89
|
-
##
|
|
100
|
+
## Safety boundary
|
|
90
101
|
|
|
91
102
|
> [!WARNING]
|
|
92
|
-
>
|
|
103
|
+
> Permanent deletion cannot be undone. Check the session name before confirming and make a separate backup when needed.
|
|
93
104
|
|
|
94
|
-
|
|
95
|
-
|
|
105
|
+
The plugin is responsible for validating and removing only the explicitly confirmed session's dedicated
|
|
106
|
+
directory within DSH's default per-session JSONL store and host lifecycle boundary. DSH currently exposes
|
|
107
|
+
no public session-deletion API. The second confirmation is mandatory; cancelling sends no deletion request.
|
|
96
108
|
|
|
97
|
-
|
|
109
|
+
The following are outside the plugin's deletion scope and are not guaranteed to be removed:
|
|
98
110
|
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
111
|
+
- Other sessions, other plugin data, external attachments, caches, indexes, logs, backups, or cloud/sync copies;
|
|
112
|
+
- Non-JSONL storage or hosts without a safe stop capability; these are refused instead of force-deleted;
|
|
113
|
+
- Additional copies created by the operating system, filesystem, host updates, or third-party sync services.
|
|
102
114
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
115
|
+
If the operating system refuses cleanup, the plugin reports that deletion could not be confirmed rather
|
|
116
|
+
than misreporting partial completion as success. You are responsible for having authority to delete the
|
|
117
|
+
target data and for meeting applicable retention, audit, and privacy requirements. This is an unofficial
|
|
118
|
+
community plugin, not affiliated with or endorsed by DeepSeek. It is provided under the [MIT License](LICENSE),
|
|
119
|
+
without warranty.
|
|
106
120
|
|
|
107
|
-
##
|
|
121
|
+
## Compatibility
|
|
108
122
|
|
|
109
123
|
<!-- dsh-compatibility -->
|
|
110
|
-
|
|
124
|
+
Supports the latest DeepSeek Harness release (`0.1.1-rc.2`).
|
|
111
125
|
<!-- /dsh-compatibility -->
|
|
112
126
|
|
|
113
|
-
|
|
114
|
-
|
|
127
|
+
Archive browsing, restore, and content search use DSH's workspace registry and session-query capabilities.
|
|
128
|
+
Permanent deletion supports DSH's default per-session JSONL storage. Installing replaces the native workspace
|
|
129
|
+
list with the session-management version; uninstalling restores DSH's original list.
|
|
115
130
|
|
|
116
|
-
##
|
|
131
|
+
## Update and uninstall
|
|
117
132
|
|
|
118
|
-
|
|
133
|
+
Update by rerunning the quick installer or installing the new npm version. For v1.1.2:
|
|
119
134
|
|
|
120
135
|
```sh
|
|
121
|
-
dsh plugin --profile web add dsh-native-session-delete@1.1.
|
|
136
|
+
dsh plugin --profile web add dsh-native-session-delete@1.1.2
|
|
122
137
|
```
|
|
123
138
|
|
|
124
|
-
|
|
139
|
+
Uninstall removes only this plugin's bundle layer and never deletes sessions:
|
|
125
140
|
|
|
126
141
|
```sh
|
|
127
142
|
dsh plugin --profile web remove dsh-native-session-delete
|
|
128
143
|
```
|
|
129
144
|
|
|
130
|
-
DSH-Portable
|
|
131
|
-
|
|
132
|
-
按 DSH 的正常方式重启,使配置重新组合。
|
|
145
|
+
DSH-Portable exposes the same standard `dsh plugin` commands. Restart DSH through its normal workflow
|
|
146
|
+
after installing, updating, or uninstalling so the configuration is recomposed.
|
|
133
147
|
|
|
134
|
-
##
|
|
148
|
+
## Support and license
|
|
135
149
|
|
|
136
|
-
|
|
137
|
-
[SECURITY.md](SECURITY.md)
|
|
150
|
+
Open a [GitHub Issue](https://github.com/WSL043/dsh-native-session-manager/issues) for ordinary problems. Report
|
|
151
|
+
security issues privately as described in [SECURITY.md](SECURITY.md).
|
|
138
152
|
|
|
139
|
-
MIT
|
|
153
|
+
MIT. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) for the modified upstream client and its license
|
|
154
|
+
notice.
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# DSH Native Session Manager
|
|
4
|
+
|
|
5
|
+
**在 DeepSeek Harness 原生侧边栏中搜索、恢复和安全清理会话。**
|
|
6
|
+
|
|
7
|
+
归档管理 · 聊天记录搜索 · 一键恢复 · 安全永久删除
|
|
8
|
+
|
|
9
|
+
[](https://github.com/WSL043/dsh-native-session-manager/releases/latest)
|
|
10
|
+
[](https://github.com/WSL043/dsh-native-session-manager/actions/workflows/ci.yml)
|
|
11
|
+
[](https://www.npmjs.com/package/dsh-native-session-delete)
|
|
12
|
+
[](https://www.npmjs.com/package/dsh-native-session-delete)
|
|
13
|
+
[](#兼容性)
|
|
14
|
+
[](LICENSE)
|
|
15
|
+
[](https://github.com/WSL043/dsh-native-session-manager/stargazers)
|
|
16
|
+
[](https://awesome-dsh-plugin.com)
|
|
17
|
+
|
|
18
|
+
[English](README.md) · [安装](#安装) · [使用](#使用) · [安全边界](#安全边界)
|
|
19
|
+
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<p align="center">
|
|
23
|
+
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-manager/main/docs/assets/hero.png" alt="DeepSeek Harness 聊天历史与归档会话管理器,支持搜索、恢复和安全永久删除">
|
|
24
|
+
</p>
|
|
25
|
+
|
|
26
|
+
| 归档可找回 | 聊天可搜索 | 删除更稳妥 |
|
|
27
|
+
| --- | --- | --- |
|
|
28
|
+
| 从侧边栏打开归档管理器,查看并恢复隐藏的会话 | 按会话名、工作区或用户与助手的聊天内容搜索归档 | 原生菜单保留二次确认;运行中的任务先安全停止,再删除本机会话记录 |
|
|
29
|
+
|
|
30
|
+
<p align="center">
|
|
31
|
+
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-manager/main/docs/assets/archive-manager.png" width="414" alt="DeepSeek Harness 原生归档会话管理器,支持聊天历史搜索、恢复和永久删除">
|
|
32
|
+
<br><sub>DeepSeek Harness 0.1.1-rc.2 中的原生界面</sub>
|
|
33
|
+
</p>
|
|
34
|
+
|
|
35
|
+
## 安装
|
|
36
|
+
|
|
37
|
+
### Windows 快速安装(推荐)
|
|
38
|
+
|
|
39
|
+
打开 PowerShell,复制这一行:
|
|
40
|
+
|
|
41
|
+
```powershell
|
|
42
|
+
irm 'https://github.com/WSL043/dsh-native-session-manager/releases/download/v1.1.2/install.ps1' | iex
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
助手依次检查当前目录、PATH、`DSH_PORTABLE_ROOT`、下载/桌面/文档目录,以及这些目录和
|
|
46
|
+
`LocalAppData\Temp` 下最多三层的 Portable 解压目录;找到后立即调用一次 DSH 官方 `plugin add`。
|
|
47
|
+
它不会递归扫盘、安装包管理器、保存 profile 快照、创建常驻命令或重复下载插件。普通 DSH 和
|
|
48
|
+
[DSH-Portable](https://github.com/WSL043/DSH-Portable) 的便携版、Windows 安装版都可以作为目标。若同时发现一个长期安装和 Temp
|
|
49
|
+
中的测试/解压副本,会自动选择长期安装;若存在多个长期安装,助手会列出真实路径并让你输入编号,
|
|
50
|
+
不需要改命令或填写示例路径。若仍未找到,请先进入实际的 DSH-Portable 文件夹再运行同一条命令。
|
|
51
|
+
|
|
52
|
+
### 官方 CLI(macOS、Linux 或希望直接审阅命令)
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
dsh plugin --profile web add dsh-native-session-delete@1.1.2
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
助手和这条命令使用的是同一个标准 bundle 安装机制;助手只是 Windows 入口,不接管安装事务。
|
|
59
|
+
|
|
60
|
+
安装完成后,保存工作并按 DSH 的正常方式重启一次,使新的 bundle 配置生效。
|
|
61
|
+
|
|
62
|
+
### 交给 Agent
|
|
63
|
+
|
|
64
|
+
请使用固定版本的 [AGENTS.md](https://raw.githubusercontent.com/WSL043/dsh-native-session-manager/v1.1.2/AGENTS.md),
|
|
65
|
+
其中写明了安装、更新、验收、卸载和安全边界。不要把 `main` 分支文档当作安装依据。
|
|
66
|
+
|
|
67
|
+
## 使用
|
|
68
|
+
|
|
69
|
+
### 管理归档
|
|
70
|
+
|
|
71
|
+
1. 点击侧边栏标题区域的归档图标,打开 **归档会话**。
|
|
72
|
+
2. 直接浏览全部归档,或按会话名、工作区和用户/助手聊天内容搜索。
|
|
73
|
+
3. 点击 **恢复** 让会话回到原来的工作区位置;需要彻底清理时,可从同一列表进入永久删除确认。
|
|
74
|
+
|
|
75
|
+
归档和恢复只改变 DSH 的隐藏状态,不删除聊天记录。搜索范围仅限已归档会话中的当前用户与助手消息,
|
|
76
|
+
不会把其他会话或插件数据混入结果。
|
|
77
|
+
|
|
78
|
+
### 永久删除
|
|
79
|
+
|
|
80
|
+
1. 打开侧边栏中目标会话右侧的原生操作菜单。
|
|
81
|
+
2. 选择红色的 **删除会话**。
|
|
82
|
+
3. 在确认弹窗中核对会话名称并再次确认 **永久删除**;也可以随时点击 **取消**。
|
|
83
|
+
|
|
84
|
+
<p align="center">
|
|
85
|
+
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-manager/main/docs/assets/confirm-delete.png" width="414" alt="DeepSeek Harness 安全永久删除会话的中文二次确认弹窗">
|
|
86
|
+
<br><sub>永久删除无法撤销,确认弹窗会明确显示目标会话</sub>
|
|
87
|
+
</p>
|
|
88
|
+
|
|
89
|
+
插件生效后,删除逻辑复用 DSH 的生命周期和会话存储能力。正在运行的任务会先停止并等待
|
|
90
|
+
收敛,然后删除目标会话;成功后只更新会话列表,不重载整个 DSH 页面。
|
|
91
|
+
|
|
92
|
+
## 安全边界
|
|
93
|
+
|
|
94
|
+
> [!WARNING]
|
|
95
|
+
> 永久删除无法撤销。点下确认前,请核对会话名称;需要保留的内容请先另行备份。
|
|
96
|
+
|
|
97
|
+
本插件的责任范围是:在 DSH 默认逐会话 JSONL 存储和宿主生命周期边界内,验证并移除用户明确
|
|
98
|
+
确认的目标会话独占目录。DSH 当前没有公开会话删除 API;二次确认是强制步骤,取消不会发送删除请求。
|
|
99
|
+
|
|
100
|
+
以下内容不在本插件的删除范围内,也不保证被清理:
|
|
101
|
+
|
|
102
|
+
- 其他会话、其他插件数据、外部附件、缓存、索引、日志、备份和云端/同步副本;
|
|
103
|
+
- 非 JSONL 存储或宿主没有安全停止能力的会话;这类情况会拒绝强删并报告未完成;
|
|
104
|
+
- 操作系统、文件系统、宿主更新或第三方同步服务造成的额外副本。
|
|
105
|
+
|
|
106
|
+
如果系统拒绝清理,插件会报告无法确认删除成功,不会把部分完成误报为成功。删除前请确认
|
|
107
|
+
自己有权处理目标数据,并遵守适用的数据留存、审计和隐私要求。本项目是非官方社区插件,
|
|
108
|
+
与 DeepSeek 无隶属或背书关系;按 [MIT 许可证](LICENSE)提供,不附带担保。
|
|
109
|
+
|
|
110
|
+
## 兼容性
|
|
111
|
+
|
|
112
|
+
<!-- dsh-compatibility -->
|
|
113
|
+
支持最新版 DeepSeek Harness(`0.1.1-rc.2`)。
|
|
114
|
+
<!-- /dsh-compatibility -->
|
|
115
|
+
|
|
116
|
+
归档浏览、恢复和内容搜索使用 DSH 的工作区注册表与会话查询能力;永久删除适用于 DSH 默认的逐会话
|
|
117
|
+
JSONL 存储。安装后替换为带会话管理功能的原生工作区列表;卸载后恢复 DSH 原有列表。
|
|
118
|
+
|
|
119
|
+
## 更新与卸载
|
|
120
|
+
|
|
121
|
+
更新可重新运行快速安装助手,或安装 npm 上的新版本。v1.1.2 的直接命令是:
|
|
122
|
+
|
|
123
|
+
```sh
|
|
124
|
+
dsh plugin --profile web add dsh-native-session-delete@1.1.2
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
卸载只移除这个插件的 bundle 层,不删除任何会话:
|
|
128
|
+
|
|
129
|
+
```sh
|
|
130
|
+
dsh plugin --profile web remove dsh-native-session-delete
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
DSH-Portable 同样使用标准的 `dsh plugin` 命令。完成安装、更新或卸载后,按 DSH 的正常方式重启,
|
|
134
|
+
使配置重新组合。
|
|
135
|
+
|
|
136
|
+
## 支持与许可证
|
|
137
|
+
|
|
138
|
+
普通问题请提交 [GitHub Issue](https://github.com/WSL043/dsh-native-session-manager/issues);安全问题请按
|
|
139
|
+
[SECURITY.md](SECURITY.md) 私下报告。
|
|
140
|
+
|
|
141
|
+
MIT。修改后的上游客户端及其许可说明见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。
|
package/lib/client.js
CHANGED
|
@@ -2311,11 +2311,11 @@ window.__ModuleLoader__.load({
|
|
|
2311
2311
|
className: WorkspaceBrowser_module_css_default.deleteStatus,
|
|
2312
2312
|
children: normalizedArchiveQuery === "" ? t("archive.manager.empty") : t("archive.manager.noMatches")
|
|
2313
2313
|
}) : archiveRows.map((row) => (0, react_jsx_runtime.jsxs)("div", {
|
|
2314
|
-
style: { border: "1px solid var(--dsw-alias-border-l2)", borderRadius: 12, padding: 12, display: "flex", alignItems: "
|
|
2314
|
+
style: { border: "1px solid var(--dsw-alias-border-l2)", borderRadius: 12, padding: 12, display: "flex", flexDirection: "column", alignItems: "stretch", gap: 8 },
|
|
2315
2315
|
children: [(0, react_jsx_runtime.jsxs)("div", {
|
|
2316
|
-
style: { minWidth: 0
|
|
2316
|
+
style: { minWidth: 0 },
|
|
2317
2317
|
children: [(0, react_jsx_runtime.jsx)("div", {
|
|
2318
|
-
style: { color: "var(--dsw-alias-label-primary)", fontSize: 13, fontWeight: 500,
|
|
2318
|
+
style: { color: "var(--dsw-alias-label-primary)", fontSize: 13, fontWeight: 500, whiteSpace: "normal", overflowWrap: "anywhere", lineHeight: "18px" },
|
|
2319
2319
|
children: row.title
|
|
2320
2320
|
}), (0, react_jsx_runtime.jsx)("div", {
|
|
2321
2321
|
style: { color: "var(--dsw-alias-label-tertiary)", fontSize: 12, marginTop: 2 },
|
|
@@ -2324,18 +2324,23 @@ window.__ModuleLoader__.load({
|
|
|
2324
2324
|
style: { color: "var(--dsw-alias-label-secondary)", fontSize: 12, lineHeight: "18px", marginTop: 6 },
|
|
2325
2325
|
children: archiveSnippets.get(row.id)
|
|
2326
2326
|
})]
|
|
2327
|
-
}), (0, react_jsx_runtime.
|
|
2327
|
+
}), (0, react_jsx_runtime.jsxs)("div", {
|
|
2328
|
+
style: { display: "flex", justifyContent: "flex-end", gap: 8 },
|
|
2329
|
+
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
2328
2330
|
variant: "outline",
|
|
2331
|
+
style: { minHeight: 28, height: 28, paddingInline: 10, fontSize: 12 },
|
|
2329
2332
|
disabled: archiveBusyId !== null,
|
|
2330
2333
|
onClick: () => onArchiveRestore(row.id),
|
|
2331
2334
|
children: archiveBusyId === row.id ? t("archive.manager.restoring") : t("archive.manager.restore")
|
|
2332
2335
|
}), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
2333
2336
|
variant: "outline",
|
|
2334
2337
|
className: WorkspaceBrowser_module_css_default.deleteAction,
|
|
2338
|
+
style: { minHeight: 28, height: 28, paddingInline: 10, fontSize: 12 },
|
|
2335
2339
|
disabled: archiveBusyId !== null,
|
|
2336
2340
|
onClick: () => onSessionDelete(row.id, row.title),
|
|
2337
2341
|
children: t("archive.manager.delete")
|
|
2338
2342
|
})]
|
|
2343
|
+
})]
|
|
2339
2344
|
}, row.id))
|
|
2340
2345
|
}), archiveSearch.hasMore && (0, react_jsx_runtime.jsx)("div", {
|
|
2341
2346
|
className: WorkspaceBrowser_module_css_default.deleteStatus,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-native-session-delete",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.2",
|
|
4
|
+
"description": "DeepSeek Harness chat history and session management: search archives, restore conversations, and delete safely",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"src/host/archive-manager.mjs",
|
|
20
20
|
"src/host/delete-session.mjs",
|
|
21
21
|
"README.md",
|
|
22
|
-
"README.
|
|
22
|
+
"README.zh-CN.md",
|
|
23
23
|
"AGENTS.md",
|
|
24
24
|
"LICENSE",
|
|
25
25
|
"SECURITY.md",
|
|
@@ -51,6 +51,12 @@
|
|
|
51
51
|
"unarchive",
|
|
52
52
|
"restore",
|
|
53
53
|
"history-search",
|
|
54
|
+
"chat-history",
|
|
55
|
+
"conversation-history",
|
|
56
|
+
"archived-sessions",
|
|
57
|
+
"session-delete",
|
|
58
|
+
"permanent-delete",
|
|
59
|
+
"deepseek",
|
|
54
60
|
"delete",
|
|
55
61
|
"privacy"
|
|
56
62
|
],
|
|
@@ -61,12 +67,12 @@
|
|
|
61
67
|
},
|
|
62
68
|
"repository": {
|
|
63
69
|
"type": "git",
|
|
64
|
-
"url": "git+https://github.com/WSL043/dsh-native-session-
|
|
70
|
+
"url": "git+https://github.com/WSL043/dsh-native-session-manager.git"
|
|
65
71
|
},
|
|
66
72
|
"bugs": {
|
|
67
|
-
"url": "https://github.com/WSL043/dsh-native-session-
|
|
73
|
+
"url": "https://github.com/WSL043/dsh-native-session-manager/issues"
|
|
68
74
|
},
|
|
69
|
-
"homepage": "https://github.com/WSL043/dsh-native-session-
|
|
75
|
+
"homepage": "https://github.com/WSL043/dsh-native-session-manager#readme",
|
|
70
76
|
"engines": {
|
|
71
77
|
"node": "^22.19.0 || >=24.0.0"
|
|
72
78
|
},
|
package/scripts/build-client.mjs
CHANGED
|
@@ -231,11 +231,11 @@ export function patchWorkspaceClient(upstream, upstreamVersion = LATEST_UPSTREAM
|
|
|
231
231
|
\t\t\t\t\t\t\t\tclassName: WorkspaceBrowser_module_css_default.deleteStatus,
|
|
232
232
|
\t\t\t\t\t\t\t\tchildren: normalizedArchiveQuery === "" ? t("archive.manager.empty") : t("archive.manager.noMatches")
|
|
233
233
|
\t\t\t\t\t\t\t}) : archiveRows.map((row) => (0, react_jsx_runtime.jsxs)("div", {
|
|
234
|
-
\t\t\t\t\t\t\t\tstyle: { border: "1px solid var(--dsw-alias-border-l2)", borderRadius: 12, padding: 12, display: "flex", alignItems: "
|
|
234
|
+
\t\t\t\t\t\t\t\tstyle: { border: "1px solid var(--dsw-alias-border-l2)", borderRadius: 12, padding: 12, display: "flex", flexDirection: "column", alignItems: "stretch", gap: 8 },
|
|
235
235
|
\t\t\t\t\t\t\t\tchildren: [(0, react_jsx_runtime.jsxs)("div", {
|
|
236
|
-
\t\t\t\t\t\t\t\t\tstyle: { minWidth: 0
|
|
236
|
+
\t\t\t\t\t\t\t\t\tstyle: { minWidth: 0 },
|
|
237
237
|
\t\t\t\t\t\t\t\t\tchildren: [(0, react_jsx_runtime.jsx)("div", {
|
|
238
|
-
\t\t\t\t\t\t\t\t\t\tstyle: { color: "var(--dsw-alias-label-primary)", fontSize: 13, fontWeight: 500,
|
|
238
|
+
\t\t\t\t\t\t\t\t\t\tstyle: { color: "var(--dsw-alias-label-primary)", fontSize: 13, fontWeight: 500, whiteSpace: "normal", overflowWrap: "anywhere", lineHeight: "18px" },
|
|
239
239
|
\t\t\t\t\t\t\t\t\t\tchildren: row.title
|
|
240
240
|
\t\t\t\t\t\t\t\t\t}), (0, react_jsx_runtime.jsx)("div", {
|
|
241
241
|
\t\t\t\t\t\t\t\t\t\tstyle: { color: "var(--dsw-alias-label-tertiary)", fontSize: 12, marginTop: 2 },
|
|
@@ -244,18 +244,23 @@ export function patchWorkspaceClient(upstream, upstreamVersion = LATEST_UPSTREAM
|
|
|
244
244
|
\t\t\t\t\t\t\t\t\t\tstyle: { color: "var(--dsw-alias-label-secondary)", fontSize: 12, lineHeight: "18px", marginTop: 6 },
|
|
245
245
|
\t\t\t\t\t\t\t\t\t\tchildren: archiveSnippets.get(row.id)
|
|
246
246
|
\t\t\t\t\t\t\t\t\t})]
|
|
247
|
-
\t\t\t\t\t\t\t\t}), (0, react_jsx_runtime.
|
|
247
|
+
\t\t\t\t\t\t\t\t}), (0, react_jsx_runtime.jsxs)("div", {
|
|
248
|
+
\t\t\t\t\t\t\t\t\tstyle: { display: "flex", justifyContent: "flex-end", gap: 8 },
|
|
249
|
+
\t\t\t\t\t\t\t\t\tchildren: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
248
250
|
\t\t\t\t\t\t\t\t\tvariant: "outline",
|
|
251
|
+
\t\t\t\t\t\t\t\t\tstyle: { minHeight: 28, height: 28, paddingInline: 10, fontSize: 12 },
|
|
249
252
|
\t\t\t\t\t\t\t\t\tdisabled: archiveBusyId !== null,
|
|
250
253
|
\t\t\t\t\t\t\t\t\tonClick: () => onArchiveRestore(row.id),
|
|
251
254
|
\t\t\t\t\t\t\t\t\tchildren: archiveBusyId === row.id ? t("archive.manager.restoring") : t("archive.manager.restore")
|
|
252
255
|
\t\t\t\t\t\t\t\t}), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
253
256
|
\t\t\t\t\t\t\t\t\tvariant: "outline",
|
|
254
257
|
\t\t\t\t\t\t\t\t\tclassName: WorkspaceBrowser_module_css_default.deleteAction,
|
|
258
|
+
\t\t\t\t\t\t\t\t\tstyle: { minHeight: 28, height: 28, paddingInline: 10, fontSize: 12 },
|
|
255
259
|
\t\t\t\t\t\t\t\t\tdisabled: archiveBusyId !== null,
|
|
256
260
|
\t\t\t\t\t\t\t\t\tonClick: () => onSessionDelete(row.id, row.title),
|
|
257
261
|
\t\t\t\t\t\t\t\t\tchildren: t("archive.manager.delete")
|
|
258
262
|
\t\t\t\t\t\t\t\t})]
|
|
263
|
+
\t\t\t\t\t\t\t\t})]
|
|
259
264
|
\t\t\t\t\t\t\t}, row.id))
|
|
260
265
|
\t\t\t\t\t\t}), archiveSearch.hasMore && (0, react_jsx_runtime.jsx)("div", {
|
|
261
266
|
\t\t\t\t\t\t\tclassName: WorkspaceBrowser_module_css_default.deleteStatus,
|
package/README.en.md
DELETED
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
|
|
3
|
-
# DSH Native Session Manager
|
|
4
|
-
|
|
5
|
-
**Search, restore, and safely clean up sessions from the native DeepSeek Harness sidebar.**
|
|
6
|
-
|
|
7
|
-
Archive manager · Conversation search · One-click restore · Safe permanent deletion
|
|
8
|
-
|
|
9
|
-
[](https://github.com/WSL043/dsh-native-session-delete/releases/latest)
|
|
10
|
-
[](https://github.com/WSL043/dsh-native-session-delete/actions/workflows/ci.yml)
|
|
11
|
-
[](https://www.npmjs.com/package/dsh-native-session-delete)
|
|
12
|
-
[](#compatibility)
|
|
13
|
-
[](LICENSE)
|
|
14
|
-
|
|
15
|
-
[中文](README.md) · [Install](#install) · [Use](#use) · [Safety boundary](#safety-boundary)
|
|
16
|
-
|
|
17
|
-
</div>
|
|
18
|
-
|
|
19
|
-
<p align="center">
|
|
20
|
-
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.1.0/docs/assets/hero.en.png" alt="Native DeepSeek Harness session management and permanent deletion">
|
|
21
|
-
</p>
|
|
22
|
-
|
|
23
|
-
| Recover archives | Search conversations | Delete safely |
|
|
24
|
-
| --- | --- | --- |
|
|
25
|
-
| Open the archive manager from the sidebar and restore hidden sessions | Search archived names, workspaces, and user/assistant conversation content | Keep native second confirmation; running work is stopped safely before local records are removed |
|
|
26
|
-
|
|
27
|
-
<p align="center">
|
|
28
|
-
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.1.0/docs/assets/archive-manager.en.png" width="382" alt="Native DSH archive manager with search, restore, and permanent deletion">
|
|
29
|
-
<br><sub>Native interface on DeepSeek Harness 0.1.1-rc.2</sub>
|
|
30
|
-
</p>
|
|
31
|
-
|
|
32
|
-
## Install
|
|
33
|
-
|
|
34
|
-
### Windows quick install (recommended)
|
|
35
|
-
|
|
36
|
-
Open PowerShell and paste one line:
|
|
37
|
-
|
|
38
|
-
```powershell
|
|
39
|
-
irm 'https://github.com/WSL043/dsh-native-session-delete/releases/download/v1.1.0/install.ps1' | iex
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
The helper checks the current directory, PATH, `DSH_PORTABLE_ROOT`, Downloads/Desktop/Documents, and up to
|
|
43
|
-
three nested levels below those folders and `LocalAppData\Temp`, then calls the official DSH `plugin add`
|
|
44
|
-
command once. It does not recursively scan disks, install a package manager, snapshot profiles, create a
|
|
45
|
-
resident command, or download the plugin twice. It supports regular DSH and both the portable edition and
|
|
46
|
-
Windows installer edition of [DSH-Portable](https://github.com/WSL043/DSH-Portable) as targets. If it finds one durable installation plus disposable
|
|
47
|
-
copies under Temp, it chooses the durable installation automatically. If several durable installations exist,
|
|
48
|
-
the helper displays their real paths and asks for a number; no command editing or placeholder path is needed.
|
|
49
|
-
If it still finds nothing, enter the actual DSH-Portable folder and rerun the same one-line command.
|
|
50
|
-
|
|
51
|
-
### Official CLI (macOS, Linux, or direct review)
|
|
52
|
-
|
|
53
|
-
```sh
|
|
54
|
-
dsh plugin --profile web add dsh-native-session-delete@1.1.0
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
The helper and direct command use the same standard bundle mechanism. The helper is only a Windows entry
|
|
58
|
-
point; DSH still owns the installation transaction.
|
|
59
|
-
|
|
60
|
-
When the command finishes, save your work and restart DSH once through its normal workflow so the new
|
|
61
|
-
bundle configuration becomes active.
|
|
62
|
-
|
|
63
|
-
### Agent installation
|
|
64
|
-
|
|
65
|
-
Use the fixed-version [AGENTS.md](https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.1.0/AGENTS.md).
|
|
66
|
-
It defines installation, update, acceptance, uninstall, and safety boundaries. Do not use the `main`
|
|
67
|
-
branch document as an installation contract.
|
|
68
|
-
|
|
69
|
-
## Use
|
|
70
|
-
|
|
71
|
-
### Manage archives
|
|
72
|
-
|
|
73
|
-
1. Select the archive icon in the sidebar header to open **Archived sessions**.
|
|
74
|
-
2. Browse every archive or search by session name, workspace, and user/assistant conversation content.
|
|
75
|
-
3. Select **Restore** to return a session to its original workspace position. To remove it completely,
|
|
76
|
-
start the permanent-delete confirmation from the same list.
|
|
77
|
-
|
|
78
|
-
Archive and restore only change DSH's hidden state; they do not delete conversation history. Content search
|
|
79
|
-
is limited to current user and assistant messages inside archived sessions.
|
|
80
|
-
|
|
81
|
-
### Delete permanently
|
|
82
|
-
|
|
83
|
-
1. Open the native actions menu beside the target session in the sidebar.
|
|
84
|
-
2. Choose the red **Delete session** action.
|
|
85
|
-
3. Check the session name and select **Delete permanently** in the confirmation dialog, or select
|
|
86
|
-
**Cancel** to leave it unchanged.
|
|
87
|
-
|
|
88
|
-
<p align="center">
|
|
89
|
-
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.1.0/docs/assets/confirm-delete.en.png" width="560" alt="English dark-mode permanent deletion confirmation dialog">
|
|
90
|
-
<br><sub>Permanent deletion cannot be undone; the dialog identifies the target session.</sub>
|
|
91
|
-
</p>
|
|
92
|
-
|
|
93
|
-
Once active, the plugin reuses DSH lifecycle and session-storage capabilities. If work is still running,
|
|
94
|
-
it is stopped and allowed to settle before the target session is deleted. The session list then
|
|
95
|
-
updates in place without reloading the whole DSH page.
|
|
96
|
-
|
|
97
|
-
## Safety boundary
|
|
98
|
-
|
|
99
|
-
> [!WARNING]
|
|
100
|
-
> Permanent deletion cannot be undone. Check the session name before confirming and make a separate backup when needed.
|
|
101
|
-
|
|
102
|
-
The plugin is responsible for validating and removing only the explicitly confirmed session's dedicated
|
|
103
|
-
directory within DSH's default per-session JSONL store and host lifecycle boundary. DSH currently exposes
|
|
104
|
-
no public session-deletion API. The second confirmation is mandatory; cancelling sends no deletion request.
|
|
105
|
-
|
|
106
|
-
The following are outside the plugin's deletion scope and are not guaranteed to be removed:
|
|
107
|
-
|
|
108
|
-
- Other sessions, other plugin data, external attachments, caches, indexes, logs, backups, or cloud/sync copies;
|
|
109
|
-
- Non-JSONL storage or hosts without a safe stop capability; these are refused instead of force-deleted;
|
|
110
|
-
- Additional copies created by the operating system, filesystem, host updates, or third-party sync services.
|
|
111
|
-
|
|
112
|
-
If the operating system refuses cleanup, the plugin reports that deletion could not be confirmed rather
|
|
113
|
-
than misreporting partial completion as success. You are responsible for having authority to delete the
|
|
114
|
-
target data and for meeting applicable retention, audit, and privacy requirements. This is an unofficial
|
|
115
|
-
community plugin, not affiliated with or endorsed by DeepSeek. It is provided under the [MIT License](LICENSE),
|
|
116
|
-
without warranty.
|
|
117
|
-
|
|
118
|
-
## Compatibility
|
|
119
|
-
|
|
120
|
-
<!-- dsh-compatibility -->
|
|
121
|
-
Supports DeepSeek Harness: `0.1.0-rc.6`, `0.1.0-rc.7`, `0.1.0-rc.8`, `0.1.1-rc.1`, `0.1.1-rc.2`.
|
|
122
|
-
<!-- /dsh-compatibility -->
|
|
123
|
-
|
|
124
|
-
Archive browsing, restore, and content search use DSH's workspace registry and session-query capabilities.
|
|
125
|
-
Permanent deletion supports DSH's default per-session JSONL storage. Installing replaces the native workspace
|
|
126
|
-
list with the session-management version; uninstalling restores DSH's original list.
|
|
127
|
-
|
|
128
|
-
## Update and uninstall
|
|
129
|
-
|
|
130
|
-
Update by rerunning the quick installer or installing the new npm version. For v1.1.0:
|
|
131
|
-
|
|
132
|
-
```sh
|
|
133
|
-
dsh plugin --profile web add dsh-native-session-delete@1.1.0
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
Uninstall removes only this plugin's bundle layer and never deletes sessions:
|
|
137
|
-
|
|
138
|
-
```sh
|
|
139
|
-
dsh plugin --profile web remove dsh-native-session-delete
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
For DSH-Portable, use the corresponding `.\dsh.exe plugin --profile web add ...` or
|
|
143
|
-
`.\dsh.exe plugin --profile web remove dsh-native-session-delete`. Restart DSH through its normal
|
|
144
|
-
workflow after installing, updating, or uninstalling so the configuration is recomposed.
|
|
145
|
-
|
|
146
|
-
## Support and license
|
|
147
|
-
|
|
148
|
-
Open a [GitHub Issue](https://github.com/WSL043/dsh-native-session-delete/issues) for ordinary problems. Report
|
|
149
|
-
security issues privately as described in [SECURITY.md](SECURITY.md).
|
|
150
|
-
|
|
151
|
-
MIT. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) for the modified upstream client and its license
|
|
152
|
-
notice.
|