DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Session Manager — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
S

@dshwp/dsh-session-manager

Session Manager

DeepSeek Harness Web UI 的会话管理器:从设置面板浏览所有会话、归档 / 取消归档(恢复)/ 删除会话,以及预览对话内容。· DSH 会话管理:设置页查看全部与已归档会话,归档 / 恢复 / 删除 / 内容预览。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:wuxiangru915/dsh-session-manager#902bae8ea3e8fdd7fc7be40bc0d04ea8b4571f6f
README兼容性版本
Session manager (settings page)

兼容性与来源证明

Session Manager 以 @dshwp/dsh-session-manager 发布,当前版本为 0.1.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/8/21

版本

0.1.1stable
2026/8/21

相关插件

正在加载相关插件…

最新版
0.1.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/9/7
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 memory-context 分类下经过校验的插件。

Contextdsh-context用于上下文洞察和管理的 DeepSeek Harness 插件,提供上下文仪表板和上下文命令,帮助了解上下文的构成及其演变过程。Weknora@wxg-prc-cpg/dsh-weknora适用于 DeepSeek Harness (dsh) 的 WeKnora 知识检索工具:通过自有知识库进行语义搜索、文档阅读以及 RAG/代理回答。Memsearch Dsh@zilliz/memsearch-dsh适用于 DeepSeek Harness 的 MemSearch 插件:在多个代理之间共享 Markdown 记忆,支持捕获、步骤前上下文注入、记忆召回技能和技能候选审核面板。Memory@furongjun1999/dsh-memory灵枢(Lingshu·líng shū)DeepSeek Harness 插件:完整大脑——长期记忆/知识飞轮/自我认知/递归反思接入 DSH,对话自动沉淀进 md_cg 认知图(md 文档)

README

dsh-session-manager

Session manager for DeepSeek Harness.

中文 · MIT License

dsh-session-manager gives the Harness Web UI a full session-management surface: browse all sessions and the archived ones, restore (unarchive) archived sessions back to their original workspace, archive any session, delete sessions with a two-step confirmation, and preview conversation content — all from the Settings panel, with zero modification to official packages.

What it solves

Stock DSH archives sessions one-way: the sidebar's Archive action hides a session from every view (workspace groups, ungrouped, search, flat list), and there is no view or API to bring it back — archived sessions are effectively lost until you hand-edit ~/.dsh/storages/workspace.json. This plugin makes archiving a reversible, manageable state and adds an overview of every session on disk:

right-click a session -> Archive (stock DSH)
  -> the session vanishes from the sidebar (nowhere to see it again)
  -> this plugin: Settings -> Session manager -> archived tab
       preview its content, Restore it (back to its original workspace
       position), or Delete it from disk (two-step confirmation)
  -> the all-sessions tab lists every persisted session (grouped by
     workspace, ungrouped ones included) so nothing is ever lost sight of

Features

  • Restore archived sessions: an archived session keeps its workspace accounting slot, so unarchiving puts it back exactly where it was — single, batch, or all at once.
  • Delete with two-step confirmation: the Delete button arms first and needs a second click within 5 seconds; sessions whose agent is running are rejected server-side.
  • Delete all: clears every deletable session (archived, ungrouped, and workspace-attached alike) in one confirmed action, skipping sessions that are currently running or open, and reports per-session success / failure / skip.
  • All-sessions overview: every session known to the persistence layer — title, id, creation time, owning workspace (or ungrouped), status badges (archived / live / running) — with archive and delete actions.
  • Content preview: click a session title to expand the first 100 user / assistant / tool messages without opening the conversation.
  • Disk footprint: per-session size and the full on-disk path help you find what is eating space.
  • Zero core modification: a pure bundle plugin (dsh.bundle patch layer); every operation goes through official services (workspaceRegistry, sessionPersistence, sessionQuery, fs, shell, …) — no official package is patched or overridden.
  • Loopback-only API: the /dsh-sm/* routes reject non-loopback hosts and cross-origin requests (Host + Origin / Sec-Fetch-Site fence).

Installation

# one line, from a git source
dsh plugin --profile web add github:omdsh-dev/dsh-session-manager

# restart the web server, then hard-refresh the page

Local development:

dsh plugin --profile web add /path/to/dsh-session-manager

The repository ships plain-JS lib/ artifacts with no build step, so git-source installs work without any build tooling on the user's machine.

Usage

Web UI

Session manager (settings page)

Open Settings → Session manager:

  • Archived tab (default): every archived session with title, id, creation time, cwd, disk size and the full on-disk path; status badges for running and missing files. Buttons: Restore (single / batch / all), Clear archive (delete all archived, two-step), row-level Delete (two-step).
  • All sessions tab: every persisted session grouped by workspace (ungrouped sessions show a —), status badges for archived / live / running. Actions: Archive, Delete, and Delete all (two-step; skips running/open sessions).
  • Click any session title to preview its content inline (user / assistant / tool messages, first 100).

Architecture

lib/
├── index.js   Host half: cordis plugin (injects webServer) exposing POST /dsh-sm/* routes
└── client.js  Browser half: __ModuleLoader__ bundle registering the Settings section
cordis.patch.yml   dsh.bundle patch layer — one insert row drives both halves
browser (Settings page) --POST /dsh-sm/*--> host handlers
   archived/list · archived/unarchive · sessions/list · sessions/archive
   · sessions/delete · sessions/detail
   workspaceRegistry (archive-set read/write) + sessionPersistence (headers/locate)
   + sessionQuery (titles/content) + fs/shell (size/delete) + agents (running guard)

Host routes:

RoutePayloadReturns
POST /dsh-sm/archived/list{}{ items, totalBytes }
POST /dsh-sm/archived/unarchive{ sessionId }{ ok, changed, archivedSessionIds }
POST /dsh-sm/sessions/list{}{ items }
POST /dsh-sm/sessions/archive{ sessionId }{ ok, archivedSessionIds }
POST /dsh-sm/sessions/delete{ sessionId }{ ok, deleted, sessionId, path?, reason? }
POST /dsh-sm/sessions/detail{ sessionId }{ id, createdAt, cwd, totalEvents, messageCount, truncated, messages }

The unarchive path rewrites the durable archive set through workspaceRegistry.setState (with a workspace storage-domain fallback), so the registry's in-memory state and the on-disk global.archivedSessionIds stay consistent; the client refreshes the workspace/session stores afterwards so the sidebar updates immediately.

Testing

node test/smoke.mjs   # 10 host-logic checks against stub services

The smoke test drives apply(ctx) with stub services and covers the route wiring, the loopback/origin fence, archive-set read/write, delete bookkeeping and detail extraction. End-to-end verification was performed against a real profile (a second instance on a separate port plus a browser walkthrough of restore / archive / delete-all).

Roadmap

  • Archived-session list / restore / delete (two-step)
  • All-sessions overview + archive any session
  • Delete all (skips running/open) with per-item results
  • Inline content preview
  • Recycle bin (soft delete with undo window)
  • Sidebar entry in addition to the Settings page
  • npm release