uwu9039/dsh-unarchive
可恢复已归档的插件 DeepSeek Harness 的归档会话回收站:列出、预览并恢复已归档的会话 昨天手滑归档了个会话,花了几百万才捞出来,所以做了这个。
Project Overview项目介绍
dsh-unarchive is an archived-session recycle bin plugin for DeepSeek Harness (DSH) web profile. It opens a floating panel from a bottom-right button, listing archived sessions grouped by workspace, with inline previews and per-item or batch restore to the original workspace position. Use it to recover accidentally archived sessions. Dependencies are public services; if any is missing, the feature degrades without blocking native archiving (fail-open). It does not delete, purge, or search archive contents, and does not support the headless UI.
dsh-unarchive 是面向 DeepSeek Harness (DSH) web 端的归档会话回收站插件,通过右下角悬浮入口打开浮层面板,按工作区分组列出已归档会话,支持行内预览、单个或批量恢复回原工作区原位置。适用于误归档后查找与还原。依赖缺失时自动降级,fail-open;不提供删除、清空或内容搜索,也不支持 headless UI。
请帮我了解并安装插件:【dsh-unarchive】【https://github.com/uwu9039/dsh-unarchive】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-unarchive
把 uwu9039/dsh-unarchive 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-unarchive
归档会话回收站 · An archived-session recycle bin for DeepSeek Harness (DSH).
查看已归档会话、预览内容、恢复到原工作区;另有一个默认关闭的归档二次确认开关。
List archived sessions, preview their content, and restore them to their original workspace. An optional archive confirmation (off by default) is included.
独立第三方插件,与 DeepSeek 无隶属关系。Independent third-party plugin, not affiliated with DeepSeek.
功能 / Features
| 功能 | 说明 |
|---|---|
| 归档列表 | 右下角悬浮按钮打开浮层面板,按工作区分组、组内按创建时间倒序;空态、总数、中英文界面 |
| 内容预览 | 行内展开会话开头与最近消息:第一条用户消息、最近 1–2 条消息文本、消息/工具统计、最后活动时间;单条 ≤200 字符,只提取 text 块,不展示工具参数与附件 |
| 单个恢复 | 幂等、存在性校验、串行写入;恢复后侧边栏即时回到原工作区原位置(不刷新页面、多标签页同步) |
| 全部恢复 | 列表 ≥2 条时可用,面板内二次确认,逐个恢复,失败项不整体回滚 |
| 归档二次确认 | 默认关闭;开启后从侧边栏右键归档前弹确认框(Esc / 遮罩 / 取消均可取消);包装 workspaces.archiveSession,fail-open |
| 设置 | 面板「设置」页签:confirmOnArchive / showButton / previewEnabled;即时生效,持久化到 ~/.dsh/unarchive/settings.json |
安装 / Install
已发布到 npm,直接安装:
dsh plugin --profile web add dsh-unarchive
也可以本地打包安装:
npm pack
dsh plugin --profile web add dsh-unarchive-0.1.8.tgz
配置 / Configuration
cordis.yml 的 config: 块(Schemastery 校验,默认值见 schema):
plugins:
dsh-unarchive:
config:
confirmOnArchive: false # 归档二次确认(默认关)
showButton: true # 显示右下角入口
previewEnabled: true # 内容预览
兼容性 / Compatibility
- 目标 DSH
0.1.0-rc.6,profileweb。 - 依赖公开服务:
workspaceRegistry(archivedSessionIds为公开 API;恢复走enqueueOperation/requireState/setState/sessionKnown,与原生archiveSession同一串行化队列)、sessionQuery(列表/标题/预览)、webServer(HTTP API)、客户端workspaces/locale/timer。 - 任一依赖缺失即相应功能降级,不阻塞原生归档(fail-open)。
- 卸载后仅残留设置文件
~/.dsh/unarchive/settings.json,其余由插件清理还原。
架构 / Architecture
src/index.js 宿主插件:恢复 / 列表 / 预览 / 标题 / 设置 HTTP API(同源 /dsh-unarchive/api/*)
src/client.js 客户端插件:右下角悬浮按钮 + 浮层面板 + 行内预览 + 设置页签
+ 归档二次确认(包装 workspaces.archiveSession)
数据流:
恢复 → registry.enqueueOperation → requireState → sessionKnown 校验 → setState
→ domain 持久化写 → domain/changed → host-apiproxy watcher
→ host/archived-sessions-changed 推送 → 客户端 store → 侧边栏与面板即时刷新
边界 / Out of scope
不做删除/清空归档、不做归档内容搜索、不做"恢复并打开"、不兼容 headless UI、不展示工具参数与附件。
许可 / License
MIT。
liangmianya/dsh-synapse
alaliqing/claude-paper
omdsh-dev/dsh-annotation
Anionex/dsh-turn-rewind
hanshenmesen/dsh-turn-delete
qkycir-123/dsh-run2skill
Tyan66666/billion-context-dsh
PKUfudawei/dsh-capability-menu