DimitriLIAN/dsh-archive-viewer
List and restore archived sessions from the DeepSeek Harness Web settings
이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.
dsh-archive-viewer
English | 中文
一个 DeepSeek Harness(DSH)插件,在 Web 设置里新增「归档会话」页面:按文件夹分组列出所有被归档的对话,提供一键「恢复」和二次确认的「删除」。恢复会把该会话从全局归档集合中移除,使它无需刷新页面就回到侧边栏;删除会永久移除该会话的存储日志。
不修改任何 DSH 核心代码:host 半部分在 ctx.webServer 上注册两个 REST 接口(/api2/archive/unarchive + /api2/archive/delete),通过 live 的 workspaceRegistry 和 sessionPersistence 服务完成;browser 半部分用标准的 useSessions + useWorkspaces 座位组合列表,并注册一个 settings.section(id archive)。
为什么需要它
DSH 官方的 workspace 接口只暴露了 archiveSession——没有取消归档、也没有删除的 RPC,而且 Web 界面把归档会话从所有分组里隐藏,找不到、恢复不了、也删不掉。这个插件在不碰 DSH 核心的前提下补上了这个缺口。
安装
dsh plugin add --profile web github:DimitriLIAN/dsh-archive-viewer
然后重启 web profile(dsh --profile web)让 bundle 层加载。打开 设置 → 归档会话 即可查看、恢复或删除归档对话。
工作原理
| 层 | 机制 |
|---|---|
| Host 半部分 | ctx.inject(['webServer', 'workspaceRegistry', 'sessionPersistence']) → ctx.webServer.register() 注册 unarchive + delete |
| 恢复 | 通过 setState 把 id 从 archivedSessionIds 移除 → domain.global.set → 广播 host/archived-sessions-changed |
| 删除 | sessionPersistence.locate() → rmSync 删除会话目录,再把 id 从 archivedSessionIds 移除 |
| Browser 半部分 | settings.section 槽位(id archive),列表来自 useWorkspaces(archivedSessionIds) + useSessions(byId) |
构建
pnpm install
pnpm run build
build = host tsc + client tsc(声明文件)+ tsdown(__ModuleLoader__.load client 包)。
已知限制
- 调用了一个运行期可见的方法——官方 workspace RPC 没有取消归档,因此 host 半部分调用
workspaceRegistry.setState(类型中声明为private,运行期存在)来执行archiveSession的逆操作。它完全复刻了archiveSession自身的写入路径。 - 删除不可恢复——删除会从磁盘移除会话日志,没有撤销。
- 删除在重启后彻底生效——归档列表会立即移除该行,但侧边栏的会话列表和 workspace 的
sessionIds槽位要等下一次 DSH 重启(bootstrap 检测到 header 缺失)才清理干净。DSH 存储是 append-only,没有官方的会话删除 RPC。
보안 및 설치 증거
이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.
공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.
저장소가 MIT 라이선스를 선언했습니다.
최근 180일 내 코드 업데이트가 있습니다.
재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.
prepare이(가) 감지되었습니다. 설치 전에 스크립트를 검토하세요.
lifecycle-scripts