前言¶
在 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 倉庫: