dsh-autoload-history:打开会话自动加载全部历史消息

前言

在 DSH Web 中,打开一个已有会话时,通常只能看到最近的内容;更早的消息需要反复点击「加载更早」。对长会话来说,这会打断查看旧上下文的节奏。

dsh-autoload-history 是一个由 magicOF2 维护的 DSH 插件,采用 MIT 许可证。它的作用是在会话打开后自动逐页加载历史消息,直到整个会话全部就绪。下面介绍它的功能、安装方式和可选设置。

插件定位

一句话定位:打开会话自动加载全部历史消息,免去反复点击「加载更早」。

它面向需要查看完整历史会话的 DSH Web 使用者。安装后不需要额外界面操作,插件会在后台完成翻页。

核心功能

自动翻页

打开会话后,插件会按页自动加载历史消息,每页 50 条,直到 hasMore === false。也就是说,长会话在打开后会逐渐完成完整加载,不需要手动继续点击「加载更早」。

会话跟随

切换会话时,插件会自动跟随当前会话继续工作,不同会话之间互不干扰。

不打断正常聊天

自动翻页与实时追加互不冲突,加载历史消息的过程中不会打断正常聊天。

无 UI 痕迹

插件挂载在官方会话级槽位 conversation.composer.dock,全程没有可见 UI 痕迹。

防呆机制

如果连续 3 页没有出现进展,插件会自动放弃翻页,避免死循环。

安装与启用

从 GitHub 源码安装

以下命令用于从 GitHub 源码安装插件:

dsh plugin --profile web add github:magicOF2/dsh-autoload-history

首次从 GitHub 源码安装会请求 allowBuilds 构建授权。按提示允许后,重试一次即可。

从 npm 安装

以下命令用于从 npm 安装预构建包:

dsh plugin --profile web add dsh-autoload-history

npm 预构建安装会跳过 allowBuilds 步骤。

安装完成后,打开任意会话即自动生效,不需要额外配置。

典型用法

临时停用自动加载

如果只想临时停用,而不卸载插件,可以执行:

localStorage.setItem('dsh-autoload-history.disabled', '1')

需要恢复时执行:

localStorage.removeItem('dsh-autoload-history.disabled')

限制单次最大翻页数

如果只想限制单次打开会话时自动翻页的页数,可以执行:

localStorage.setItem('dsh-autoload-history.maxPages', '20')

这里的 20 表示最多翻 20 页,约 1000 条消息。非法设置值会一律回落到默认行为:启用自动加载、不限页数。

工作原理

插件主要做三件事:

  1. 挂载到官方会话级槽位 conversation.composer.dock,不新增可见 UI。
  2. 调用 session.loadOlder() 自动翻页,直到 hasMore === false
  3. 连续 3 页无进展时自动放弃,避免死循环。

兼容性与注意

  • 兼容 DeepSeek Harness >= 0.1.0-rc.5(Web profile)。
  • package.json 声明 enginesnode >=22.19.0dsh >=0.1.0-rc.5
  • peerDependencies 声明 @deepseek-ai/cordis ^4.0.1
  • 纯浏览器端插件:无宿主行为、无数据上报、无网络请求。
  • 不修改官方文件,卸载即完全还原。

插件会在当前 dsh 进程权限下运行。安装前建议先检查 GitHub 源码和 MIT 许可证,确认行为符合你的使用要求。

结尾

dsh-autoload-history 解决的问题比较具体:打开长会话后,不再需要手动反复点击「加载更早」。它适合需要频繁查看完整历史会话的 DSH Web 用户,安装简单,卸载后也能完全还原。

社区目录页:

https://www.skillhub.cn/plugins/magicOF2/dsh-autoload-history

该目录页是独立站点,与 DeepSeek / 幻方无官方从属关系,不等同于官方应用商店。

GitHub 仓库:

https://github.com/magicOF2/dsh-autoload-history

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

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

Xiaoye