DSH-chat-keeper
DeepSeek Harness(DSH)对话管家:跨工作区总表、正文搜索(中文子串 / 未打开的旧对话也能搜 / 定位到命中那句并读出上下文)、按时间批量归档,以及 DSH 界面没有的磁盘层面删除(回收站式,可恢复)。
一句话定位
DeepSeek Harness(DSH)对话管家:跨工作区总表、正文搜索(中文子串 / 未打开的旧对话也能搜 / 定位到命中那句并读出上下文)、按时间批量归档,以及 DSH 界面没有的磁盘层面删除(回收站式,可恢复)。
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add dsh-conversation-manager@0.1.1
兼容的 DSH 版本
未声明
作者与热度
Sky-lll27 · ★ 13 · 更新于 2026-10-31
关于这个插件
DSH-chat-keeper
> 仓库名:DSH-chat-keeper(原 DSH-conversation-manager,旧地址会自动跳转)。
> 包名:仍是 dsh-conversation-manager —— npm 包名必须全小写,而且已安装的用户是靠包名关联的,
> 改包名会让他们失联,所以仓库名与包名在这里故意不一致。
一个真正接入 DeepSeek Harness(DSH) 插件体系的对话管家。它补齐了 DSH 界面缺失的那部分:
跨工作区盘点、正文搜索、批量处理,以及 DSH 本身没有的 —— 删除对话(回收站式,可恢复)。
其中搜索是最常被问到的:DSH 的正文索引默认是关的(组合包给的是 openAt: never),
打开后中文又只认"整段"。本插件替你打开索引,并额外提供一条读磁盘的通道 ——
中文子串能搜、没打开过的旧对话也能搜、还能定位到命中那句并把前后文读出来。
> 第三方社区插件,与 DeepSeek 官方无关。代码由作者与 AI 助手协作完成,
> 详见文末「关于作者与 AI 协作」一节。
兼容性
| 项 | 值 |
| --- | --- |
| 实测 DSH | 0.2.1-rc.5(@deepseek-ai/dsh-desktop / dsh-desktop-runtime) |
| cordis | 4.0.5(peerDependencies 声明 ^4.0.4) |
| 客户端注入包 | 8 个全部存在:dsh-api-session-controller、dsh-api-workspace-controller、dsh-api-workspace-files、dsh-client-locale、dsh-client-ui-conversation、dsh-client-ui-session、dsh-client-ui-workspace、dsh-client-ui-sidebar-right |
| 宿主半自检 | pnpm run check 通过;pnpm test 89 项全过 |
| 浏览器半自检 | pnpm run check:client 75/75 通过(产物契约 + 平台模块纯度门 + 契约冒烟) |
| 运行时实测 | 在 0.2.1-rc.5 宿主上加载并调用成功(conversation_list 正常返回会话列表) |
DSH 升级后若面板或工具异常,先跑 pnpm test 与 pnpm run check:client 定位:两者都过,
说明本插件的契约没漂移,问题在宿主侧的变化。
它解决什么问题
DSH 自带的侧栏已经能搜索、置顶、改名、分叉、归档 —— 这些本插件刻意都不重复。
它只做四件侧栏给不了(或默认给不了)的事:
| 能力 | 为什么只有它能做 |
| --- | --- |
| 跨工作区单一总表 | 侧栏一次只看一个工作区;"我到底有多少对话、哪些是垃圾"需要一个扁平视角 |
| 批量处理 + 按时间筛选 | 侧栏只能一条条点;这里可勾选任意多行批量归档,或用「7/30/90 天前的」筛出陈旧对话一次处理;再用「筛选会话」三档下拉(全部 / 隐藏已归档 / 仅显示已归档,与侧栏同名功能对齐)收窄总表 |
| 真删除(可恢复) | DSH 只有归档,没有删除。 本插件在磁盘层面删除,并保留回收站与恢复 |
| 正文搜索(可用 + 加强) | DSH 的正文搜索是默认关闭的 opt-in 能力(组合包给的是 openAt: never),此时侧栏只匹配标题与工作区名。本插件的组合包 patch 把它打开,并在面板里补上关键词高亮、工作区列与"复制结果清单" —— 详见下文「搜索对话正文」 |
组成
| 半 | 文件 | 作用 |
| --- | --- | --- |
| 宿主半 | index.js + lib/ | 12 个模型可调用工具、会话索引、conversationManager 服务(纯 JS,无需构建) |
| 浏览器半 | src/client/ → dist/client.js | Web GUI 的「对话管理器」页签 + 会话行菜单项(TypeScript + React) |
安装
方式一:从 GitHub 装(推荐给"我只是想用")
在 DSH 的插件页面里安装本仓库地址:
https://github.com/Sky-lll27/DSH-chat-keeper
或在命令行:
dsh plugin --profile <你的 profile> add https://github.com/Sky-lll27/DSH-chat-keeper
装好后重启 DSH(宿主插件树在启动时装配)。
> 不需要构建:浏览器半的产物(dist/client.js)随仓库一起提供。
> 这一点是刻意的——pnpm 11 会拦住 git 依赖的安装期构建脚本
> (ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED),要么让使用者去批准构建,要么干脆不构建。
> 所以本项目把产物入库,构建只在 prepack(打包发布)与手动 pnpm run bundle 时发生;
> CI 会校验"提交的产物 == 重新构建的产物",防止两边漂移。
方式二:从本地目录装
在插件页面里安装本目录的绝对路径(例如 <本仓库目录>)。
同样是 link:,同样不需要构建(产物已在仓库里)。
本包声明了 dsh.bundle,因此会被当作组合包(而不是普通依赖)追加进
dsh.profile.bundles,插件页随即能看到它的开关与卸载按钮。
方式三:开发期用 --patch 直接挂载
cd /path/to/this/repo && pnpm install && pnpm run bundle
同分类对比
同一分类下 Star 最高的 5 个,便于横向比较。
| 插件 | 作者 | Star | 版本 | 更新 |
|---|---|---|---|---|
| dsh-purge | kingcharleslzy-ai | 6.3K | 1.6.86 | 2026-11-08 |
| dsh-unrestricted | yexi-by | 1.1K | 0.2.8 | 2026-11-05 |
| dsh-univer-office | dream-num | 707 | 0.4.0 | 2026-11-03 |
| dsh-synapse | liangmianya | 697 | 0.5.7 | 2026-11-04 |
| dsh-qqbot | tencent-connect | 570 | 0.5.5 | 2026-11-08 |