dsh-native-session-delete 1.0.4 → 1.0.5
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 +137 -137
- package/README.en.md +142 -142
- package/README.md +128 -128
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/compatibility.json +14 -12
- package/cordis.patch.yml +7 -7
- package/lib/client.js +27 -1
- package/package.json +20 -19
- package/scripts/build-client.mjs +170 -170
package/AGENTS.md
CHANGED
|
@@ -1,137 +1,137 @@
|
|
|
1
|
-
# Agent installation guide
|
|
2
|
-
|
|
3
|
-
Use this guide when a user explicitly asks an Agent to install, update, verify,
|
|
4
|
-
or remove `dsh-native-session-delete` in a selected DeepSeek Harness profile.
|
|
5
|
-
|
|
6
|
-
## Safety and responsibility boundary
|
|
7
|
-
|
|
8
|
-
- Confirm the target DSH installation and profile. Use `web` only when it is the user's target.
|
|
9
|
-
- Use the fixed v1.0.
|
|
10
|
-
- Do not print session contents, full profile files, transcript paths, credentials, or other private data.
|
|
11
|
-
- Do not start, stop, or restart DSH without explicit permission.
|
|
12
|
-
- Preserve all sessions, unrelated plugins, and user-owned profile changes.
|
|
13
|
-
- Never delete a session as an installation test unless the user explicitly selects a disposable session
|
|
14
|
-
and confirms the destructive test.
|
|
15
|
-
- Prefer one durable user installation over disposable copies under `LocalAppData\Temp`. If more than one
|
|
16
|
-
durable DSH installation remains, ask which installation is the target before changing it.
|
|
17
|
-
|
|
18
|
-
Permanent deletion is irreversible. The Agent must not claim that this plugin provides secure erasure:
|
|
19
|
-
external attachments, caches, logs, backups, cloud copies, and non-JSONL stores are outside its scope.
|
|
20
|
-
The user is responsible for authority to delete the selected data and for applicable retention or privacy
|
|
21
|
-
requirements. A cancelled confirmation is the safe default and must not send a delete request.
|
|
22
|
-
|
|
23
|
-
## Fixed package and standard bundle
|
|
24
|
-
|
|
25
|
-
The v1.0.
|
|
26
|
-
|
|
27
|
-
```text
|
|
28
|
-
dsh-native-session-delete@1.0.
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
The bundle disables the official workspace row while installed and inserts a uniquely identified native
|
|
32
|
-
workspace row. Removing `dsh-native-session-delete` removes that layer, allowing DSH to restore the official
|
|
33
|
-
workspace row. Do not install the tarball under `@deepseek-ai/dsh-client-ui-workspace`; that old aliasing
|
|
34
|
-
approach is not the v1.0.
|
|
35
|
-
|
|
36
|
-
## Detect the target DSH
|
|
37
|
-
|
|
38
|
-
Use read-only filesystem checks to locate the requested target. On Windows:
|
|
39
|
-
|
|
40
|
-
```powershell
|
|
41
|
-
Get-Command dsh -ErrorAction SilentlyContinue
|
|
42
|
-
Get-ChildItem -LiteralPath . -Filter dsh.exe -File -ErrorAction SilentlyContinue
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
For DSH-Portable, a valid root normally contains `dsh.exe`, `runtime\node\node.exe`, and
|
|
46
|
-
`app\node_modules\@deepseek-ai\dsh\lib\bin.js`. Missing system Node.js or pnpm is normal for
|
|
47
|
-
DSH-Portable; do not install either globally just for this plugin.
|
|
48
|
-
|
|
49
|
-
`dsh plugin ... list` is not strictly read-only. Its first invocation may initialize or migrate a Portable
|
|
50
|
-
profile, rebuild dependency links, or update profile package-manager metadata. It is non-destructive to
|
|
51
|
-
session contents, but an Agent must not describe it as a filesystem read-only check. If attribution matters,
|
|
52
|
-
record the selected profile's relevant metadata before invoking it, without printing secrets.
|
|
53
|
-
|
|
54
|
-
## Install or update
|
|
55
|
-
|
|
56
|
-
With an existing `dsh` command, run exactly:
|
|
57
|
-
|
|
58
|
-
```sh
|
|
59
|
-
dsh plugin --profile web add dsh-native-session-delete@1.0.
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
With DSH-Portable, run from its root:
|
|
63
|
-
|
|
64
|
-
```powershell
|
|
65
|
-
.\dsh.exe plugin --profile web add dsh-native-session-delete@1.0.
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Use the same `add` command to update or repair. On Windows, `install.ps1` from the same fixed Release may
|
|
69
|
-
be used only as a thin locator and launcher. It checks bounded known locations and up to three nested levels
|
|
70
|
-
under common user/temporary roots, then invokes the exact command
|
|
71
|
-
above once. It must not scan disks recursively, download package-manager components, save profile snapshots,
|
|
72
|
-
create a persistent manager command, modify another profile, or restart DSH automatically. The DSH CLI owns
|
|
73
|
-
dependency resolution and bundle composition.
|
|
74
|
-
|
|
75
|
-
After a successful configuration change, ask for permission before restarting DSH. A successful CLI exit
|
|
76
|
-
alone is not runtime acceptance.
|
|
77
|
-
|
|
78
|
-
## Acceptance
|
|
79
|
-
|
|
80
|
-
First verify the selected profile without exposing its contents:
|
|
81
|
-
|
|
82
|
-
```sh
|
|
83
|
-
dsh plugin --profile web list dsh-native-session-delete --depth 0
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Use `.\dsh.exe` in place of `dsh` for DSH-Portable. Static acceptance requires:
|
|
87
|
-
|
|
88
|
-
1. The `dsh-native-session-delete` bundle appears exactly once in the requested profile.
|
|
89
|
-
2. Its direct package spec is the fixed `dsh-native-session-delete@1.0.
|
|
90
|
-
3. The profile contains the bundle patch and no duplicate official workspace row from this plugin.
|
|
91
|
-
4. No unrelated dependency, profile patch, or session data was changed by the operation.
|
|
92
|
-
|
|
93
|
-
With permission to restart DSH, verify the live UI in dark mode:
|
|
94
|
-
|
|
95
|
-
1. The selected session's native actions menu contains **Archive session** and the red **Delete session…** action.
|
|
96
|
-
2. Opening Delete shows the target session name and a second confirmation.
|
|
97
|
-
3. Selecting **Cancel** closes the dialog, sends no delete request, and leaves the session visible.
|
|
98
|
-
4. A destructive check is allowed only with a disposable test session explicitly selected by the user.
|
|
99
|
-
5. After confirming that disposable session, verify it disappears in place without reloading the whole DSH page.
|
|
100
|
-
|
|
101
|
-
For source-checkout UI acceptance, the non-destructive smoke test is:
|
|
102
|
-
|
|
103
|
-
```sh
|
|
104
|
-
pnpm smoke:ui -- --url http://127.0.0.1:14171 --session "Exact session title"
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
The title must identify the intended session. The runner must only open the dialog and cancel it; it must
|
|
108
|
-
not send a deletion request or manage the DSH process.
|
|
109
|
-
|
|
110
|
-
## Uninstall
|
|
111
|
-
|
|
112
|
-
For a standard profile:
|
|
113
|
-
|
|
114
|
-
```sh
|
|
115
|
-
dsh plugin --profile web remove dsh-native-session-delete
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
For DSH-Portable:
|
|
119
|
-
|
|
120
|
-
```powershell
|
|
121
|
-
.\dsh.exe plugin --profile web remove dsh-native-session-delete
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Uninstall removes only this plugin's bundle layer. It must not delete sessions and must not restart DSH
|
|
125
|
-
without permission. After the command, verify that `dsh-native-session-delete` is absent and that the
|
|
126
|
-
official workspace row is available again after the next permitted DSH restart.
|
|
127
|
-
|
|
128
|
-
## Failure handling
|
|
129
|
-
|
|
130
|
-
Distinguish command discovery, network, HTTP/TLS, package-manager, profile-conflict, version, and
|
|
131
|
-
peer-dependency failures. Do not disable TLS validation, delete a profile, replace unrelated packages,
|
|
132
|
-
or claim success from an exit code alone.
|
|
133
|
-
|
|
134
|
-
On failure, report the sanitized command error, DSH version, selected profile, requested plugin version,
|
|
135
|
-
what changed, rollback state, and what remains unverified. Do not attempt an irreversible session deletion
|
|
136
|
-
as a recovery step. If the bundle was added but verification failed, stop and obtain permission before any
|
|
137
|
-
further profile change.
|
|
1
|
+
# Agent installation guide
|
|
2
|
+
|
|
3
|
+
Use this guide when a user explicitly asks an Agent to install, update, verify,
|
|
4
|
+
or remove `dsh-native-session-delete` in a selected DeepSeek Harness profile.
|
|
5
|
+
|
|
6
|
+
## Safety and responsibility boundary
|
|
7
|
+
|
|
8
|
+
- Confirm the target DSH installation and profile. Use `web` only when it is the user's target.
|
|
9
|
+
- Use the fixed v1.0.5 package below; never substitute a moving branch or an unreviewed source.
|
|
10
|
+
- Do not print session contents, full profile files, transcript paths, credentials, or other private data.
|
|
11
|
+
- Do not start, stop, or restart DSH without explicit permission.
|
|
12
|
+
- Preserve all sessions, unrelated plugins, and user-owned profile changes.
|
|
13
|
+
- Never delete a session as an installation test unless the user explicitly selects a disposable session
|
|
14
|
+
and confirms the destructive test.
|
|
15
|
+
- Prefer one durable user installation over disposable copies under `LocalAppData\Temp`. If more than one
|
|
16
|
+
durable DSH installation remains, ask which installation is the target before changing it.
|
|
17
|
+
|
|
18
|
+
Permanent deletion is irreversible. The Agent must not claim that this plugin provides secure erasure:
|
|
19
|
+
external attachments, caches, logs, backups, cloud copies, and non-JSONL stores are outside its scope.
|
|
20
|
+
The user is responsible for authority to delete the selected data and for applicable retention or privacy
|
|
21
|
+
requirements. A cancelled confirmation is the safe default and must not send a delete request.
|
|
22
|
+
|
|
23
|
+
## Fixed package and standard bundle
|
|
24
|
+
|
|
25
|
+
The v1.0.5 package is a standard DSH bundle with a `dsh.bundle` profile patch. Its exact package spec is:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
dsh-native-session-delete@1.0.5
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The bundle disables the official workspace row while installed and inserts a uniquely identified native
|
|
32
|
+
workspace row. Removing `dsh-native-session-delete` removes that layer, allowing DSH to restore the official
|
|
33
|
+
workspace row. Do not install the tarball under `@deepseek-ai/dsh-client-ui-workspace`; that old aliasing
|
|
34
|
+
approach is not the v1.0.5 contract.
|
|
35
|
+
|
|
36
|
+
## Detect the target DSH
|
|
37
|
+
|
|
38
|
+
Use read-only filesystem checks to locate the requested target. On Windows:
|
|
39
|
+
|
|
40
|
+
```powershell
|
|
41
|
+
Get-Command dsh -ErrorAction SilentlyContinue
|
|
42
|
+
Get-ChildItem -LiteralPath . -Filter dsh.exe -File -ErrorAction SilentlyContinue
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
For DSH-Portable, a valid root normally contains `dsh.exe`, `runtime\node\node.exe`, and
|
|
46
|
+
`app\node_modules\@deepseek-ai\dsh\lib\bin.js`. Missing system Node.js or pnpm is normal for
|
|
47
|
+
DSH-Portable; do not install either globally just for this plugin.
|
|
48
|
+
|
|
49
|
+
`dsh plugin ... list` is not strictly read-only. Its first invocation may initialize or migrate a Portable
|
|
50
|
+
profile, rebuild dependency links, or update profile package-manager metadata. It is non-destructive to
|
|
51
|
+
session contents, but an Agent must not describe it as a filesystem read-only check. If attribution matters,
|
|
52
|
+
record the selected profile's relevant metadata before invoking it, without printing secrets.
|
|
53
|
+
|
|
54
|
+
## Install or update
|
|
55
|
+
|
|
56
|
+
With an existing `dsh` command, run exactly:
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
dsh plugin --profile web add dsh-native-session-delete@1.0.5
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
With DSH-Portable, run from its root:
|
|
63
|
+
|
|
64
|
+
```powershell
|
|
65
|
+
.\dsh.exe plugin --profile web add dsh-native-session-delete@1.0.5
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Use the same `add` command to update or repair. On Windows, `install.ps1` from the same fixed Release may
|
|
69
|
+
be used only as a thin locator and launcher. It checks bounded known locations and up to three nested levels
|
|
70
|
+
under common user/temporary roots, then invokes the exact command
|
|
71
|
+
above once. It must not scan disks recursively, download package-manager components, save profile snapshots,
|
|
72
|
+
create a persistent manager command, modify another profile, or restart DSH automatically. The DSH CLI owns
|
|
73
|
+
dependency resolution and bundle composition.
|
|
74
|
+
|
|
75
|
+
After a successful configuration change, ask for permission before restarting DSH. A successful CLI exit
|
|
76
|
+
alone is not runtime acceptance.
|
|
77
|
+
|
|
78
|
+
## Acceptance
|
|
79
|
+
|
|
80
|
+
First verify the selected profile without exposing its contents:
|
|
81
|
+
|
|
82
|
+
```sh
|
|
83
|
+
dsh plugin --profile web list dsh-native-session-delete --depth 0
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Use `.\dsh.exe` in place of `dsh` for DSH-Portable. Static acceptance requires:
|
|
87
|
+
|
|
88
|
+
1. The `dsh-native-session-delete` bundle appears exactly once in the requested profile.
|
|
89
|
+
2. Its direct package spec is the fixed `dsh-native-session-delete@1.0.5` npm version above.
|
|
90
|
+
3. The profile contains the bundle patch and no duplicate official workspace row from this plugin.
|
|
91
|
+
4. No unrelated dependency, profile patch, or session data was changed by the operation.
|
|
92
|
+
|
|
93
|
+
With permission to restart DSH, verify the live UI in dark mode:
|
|
94
|
+
|
|
95
|
+
1. The selected session's native actions menu contains **Archive session** and the red **Delete session…** action.
|
|
96
|
+
2. Opening Delete shows the target session name and a second confirmation.
|
|
97
|
+
3. Selecting **Cancel** closes the dialog, sends no delete request, and leaves the session visible.
|
|
98
|
+
4. A destructive check is allowed only with a disposable test session explicitly selected by the user.
|
|
99
|
+
5. After confirming that disposable session, verify it disappears in place without reloading the whole DSH page.
|
|
100
|
+
|
|
101
|
+
For source-checkout UI acceptance, the non-destructive smoke test is:
|
|
102
|
+
|
|
103
|
+
```sh
|
|
104
|
+
pnpm smoke:ui -- --url http://127.0.0.1:14171 --session "Exact session title"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
The title must identify the intended session. The runner must only open the dialog and cancel it; it must
|
|
108
|
+
not send a deletion request or manage the DSH process.
|
|
109
|
+
|
|
110
|
+
## Uninstall
|
|
111
|
+
|
|
112
|
+
For a standard profile:
|
|
113
|
+
|
|
114
|
+
```sh
|
|
115
|
+
dsh plugin --profile web remove dsh-native-session-delete
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
For DSH-Portable:
|
|
119
|
+
|
|
120
|
+
```powershell
|
|
121
|
+
.\dsh.exe plugin --profile web remove dsh-native-session-delete
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Uninstall removes only this plugin's bundle layer. It must not delete sessions and must not restart DSH
|
|
125
|
+
without permission. After the command, verify that `dsh-native-session-delete` is absent and that the
|
|
126
|
+
official workspace row is available again after the next permitted DSH restart.
|
|
127
|
+
|
|
128
|
+
## Failure handling
|
|
129
|
+
|
|
130
|
+
Distinguish command discovery, network, HTTP/TLS, package-manager, profile-conflict, version, and
|
|
131
|
+
peer-dependency failures. Do not disable TLS validation, delete a profile, replace unrelated packages,
|
|
132
|
+
or claim success from an exit code alone.
|
|
133
|
+
|
|
134
|
+
On failure, report the sanitized command error, DSH version, selected profile, requested plugin version,
|
|
135
|
+
what changed, rollback state, and what remains unverified. Do not attempt an irreversible session deletion
|
|
136
|
+
as a recovery step. If the bundle was added but verification failed, stop and obtain permission before any
|
|
137
|
+
further profile change.
|
package/README.en.md
CHANGED
|
@@ -1,142 +1,142 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
|
|
3
|
-
# DSH Native Session Delete
|
|
4
|
-
|
|
5
|
-
**Bring permanent session deletion to the native DeepSeek Harness menu.**
|
|
6
|
-
|
|
7
|
-
Native dark menu · Second confirmation · Permanent delete · In-place list update
|
|
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.0.
|
|
21
|
-
</p>
|
|
22
|
-
|
|
23
|
-
| Native | Direct | Smooth |
|
|
24
|
-
| --- | --- | --- |
|
|
25
|
-
| The action lives in the native session menu and keeps Archive available | A second confirmation permanently deletes the target; running work is stopped first | The list updates in place without reloading the whole DSH page |
|
|
26
|
-
|
|
27
|
-
## Install
|
|
28
|
-
|
|
29
|
-
### Windows quick install (recommended)
|
|
30
|
-
|
|
31
|
-
Open PowerShell and paste one line:
|
|
32
|
-
|
|
33
|
-
```powershell
|
|
34
|
-
irm 'https://github.com/WSL043/dsh-native-session-delete/releases/download/v1.0.
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
The helper checks the current directory, PATH, `DSH_PORTABLE_ROOT`, Downloads/Desktop/Documents, and up to
|
|
38
|
-
three nested levels below those folders and `LocalAppData\Temp`, then calls the official DSH `plugin add`
|
|
39
|
-
command once. It does not recursively scan disks, install a package manager, snapshot profiles, create a
|
|
40
|
-
resident command, or download the plugin twice. It supports regular DSH and
|
|
41
|
-
[DSH-Portable](https://github.com/WSL043/DSH-Portable). If it finds one durable installation plus disposable
|
|
42
|
-
copies under Temp, it chooses the durable installation automatically. If several durable installations exist,
|
|
43
|
-
the helper displays their real paths and asks for a number; no command editing or placeholder path is needed.
|
|
44
|
-
If it still finds nothing, enter the actual DSH-Portable folder and rerun the same one-line command.
|
|
45
|
-
|
|
46
|
-
### Official CLI (macOS, Linux, or direct review)
|
|
47
|
-
|
|
48
|
-
```sh
|
|
49
|
-
dsh plugin --profile web add dsh-native-session-delete@1.0.
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
The helper and direct command use the same standard bundle mechanism. The helper is only a Windows entry
|
|
53
|
-
point; DSH still owns the installation transaction.
|
|
54
|
-
|
|
55
|
-
When the command finishes, save your work and restart DSH once through its normal workflow so the new
|
|
56
|
-
bundle configuration becomes active.
|
|
57
|
-
|
|
58
|
-
### Agent installation
|
|
59
|
-
|
|
60
|
-
Use the fixed-version [AGENTS.md](https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.0.
|
|
61
|
-
It defines installation, update, acceptance, uninstall, and safety boundaries. Do not use the `main`
|
|
62
|
-
branch document as an installation contract.
|
|
63
|
-
|
|
64
|
-
## Use
|
|
65
|
-
|
|
66
|
-
1. Open the native actions menu beside the target session in the sidebar.
|
|
67
|
-
2. Choose the red **Delete session…** action.
|
|
68
|
-
3. Check the session name and select **Delete permanently** in the confirmation dialog, or select
|
|
69
|
-
**Cancel** to leave it unchanged.
|
|
70
|
-
|
|
71
|
-
<p align="center">
|
|
72
|
-
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.0.
|
|
73
|
-
<br><sub>Permanent deletion cannot be undone; the dialog identifies the target session.</sub>
|
|
74
|
-
</p>
|
|
75
|
-
|
|
76
|
-
Once active, the plugin reuses DSH lifecycle and session-storage capabilities. If work is still running,
|
|
77
|
-
it is stopped and allowed to settle before the target session is deleted. The session list then
|
|
78
|
-
updates in place without reloading the whole DSH page.
|
|
79
|
-
|
|
80
|
-
## Safety boundary
|
|
81
|
-
|
|
82
|
-
> [!WARNING]
|
|
83
|
-
> Permanent deletion cannot be undone. Check the session name before confirming and make a separate backup when needed.
|
|
84
|
-
|
|
85
|
-
The plugin is responsible for validating and removing only the explicitly confirmed session's dedicated
|
|
86
|
-
directory within DSH's default per-session JSONL store and host lifecycle boundary. DSH currently exposes
|
|
87
|
-
no public session-deletion API. The second confirmation is mandatory; cancelling sends no deletion request.
|
|
88
|
-
|
|
89
|
-
The following are outside the plugin's deletion scope and are not guaranteed to be removed:
|
|
90
|
-
|
|
91
|
-
- Other sessions, other plugin data, external attachments, caches, indexes, logs, backups, or cloud/sync copies;
|
|
92
|
-
- Non-JSONL storage or hosts without a safe stop capability; these are refused instead of force-deleted;
|
|
93
|
-
- Additional copies created by the operating system, filesystem, host updates, or third-party sync services.
|
|
94
|
-
|
|
95
|
-
If the operating system refuses cleanup, the plugin reports that deletion could not be confirmed rather
|
|
96
|
-
than misreporting partial completion as success. You are responsible for having authority to delete the
|
|
97
|
-
target data and for meeting applicable retention, audit, and privacy requirements. This is an unofficial
|
|
98
|
-
community plugin, not affiliated with or endorsed by DeepSeek. It is provided under the [MIT License](LICENSE),
|
|
99
|
-
without warranty.
|
|
100
|
-
|
|
101
|
-
## Compatibility
|
|
102
|
-
|
|
103
|
-
<!-- dsh-compatibility -->
|
|
104
|
-
Automatically accepted: `0.1.0-rc.6`, `0.1.0-rc.7`, `0.1.0-rc.8`. A new version is added only after isolated install, build, test, and official Web UI smoke acceptance all pass.
|
|
105
|
-
<!-- /dsh-compatibility -->
|
|
106
|
-
|
|
107
|
-
The plugin targets DSH's default per-session JSONL storage. It uses a standard `dsh.bundle` profile layer
|
|
108
|
-
that replaces the official workspace row with the uniquely identified native client
|
|
109
|
-
`dsh-native-session-delete`; uninstalling restores the official workspace row.
|
|
110
|
-
|
|
111
|
-
GitHub Actions reads the full DSH registry version sequence every six hours and cross-checks it against an
|
|
112
|
-
official immutable Release. For the oldest uncovered release, it installs official DSH and the candidate plugin in an isolated profile, then checks
|
|
113
|
-
the build, unit suite, native menu, red delete action, second confirmation, cancel-without-request, and
|
|
114
|
-
no-full-page-reload behavior. Only a complete pass extends the compatibility range and publishes a new
|
|
115
|
-
immutable patch release. Any failure stops publication and leaves the existing compatibility claim intact.
|
|
116
|
-
Structural upstream changes still require a code fix; automation never guesses at deletion behavior.
|
|
117
|
-
|
|
118
|
-
## Update and uninstall
|
|
119
|
-
|
|
120
|
-
Update by rerunning the quick installer or installing the new npm version. For v1.0.
|
|
121
|
-
|
|
122
|
-
```sh
|
|
123
|
-
dsh plugin --profile web add dsh-native-session-delete@1.0.
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
Uninstall removes only this plugin's bundle layer and never deletes sessions:
|
|
127
|
-
|
|
128
|
-
```sh
|
|
129
|
-
dsh plugin --profile web remove dsh-native-session-delete
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
For DSH-Portable, use the corresponding `.\dsh.exe plugin --profile web add ...` or
|
|
133
|
-
`.\dsh.exe plugin --profile web remove dsh-native-session-delete`. Restart DSH through its normal
|
|
134
|
-
workflow after installing, updating, or uninstalling so the configuration is recomposed.
|
|
135
|
-
|
|
136
|
-
## Support and license
|
|
137
|
-
|
|
138
|
-
Open a [GitHub Issue](https://github.com/WSL043/dsh-native-session-delete/issues) for ordinary problems. Report
|
|
139
|
-
security issues privately as described in [SECURITY.md](SECURITY.md).
|
|
140
|
-
|
|
141
|
-
MIT. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) for the modified upstream client and its license
|
|
142
|
-
notice.
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# DSH Native Session Delete
|
|
4
|
+
|
|
5
|
+
**Bring permanent session deletion to the native DeepSeek Harness menu.**
|
|
6
|
+
|
|
7
|
+
Native dark menu · Second confirmation · Permanent delete · In-place list update
|
|
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.0.5/docs/assets/hero.en.png" alt="Red Delete session action in the native DeepSeek Harness dark-mode session menu">
|
|
21
|
+
</p>
|
|
22
|
+
|
|
23
|
+
| Native | Direct | Smooth |
|
|
24
|
+
| --- | --- | --- |
|
|
25
|
+
| The action lives in the native session menu and keeps Archive available | A second confirmation permanently deletes the target; running work is stopped first | The list updates in place without reloading the whole DSH page |
|
|
26
|
+
|
|
27
|
+
## Install
|
|
28
|
+
|
|
29
|
+
### Windows quick install (recommended)
|
|
30
|
+
|
|
31
|
+
Open PowerShell and paste one line:
|
|
32
|
+
|
|
33
|
+
```powershell
|
|
34
|
+
irm 'https://github.com/WSL043/dsh-native-session-delete/releases/download/v1.0.5/install.ps1' | iex
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The helper checks the current directory, PATH, `DSH_PORTABLE_ROOT`, Downloads/Desktop/Documents, and up to
|
|
38
|
+
three nested levels below those folders and `LocalAppData\Temp`, then calls the official DSH `plugin add`
|
|
39
|
+
command once. It does not recursively scan disks, install a package manager, snapshot profiles, create a
|
|
40
|
+
resident command, or download the plugin twice. It supports regular DSH and
|
|
41
|
+
[DSH-Portable](https://github.com/WSL043/DSH-Portable). If it finds one durable installation plus disposable
|
|
42
|
+
copies under Temp, it chooses the durable installation automatically. If several durable installations exist,
|
|
43
|
+
the helper displays their real paths and asks for a number; no command editing or placeholder path is needed.
|
|
44
|
+
If it still finds nothing, enter the actual DSH-Portable folder and rerun the same one-line command.
|
|
45
|
+
|
|
46
|
+
### Official CLI (macOS, Linux, or direct review)
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
dsh plugin --profile web add dsh-native-session-delete@1.0.5
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The helper and direct command use the same standard bundle mechanism. The helper is only a Windows entry
|
|
53
|
+
point; DSH still owns the installation transaction.
|
|
54
|
+
|
|
55
|
+
When the command finishes, save your work and restart DSH once through its normal workflow so the new
|
|
56
|
+
bundle configuration becomes active.
|
|
57
|
+
|
|
58
|
+
### Agent installation
|
|
59
|
+
|
|
60
|
+
Use the fixed-version [AGENTS.md](https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.0.5/AGENTS.md).
|
|
61
|
+
It defines installation, update, acceptance, uninstall, and safety boundaries. Do not use the `main`
|
|
62
|
+
branch document as an installation contract.
|
|
63
|
+
|
|
64
|
+
## Use
|
|
65
|
+
|
|
66
|
+
1. Open the native actions menu beside the target session in the sidebar.
|
|
67
|
+
2. Choose the red **Delete session…** action.
|
|
68
|
+
3. Check the session name and select **Delete permanently** in the confirmation dialog, or select
|
|
69
|
+
**Cancel** to leave it unchanged.
|
|
70
|
+
|
|
71
|
+
<p align="center">
|
|
72
|
+
<img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.0.5/docs/assets/confirm-delete.en.png" width="560" alt="English dark-mode permanent deletion confirmation dialog">
|
|
73
|
+
<br><sub>Permanent deletion cannot be undone; the dialog identifies the target session.</sub>
|
|
74
|
+
</p>
|
|
75
|
+
|
|
76
|
+
Once active, the plugin reuses DSH lifecycle and session-storage capabilities. If work is still running,
|
|
77
|
+
it is stopped and allowed to settle before the target session is deleted. The session list then
|
|
78
|
+
updates in place without reloading the whole DSH page.
|
|
79
|
+
|
|
80
|
+
## Safety boundary
|
|
81
|
+
|
|
82
|
+
> [!WARNING]
|
|
83
|
+
> Permanent deletion cannot be undone. Check the session name before confirming and make a separate backup when needed.
|
|
84
|
+
|
|
85
|
+
The plugin is responsible for validating and removing only the explicitly confirmed session's dedicated
|
|
86
|
+
directory within DSH's default per-session JSONL store and host lifecycle boundary. DSH currently exposes
|
|
87
|
+
no public session-deletion API. The second confirmation is mandatory; cancelling sends no deletion request.
|
|
88
|
+
|
|
89
|
+
The following are outside the plugin's deletion scope and are not guaranteed to be removed:
|
|
90
|
+
|
|
91
|
+
- Other sessions, other plugin data, external attachments, caches, indexes, logs, backups, or cloud/sync copies;
|
|
92
|
+
- Non-JSONL storage or hosts without a safe stop capability; these are refused instead of force-deleted;
|
|
93
|
+
- Additional copies created by the operating system, filesystem, host updates, or third-party sync services.
|
|
94
|
+
|
|
95
|
+
If the operating system refuses cleanup, the plugin reports that deletion could not be confirmed rather
|
|
96
|
+
than misreporting partial completion as success. You are responsible for having authority to delete the
|
|
97
|
+
target data and for meeting applicable retention, audit, and privacy requirements. This is an unofficial
|
|
98
|
+
community plugin, not affiliated with or endorsed by DeepSeek. It is provided under the [MIT License](LICENSE),
|
|
99
|
+
without warranty.
|
|
100
|
+
|
|
101
|
+
## Compatibility
|
|
102
|
+
|
|
103
|
+
<!-- dsh-compatibility -->
|
|
104
|
+
Automatically accepted: `0.1.0-rc.6`, `0.1.0-rc.7`, `0.1.0-rc.8`, `0.1.1-rc.1`. A new version is added only after isolated install, build, test, and official Web UI smoke acceptance all pass.
|
|
105
|
+
<!-- /dsh-compatibility -->
|
|
106
|
+
|
|
107
|
+
The plugin targets DSH's default per-session JSONL storage. It uses a standard `dsh.bundle` profile layer
|
|
108
|
+
that replaces the official workspace row with the uniquely identified native client
|
|
109
|
+
`dsh-native-session-delete`; uninstalling restores the official workspace row.
|
|
110
|
+
|
|
111
|
+
GitHub Actions reads the full DSH registry version sequence every six hours and cross-checks it against an
|
|
112
|
+
official immutable Release. For the oldest uncovered release, it installs official DSH and the candidate plugin in an isolated profile, then checks
|
|
113
|
+
the build, unit suite, native menu, red delete action, second confirmation, cancel-without-request, and
|
|
114
|
+
no-full-page-reload behavior. Only a complete pass extends the compatibility range and publishes a new
|
|
115
|
+
immutable patch release. Any failure stops publication and leaves the existing compatibility claim intact.
|
|
116
|
+
Structural upstream changes still require a code fix; automation never guesses at deletion behavior.
|
|
117
|
+
|
|
118
|
+
## Update and uninstall
|
|
119
|
+
|
|
120
|
+
Update by rerunning the quick installer or installing the new npm version. For v1.0.5:
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
dsh plugin --profile web add dsh-native-session-delete@1.0.5
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Uninstall removes only this plugin's bundle layer and never deletes sessions:
|
|
127
|
+
|
|
128
|
+
```sh
|
|
129
|
+
dsh plugin --profile web remove dsh-native-session-delete
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
For DSH-Portable, use the corresponding `.\dsh.exe plugin --profile web add ...` or
|
|
133
|
+
`.\dsh.exe plugin --profile web remove dsh-native-session-delete`. Restart DSH through its normal
|
|
134
|
+
workflow after installing, updating, or uninstalling so the configuration is recomposed.
|
|
135
|
+
|
|
136
|
+
## Support and license
|
|
137
|
+
|
|
138
|
+
Open a [GitHub Issue](https://github.com/WSL043/dsh-native-session-delete/issues) for ordinary problems. Report
|
|
139
|
+
security issues privately as described in [SECURITY.md](SECURITY.md).
|
|
140
|
+
|
|
141
|
+
MIT. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) for the modified upstream client and its license
|
|
142
|
+
notice.
|