dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Session manager for DeepSeek Harness (dsh-v0.1.2-alpha.5): permanently delete cold sessions and manage archived sessions via the official Profile Bundle / Cordis APIs. MIT.
Session Manager for DeepSeek Harness (DSH).
dsh-sess adds a Session Manager page to the DSH web UI (Settings → Session
Manager) that permanently deletes cold sessions and manages archived sessions
(list / rename / delete). It is an independent plugin package that runs as a
profile bundle — installed into a DSH profile, mounted through the official
Profile Bundle + Cordis mechanisms, and built strictly on the public APIs of
deepseek-ai/deepseek-harness
dsh-v0.1.2-alpha.5. It never modifies harness source code.
English · 简体中文
Native DSH (as of dsh-v0.1.2-alpha.5) lets you rename, fork and archive
sessions from a row menu and rename/delete workspace registrations — but it
offers no permanent session deletion and no way to list or rename
archived sessions again after archiving (archiving is one-way). dsh-sess
covers exactly those two gaps:
| Capability | Where | Notes |
|---|---|---|
| Session list / query / current state | Session Manager "All sessions" tab | Mirrors the sidebar projection (titles, activity time, workspace, running/blank flags). |
| Session identification, names & metadata | Session Manager | Shows durable titles (falling back to the id), workspace membership, archive state, activity time. |
| Permanent session deletion | Session Manager + sidebar row menu | Every session row's ellipsis menu gains Delete session below Archive. Only cold sessions; refuses agent-busy sessions with a clear message. |
| Archived-session management | Session Manager "Archived" tab | List, inline rename (official session/rename path), delete. |
| Session persistence, reads & restart recovery | Host operations | Existence checks go through official ctx.sessionPersistence.list(); artifact removal through official locate(). After a DSH restart every session is cold and deletable. |
| Association of sessions with workspaces | Session Manager | Workspace title shown from the client workspace projection; deletion releases accounting through the official workspaceRegistry detach API. |
| Abnormal-session safe handling | Guardrails | Malformed ids rejected; unknown sessions → session-not-found; live sessions → agent-busy; unsafe artifact paths are refused before any file is touched. |
dsh-v0.1.2-alpha.5 (web profile: @deepseek-ai/dsh-base + @deepseek-ai/dsh-web-app).Install into the profile that runs your web UI with the official plugin command
(pnpm must be on PATH):
dsh plugin --profile web add dsh-sess
dsh plugin forwards the arguments to pnpm inside the profile directory, then
appends the package to dsh.profile.bundles because the package declares
dsh.bundle (see docs/integration.en.md). Restart the
web UI (stop dsh web and start it again) — the Settings page now contains a
Session Manager section.
Installing from a Git checkout of this repository instead of npm? Build first (
npm ci && npm run build), then point the profile at the local folder:dsh plugin --profile web add <absolute-path-to-repo>(relative paths are resolved from your shell's working directory). Thelib/andclient/build artifacts are required at runtime and are not committed.
Session Manager → All sessions
Archived, Cold/blank, Running).agent-busy,
refined as running / retained-with-id) or no longer present
(session-not-found); the currently viewed session is refused before any
request.Session Manager → Archived
These limits come from the official API surface, not from the plugin:
dsh-sess
never writes workspace domain state directly, so archived sessions cannot be
restored. Archived items can be renamed or deleted from the manager.src/index.ts Host plugin entry (cordis plugin)
src/host/ Host operations (official services only)
rpc.ts /dsh-sess RPC channel, endpoint dispatch
delete-session.ts Permanent cold-session deletion
rename-session.ts Archived-session rename (official controller)
artifact.ts Guarded durable-artifact removal
session-id.ts Session-id validation
errors.ts Stable error codes / wire errors
src/client/ Browser half (official client services + slots)
index.tsx Plugin entry; registers Settings section + row menu
session-manager.tsx Manager UI
row-menu.ts Session-row menu injection (below Archive)
fiber-id.ts Defensive session-id resolution (React fiber)
row-delete.tsx Row-menu confirmation host (Modal)
row-store.ts Row delete request store
delete-flow.ts Shared error copy for delete/rename
model.ts Pure row projection (unit-tested)
rpc.ts Client RPC helpers
locales.ts zh/en copy
tests/ Unit tests (host ops + client model/locales)
cordis.patch.yml Profile bundle patch (mounts the plugin row)
简体中文文档见各 .zh.md 文件(README.zh.md 入口)。
MIT © 2026 dsh-sess contributors