返回目录

dsh-history

精选清单收录维护状态: 活跃

chenproton/dsh-history

DeepSeek Harness 长对话消息的查看/搜索/跳转工具

前往 GitHub
$ dsh plugin --profile web add dsh-history@latest

14

星标

2

Fork

TypeScript

语言

MIT

许可证

2026-08-17

创建于

2026-09-20

最近推送

MIT 开源的 DSH web 插件,列出、过滤、复制并跳转到当前会话里你发过的每一条消息,包括已被 compaction 覆盖的历史。

DSH 适配

原生运行时

作者声明

安全审计

未审计

最后核验

2026-11-13

许可证

MIT

01它能帮你完成什么?

  • 在超长 DSH 会话里找回并跳转到自己发过的任意一条消息

    一个列出你发过的全部消息的面板——包括尚未加载进窗口的旧页和被 compaction 覆盖的历史——点击即滚动定位并高亮

    会话已经很长、再也滚不回早先那条指令的人

  • 不离开会话就能搜索、改排序、复制消息

    按文本实时过滤、最新在前 / 最早在前一键切换,以及每行一键复制完整文本

    需要复用早先 prompt、重新发送或改写它的使用者

  • 打开消息列表时不用等会话日志重新读一遍

    进入会话即后台预取完整列表,加上 Host 侧缓存,面板秒开

    会话极大、过去重读完整日志容易超时的使用者

02如何接入 DeepSeek Harness?

前置条件

  • 已装好 DSH,`dsh web` 能正常运行

安装步骤

  1. 01

    `dsh plugin --profile web add dsh-history@latest`

    $ dsh plugin --profile web add dsh-history@latest

  2. 02

    `bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh` —— 重启脚本随插件一起安装,无需另外下载

验证接入成功

  • 装完每个会话输入框上方会自动出现「我的消息 (N)」,无需手动操作
  • 看不到时:确认 `~/.dsh/profiles/web/package.json` 的 `dsh.profile.bundles` 里含 `dsh-history`

03DSH 适配与能力边界

DSH 适配原生运行时

DSH web 插件 bundle:Host 半区带缓存地提供完整消息列表,客户端半区在输入框上方加一个「我的消息 (N)」按钮

  • 完整发送历史

    当前会话里你发过的全部消息,包括尚未加载进对话窗口的旧页与被 compaction 覆盖的历史

  • 一键定位

    消息列表中的一行→未加载则先加载更早历史,等页面渲染就绪后平滑滚动、闪烁高亮并关闭面板

    可能触发当前会话更早历史的分页加载
  • 搜索、排序与复制

    消息文本→实时过滤、最新在前 / 最早在前切换,以及把完整消息文本写入剪贴板

    会把复制的消息文本写入系统剪贴板
  • 预取与 Host 侧缓存

    进入会话即后台预取完整列表,打开面板秒开

    进入会话时会在后台读取会话日志
  • restart-dsh-web.sh

    本机的 DSH 部署方式→重启 DSH Web —— systemd 管理的 `dsh-web.service` 走 `systemctl restart`,否则读取运行中 `dsh web` 的原始启动参数原样重启

    会重启你的 DSH Web 进程参数:`-n` 预览命令、`-p PID` 指定进程、`-l 文件` 指定日志

04适合谁?何时不该用?

适合

  • 会话已经很长、再也滚不回早先那条指令的人
  • 需要复用早先 prompt、重新发送或改写它的使用者
  • 会话极大、过去重读完整日志容易超时的使用者

不适合

  • npm、GitHub、plugin-registry 三个通道不能混用:同时启用两个会双挂载——Node 半区挂两次、页面出现两个面板——切换前先移除另一通道的挂载。
  • 插件紧贴 DSH 内部接口:v0.1.25 就是为兼容 DSH 0.1.5 而发(`conversation.input.dock` 改为传 `SessionSnapshot`,Host 侧改读 `session.snapshotEvents()`),所以 DSH 升级后可能要先等插件跟进,否则定位/跳转会失效。

05兼容性、维护与安全提示

  • npm、GitHub、plugin-registry 三个通道不能混用:同时启用两个会双挂载——Node 半区挂两次、页面出现两个面板——切换前先移除另一通道的挂载。
  • Host 侧改动必须重启 DSH Web 才生效,客户端改动需要硬刷新浏览器;按钮不出现时按「是否重启过 → `dsh.profile.bundles` → 插件列表输出」的顺序排查。
  • 自动加载更早历史有 30 页上限以防异常循环,超长历史只渲染最近 200 条并给出提示。
  • 插件紧贴 DSH 内部接口:v0.1.25 就是为兼容 DSH 0.1.5 而发(`conversation.input.dock` 改为传 `SessionSnapshot`,Host 侧改读 `session.snapshotEvents()`),所以 DSH 升级后可能要先等插件跟进,否则定位/跳转会失效。
2026-08-172026-09-20v0.1.25

MIT · 最新版本 v0.1.25(2026-09-11 发布)· 仅 README 证据,未做安全审计

06常见问题

怎么把 dsh-history 装进 DeepSeek Harness?

先 `dsh plugin --profile web add dsh-history@latest`,再 `bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh`——重启脚本随插件一起安装。之后每个会话输入框上方就会出现「我的消息 (N)」,无需其他配置。前置条件只有一条:`dsh web` 能正常运行。

为什么它能列出聊天窗口里已经看不到的消息?

它从 Host 侧读完整会话消息列表,而不是读已渲染的对话:尚未加载进窗口的旧页和被 compaction 覆盖的历史都会列出来。行上有状态标签——可定位(已在当前窗口)、未加载(在更早历史,点击时自动加载)、定位中…(正在加载并等待渲染)。

它会往我的 DSH 安装里写什么、改什么?

它作为普通 bundle 装在 `~/.dsh/profiles/web/` 下,并出现在 `dsh.profile.bundles` 列表里。除此之外只有你运行随包脚本时的一次 DSH Web 重启:systemd 管理的 `dsh-web.service` 走 `systemctl restart`,否则读取运行中 `dsh web` 的原始启动参数原样重启。

装完看不到按钮怎么办?

按顺序排查:确认服务重启过(或 Cmd/Ctrl+Shift+R 硬刷新浏览器);确认 `~/.dsh/profiles/web/package.json` 的 `dsh.profile.bundles` 里含 `dsh-history`;仍不行就把 `dsh plugin --profile web list` 的输出发到 issue。安装时出现的「✕ missing peer」警告可以安全忽略。

npm、GitHub、registry 三个通道能混用吗?

不能。同时启用两个通道会双挂载——Node 半区挂两次、页面出现两个面板——所以切换前要先移除另一通道的挂载。README 里三条通道都写了:npm(`dsh-history@latest`)、GitHub(`github:chenproton/dsh-history#main`,直接使用仓库已提交的构建产物)以及 plugin-registry。

08数据与来源

  • 作者声明github.comecb474edf44c…

    DSH web 插件:在超长会话里**快速查看、搜索并跳转到所有"你发送"的消息**。

  • 作者声明github.comecb474edf44c…

    装完每个会话输入框上方自动出现 **"我的消息 (N)"**,无需手动操作。

  • 作者声明github.comecb474edf44c…

    - **完整历史**:列出当前会话中**全部**你发送的消息,包括尚未加载进对话窗口的旧页、被 compaction 覆盖的历史。

页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-11-13。发现错误?提交更正。

🏆

最佳 DeepSeek Harness 插件

从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。

DSH Plugins 是独立的 DeepSeek Harness 插件目录,与 DeepSeek 官方无关,也不代表官方背书。第三方插件未经安全审计,安装前请审查源码。

每周获取最新的 DeepSeek Harness 插件,绝不滥发。