DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-session-unarchive

Session Unarchive

dsh 插件:在 Web GUI 中查看已归档的会话,并将其恢复到工作区(纯插件——无需修改文件,可在 dsh 升级后继续使用)。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:dylan121322/dsh-session-unarchive#dbc61a49f5907038838dc3fdc9bff5e7e0bd0447
README兼容性版本

兼容性与来源证明

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

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

版本

0.2.0stable
2026/9/3

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Memsearch Dsh@zilliz/memsearch-dsh适用于 DeepSeek Harness 的 MemSearch 插件:在多个代理之间共享 Markdown 记忆,支持捕获、步骤前上下文注入、记忆召回技能和技能候选审核面板。Reme@agentscope-ai/reme面向 TypeScript 代理的 ReMe 客户端和记忆集成Stratagate Dshstratagate-dsh最近的对话依然鲜活。较早的对话会逐渐淡化为摘要,而不是被遗忘。StrataGate 为 DeepSeek Harness 提供六层、随时间衰减的记忆,同时将持久的事件和关系沉淀为知识图谱。将你在其他 AI 中的记忆带来Meow Memorymeow-memoryDeepSeek Harness 的跨会话项目记忆:七层 SQLite 记忆、首轮快照注入、每条消息的关键词命中、memory_remember/search/project 工具、带 reflection-fold UI 的自动反思,以及由空闲触发的梦境整合

README

dsh-session-unarchive

Adds an archived-sessions view and a restore action to the dsh Web GUI — implemented as a pure Cordis plugin (host half + client half), with zero file patches. It survives dsh upgrades: nothing is written under the dsh install directory.

What it does

  • Adds an Archived button at the bottom of the sidebar (beside Settings), showing the archived-session count.
  • Clicking it opens a popover panel listing every archived session, with a title filter and a per-row Restore action.
  • Restoring a session returns it to its original workspace position; the panel and the built-in sidebar update automatically via dsh's host/archived-sessions-changed event.
  • Works in both zh-CN and en locales.

Install

cd "$DSH_HOME/profiles/web"          # e.g. ~/.dsh/profiles/web
# add the local plugin dependency
#   "dsh-session-unarchive": "file:plugins/session-unarchive"   → package.json dependencies
# register the entry in cordis.patch.yml:
#   - id: session-unarchive
#     name: dsh-session-unarchive
pnpm install
# restart dsh, then refresh the browser

For a dsh plugin add-style install of this exact repo, dsh plugin add github:dylan121322/dsh-session-unarchive works as long as the bundle resolver reaches the profile's node_modules; the local file: form is the most reliable.

Architecture

Two files under the plugin package:

FileRole
index.jsHost half — a Cordis plugin (apply(ctx) + inject: ["webServer","workspaceRegistry"]) that registers two HTTP routes on webServer: POST /api/session-unarchive/restore and GET /api/session-unarchive/list.
client.jsClient half — a prebuilt browser bundle (window.__ModuleLoader__.load({ id, factory })) that registers a sidebar.footer.action slot occupant (replaceRisk: none) for the Archived button + panel.

How unarchive works without patching dsh. Archiving in dsh is one-way: a session id is recorded in ~/.dsh/storages/workspace.json (global.archivedSessionIds) and hidden from every view. The host half calls the workspace registry's runtime methods (enqueueOperation / requireState / setState — the same internal API the built-in archiveSession uses) to remove the id from the archive set and persist it. After setState, dsh's own workspace stream detects the change and broadcasts host/archived-sessions-changed, so the client store and the built-in sidebar refresh with no extra wiring.

Data for the UI. The panel uses the sidebar.footer.action slot's standard props: useWorkspaces((s) => s.archivedSessionIds) for the archived set and useSessions((s) => s) for titles — both already kept live by dsh's client runtime.

Upgrade resilience. Because the plugin only touches runtime service methods (and those are detected at load time), a dsh upgrade that renames or removes enqueueOperation/requireState/setState fails the plugin's capability check and the endpoint returns a clear 500 — it never corrupts dsh or the registry. No file under the dsh install is ever written, so npm update @deepseek-ai/dsh cannot overwrite this plugin.

Compatibility

Tested on @deepseek-ai/dsh@0.1.0-rc.8 (web profile). It does not depend on the patched-package layout of the older rc.6-era file-patch build; the runtime-API approach is version-agnostic as long as the registry exposes the three internal methods above.

Verify

  1. Archive any session: the Archived · n button appears at the sidebar foot.
  2. Click it: the popover lists archived sessions (title filter + per-row Restore).
  3. Click Restore: the session disappears from the panel and reappears in its workspace group; archivedSessionIds in ~/.dsh/storages/workspace.json no longer contains the id.
  4. With several archived sessions the list scrolls inside the panel.

Notes

  • The repository previously shipped as a boot-time patcher (file patches over five dsh packages). That design is superseded by this pure-plugin form; the old patches/, originals/, apply.sh, and cordis.patch.yml were removed.
  • client.js is a prebuilt CJS bundle (dsh's client module system). Rebuild it from source with your own tsdown/esbuild step if you change it; the shipped file is the canonical artifact.