dsh-autoload-history
DSH plugin: automatically load the full conversation history when a session opens - no more clicking "Load earlier".
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 18, 2026
- Updated
- Aug 18, 2026
Introduction
dsh-autoload-history
打开会话自动加载全部历史消息,免去反复点击「加载更早」。 Automatically load the full conversation history when a session opens — no more clicking “Load earlier”.
DeepSeek Harness(DSH)Web 打开会话时只加载最近 50 条消息,更早的内容要一页页手动点「加载更早」。本插件让打开会话即自动翻页,直到整个会话完整加载——长会话一进来就全部就绪,翻旧消息不再需要任何点击。
When DSH Web opens a session it only loads the latest 50 messages; everything older requires clicking “Load earlier” page by page. This plugin pages through the rest automatically the moment a session opens, until the whole conversation is loaded — no more clicking to reach old messages.
安装 / Install
从 GitHub 源码安装(推荐)/ From source (recommended)
dsh plugin --profile web add github:magicOF2/dsh-autoload-history
首次安装会请求 allowBuilds 构建授权(GitHub 源需要从源码构建),按提示允许后重试一次即可。 / First install asks for the allowBuilds build approval (GitHub sources build from source) — follow the hint and retry once.
从 npm 安装 / From npm
发布后可用: / Once published:
dsh plugin --profile web add dsh-autoload-history
npm 预构建安装会跳过 allowBuilds 步骤。 / Prebuilt npm installs skip the allowBuilds step.
使用 / Usage
零配置。安装后打开任意会话即自动生效: / No configuration. Open any session and it just works:
- 自动逐页加载(每页 50 条)直到整个会话全部就绪; / Pages automatically (50 messages per page) until the entire history is loaded;
- 切换会话自动跟随,互不干扰; / Follows session switches automatically;
- 加载不打断正常聊天(翻页与实时追加互不冲突); / Loading never interrupts an active conversation;
- 全程无 UI 痕迹(隐形挂载在会话底部官方槽位)。 / Fully invisible — mounted in an additive session slot.
工作原理 / How it works
- 挂载到官方会话级槽位
conversation.composer.dock(列表槽、零侵入,渲染null); / Mounts in the official session-scopedconversation.composer.docklist slot (additive, renders nothing); - 通过槽位标准 props 拿到会话快照(
useSession选择器)与sessionId; / Reads the conversation snapshot (useSession) andsessionIdfrom the slot's standard props; - 快照
openState === 'open'且hasMore === true且未在翻页时,调用session.loadOlder()翻一页; / Whenever the snapshot is open withhasMoreand no page in flight, callssession.loadOlder(); - 每翻一页快照更新 → 自动触发下一页,直到
hasMore === false; / Each page updates the snapshot, which cascades the next page, untilhasMore === false; - 防呆:连续 3 页无进展自动放弃(故障时绝不死循环)。 / Guard: gives up after 3 consecutive no-progress pages (never hot-loops on a failing host).
详见 docs/DESIGN.md。 / See docs/DESIGN.md.
兼容性 / Compatibility
- DeepSeek Harness
>= 0.1.0-rc.5(Web profile)/ DeepSeek Harness>= 0.1.0-rc.5(Web profile) - 纯浏览器端插件:无宿主行为、无数据上报、无网络请求 / Pure client plugin: no host behavior, no telemetry, no network requests
- 不修改任何官方文件,卸载即完全还原 / Does not modify any official files; uninstalling restores everything
开发 / Development
npm ci
npm run build # 产出 lib/index.mjs(Node half)+ lib/client.js(浏览器 bundle)
许可证 / License
MIT © magicOF2
相关 / Related
- DeepSeek Harness
- awesome-dsh-plugin — DSH 插件精选列表 / curated DSH plugin list