前言¶
DSH Web 会话有时会很长,对话窗口里未必包含所有历史消息。要在长会话中找出自己之前发送过的某条消息,通常需要在窗口里反复加载、向上翻找。
chenproton/dsh-history 是一个 DSH Web 插件,用于列出当前会话中全部“你发送”的消息,并提供搜索、排序、复制和自动定位。
这是什么¶
dsh-history 由 chenproton 维护,许可证为 MIT。
它解决的是超长会话中“找自己发过的消息”的问题:不只是查看当前对话窗口已经渲染的消息,也包括尚未加载进对话窗口的旧页和被 compaction 覆盖的历史。
核心功能¶
- 完整历史:列出当前会话中全部自己发送的消息,包括尚未加载进对话窗口的旧页和被 compaction 覆盖的历史。
- 自动定位:点击消息后,如果未加载则自动加载更早历史;如果页面未渲染则自动等待;就绪后平滑滚动并闪烁高亮,同时关闭面板。
- 排序切换:支持最新在前 / 最早在前排序切换。
- 搜索过滤:按消息文本实时搜索过滤。
- 一键复制:每行提供一键复制完整消息文本。
- 快速打开:进入会话后台预取完整消息列表,打开面板秒开;Host 侧带缓存。
- 状态标签:显示可定位、未加载、定位中等状态。
安装与启用¶
推荐安装命令¶
前置依赖:已装好 DSH,dsh web 能正常运行。
dsh plugin --profile web add dsh-history@latest
安装或更新后,需要重启服务或硬刷新浏览器使插件生效:
bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh
restart-dsh-web.sh 支持 -n 预览、-p PID、-l 日志文件。
从 GitHub 直接安装¶
dsh plugin --profile web add github:chenproton/dsh-history#main
安装后同样运行:
bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh
从源码安装¶
适合调试本地改动。先克隆并构建:
git clone https://github.com/chenproton/dsh-history.git
cd dsh-history
pnpm install
pnpm build
然后按插件仓库说明:
1、将 DSH Web profile 中 dsh-history 依赖指向本地克隆目录。
2、追加 cordis.patch.yml 挂载行。
3、在对应 profile 目录执行 pnpm install。
4、运行 restart-dsh-web.sh 使改动生效。
通过 plugin-registry 安装¶
git clone https://github.com/chenproton/dsh-history.git && cd dsh-history
pnpm install && pnpm build
node scripts/package-registry.mjs
dsh registry install ./registry
dsh registry enable dsh-external/dsh-history
bash restart-dsh-web.sh
典型用法¶
1、进入会话后,输入框上方会出现“我的消息 (N)”。
2、点击“我的消息 (N)”展开面板,使用搜索框、排序切换和消息列表。
3、点击状态为可定位、未加载或定位中的消息,由插件自动加载、等待渲染并定位。
4、点击每行右侧复制按钮,一键复制完整消息文本。
适用场景与注意¶
适合在 DSH Web 里维护超长会话、经常需要回溯自己发送过消息的开发者。
插件以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证。
需要额外注意:
package.json要求 Node>=20。- 安装时出现
missing peer警告可安全忽略:DSH 运行时通过自身 module table 提供@deepseek-ai/*与react等依赖。 - 同时启用两个安装通道会双挂载;切换通道前先移除另一通道的挂载。
- 安装或更新插件后,运行
restart-dsh-web.sh或硬刷新浏览器使插件生效。
链接¶
仓库地址:https://github.com/chenproton/dsh-history