前言¶
在 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 条消息。非法设置值会一律回落到默认行为:启用自动加载、不限页数。
工作原理¶
插件主要做三件事:
- 挂载到官方会话级槽位
conversation.composer.dock,不新增可见 UI。 - 调用
session.loadOlder()自动翻页,直到hasMore === false。 - 连续 3 页无进展时自动放弃,避免死循环。
兼容性与注意¶
- 兼容 DeepSeek Harness
>= 0.1.0-rc.5(Web profile)。 package.json声明engines:node >=22.19.0、dsh >=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 仓库: