DeepSeek Harness 插件

dsh-archive-viewer-dimitril

Archived sessions viewer for DeepSeek Harness: list archived conversations and restore them from the Web settings — no DSH core is modified.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
DimitriLIAN/dsh-archive-viewer
最近更新
2026年8月15日
分类
工具与能力
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/DimitriLIAN/dsh-archive-viewer
插件名:dsh-archive-viewer-dimitril
作者:DimitriLIAN

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-archive-viewer

English | 中文

一个 DeepSeek Harness(DSH)插件,在 Web 设置里新增「归档会话」页面:按文件夹分组列出所有被归档的对话,提供一键「恢复」和二次确认的「删除」。恢复会把该会话从全局归档集合中移除,使它无需刷新页面就回到侧边栏;删除会永久移除该会话的存储日志。

不修改任何 DSH 核心代码:host 半部分在 ctx.webServer 上注册两个 REST 接口(/api2/archive/unarchive + /api2/archive/delete),通过 live 的 workspaceRegistrysessionPersistence 服务完成;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。