🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话秒切 guofug/dsh-fastswitch

DeepSeek Harness
guofug12 天前有提交已提供中文文档扫描:未发现敏感能力

缩小首屏窗口并合并重复请求,加快会话切换

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add guofug/dsh-fastswitch
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/10/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 12 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 会话切换更快:缩小首屏绘制窗口,客户端请求去重。

README

由 DeepSeek 最新模型翻译生成
dsh-fastswitch 让 DeepSeek Harness 的会话切换变快,只做两件事,都可单独关闭。 English: README.md 它解决什么 切换会话时,DSH 会重新向 Host 要一份「首屏历史」。这段历史有一个写死的窗口——至少 50 条消息——在长对话里这一帧能达到 2 MB,而这正是切换时那几秒的等待来源。 同时,页面初次构建时,几个组件会各自去拉同一批只读目录接口:session/modelCatalog 6 次、credentials/describe 7 次、agentPresets/list 6 次、cotTranslation/limits 3 次。它们没有去重,也没有缓存。 dsh-fastswitch 在浏览器里对这两件事各做一处改动: 1. 首屏窗口可配置 —— 把外发的 session/follow 请求里的 turnWindow.minMessages 从 50 改小(默认 20)。Host 只校验 0 < minMessages <= maxMessages,所以这是协议允许的请求,不是打补丁。凡是要「加载更早」的分页请求(200 条)一律不动。 2. 只读 RPC 去重 + 缓存 —— 包装 window.fetch,对只读目录接口做 5 分钟结果缓存,并发调用合并为一次实际请求。
展开完整文档(README 剩余 1 节)
dsh-fastswitch

让 DeepSeek Harness 的会话切换变快,只做两件事,都可单独关闭。

English: README.md

它解决什么

切换会话时,DSH 会重新向 Host 要一份「首屏历史」。这段历史有一个写死的窗口——至少 50 条消息——在长对话里这一帧能达到 2 MB,而这正是切换时那几秒的等待来源。

同时,页面初次构建时,几个组件会各自去拉同一批只读目录接口:session/modelCatalog 6 次、credentials/describe 7 次、agentPresets/list 6 次、cotTranslation/limits 3 次。它们没有去重,也没有缓存。

dsh-fastswitch 在浏览器里对这两件事各做一处改动:

1. 首屏窗口可配置 —— 把外发的 session/follow 请求里的 turnWindow.minMessages 从 50 改小(默认 20)。Host 只校验 0 < minMessages <= maxMessages,所以这是协议允许的请求,不是打补丁。凡是要「加载更早」的分页请求(200 条)一律不动。
2. 只读 RPC 去重 + 缓存 —— 包装 window.fetch,对只读目录接口做 5 分钟结果缓存,并发调用合并为一次实际请求。

实测

同一台机器、同一个页面、同一段会话:

| 指标 | 默认 | 装上之后 |
| 首屏快照(一次长会话) | 2,040,432 B | 1,054,070 B |
| session/modelCatalog | 6 次 | 1 次 |
| credentials/describe | 7 次 | 1 次 |
| agentPresets/list | 6 次 | 1 次 |
| 首屏请求总数 | 52 | 33 |

数字来自一次真实测量,取决于会话长度与浏览器缓存状态,不是常量。

安装

在插件市场里搜索 fastswitch,或直接:

dsh plugin --profile web add github:guofug/dsh-fastswitch

装完重启或等 HMR 重载一次生效。

配置

全部通过 localStorage,无需改配置文件:

| 键 | 默认 | 说明 |
| dsh-fastswitch | — | 设为 off 关闭全部功能 |
| dsh-fastswitch-window | 20 | 首屏窗口条数;0 表示不改写 |
| dsh-fastswitch-ttl | 300000 | 结果缓存时长(毫秒);0 表示不缓存 |
| dsh-fastswitch-merge | 800 | 并发合并窗口(毫秒) |

例:

localStorage.setItem('dsh-fastswitch-window', '10') // 更激进
localStorage.setItem('dsh-fastswitch', 'off') // 临时全关

怎么确认它在工作

window.__dshFastswitch
// { installed: true,
// ws: { rewritten: 3, untouched: 40 },
// fetch: { calls: 51, hits: 10, dedup: 8, bypass: 33 } }

- ws.rewritten 每切换一次会话应 +1;
- fetch.hits + fetch.dedup 就是省掉的请求数。

边界

- 只影响浏览器。终端、SDK、ACP、其他客户端不受影响。
- 不改 DeepSeek Harness 的任何文件,也不改 Host。窗口是通过改写外发请求实现的,缓存是浏览器侧的 fetch 包装;卸载插件即恢复原行为。
- 不含「会话停泊缓存」(把已打开的会话留在内存里以便瞬间切回)。那需要改动 Session 生命周期内部实现,跨版本容易碎,本项目有意不做。
- 缓存只覆盖只读目录接口。任何写操作、流式响应、鉴权接口都不在缓存范围内。

兼容性

- 面向 dsh ^0.2.1-rc.2(见 engines.dsh)。
- 两处包装都做了幂等保护,HMR 重载不会重复叠加。
- 任何一处包装失败都不会破坏页面:失败即跳过,功能降级为原生行为。

许可

MIT
预览分享卡片长什么样 ↓guofug/dsh-fastswitch
分享 · DeepSeek Harness Hub
guofug/dsh-fastswitch

缩小首屏窗口并合并重复请求,加快会话切换

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部