dsh-history:在超长 DSH 会话中查看、搜索并跳转自己发送的消息

前言

DSH Web 会话有时会很长,对话窗口里未必包含所有历史消息。要在长会话中找出自己之前发送过的某条消息,通常需要在窗口里反复加载、向上翻找。

chenproton/dsh-history 是一个 DSH Web 插件,用于列出当前会话中全部“你发送”的消息,并提供搜索、排序、复制和自动定位。

这是什么

dsh-historychenproton 维护,许可证为 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜