抑制工具变更风暴并缓存结构,消除界面卡顿
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ChenXu233/dsh-perf-patch该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · other
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
给 DeepSeek Harness(dsh-ops / dsh-mcp-connector)的运行时性能补丁,等上游修复落地前先用着
README
由 DeepSeek 最新模型翻译生成dsh-perf-patch
DeepSeek Harness(DSH) 的运行时性能补丁。第三方插件把宿主拖慢到 O(N) 时用得上。node_modules 里一个文件都不改:补丁在加载时包装宿主服务,每个补丁都失败安全——只要有一点不确定,就退回原来的代码路径,不改变行为。
在 DSH Desktop 0.2.1-rc.2(Electron 44 / Node 24 / Windows 11)上构建并实测,环境里装了 dsh-ops 和 dsh-mcp-connector。
修复了什么
1. 智能体挂载引发的 tools/change 风暴
挂载一个智能体会注册约 161 个工具。每次注册都触发 tools/change,每个监听器(discovery reconcile、PTC reconcile、MCP governance)都会重放自己那套 O(tools) 的完整工作。所以一次 agents.create 会发出几百条通知,每个监听器都要重跑几百次。
修复: agents.create / agents.resume 运行期间,抑制 tools.layers.onChange;最外层调用返回时,同步发出一次通知。
抑制加同步刷新是刻意为之。
展开完整文档(README 剩余 1 节)
dsh-perf-patch
DeepSeek Harness(DSH) 的运行时性能补丁。第三方插件把宿主拖慢到 O(N) 时用得上。node_modules 里一个文件都不改:补丁在加载时包装宿主服务,每个补丁都失败安全——只要有一点不确定,就退回原来的代码路径,不改变行为。
在 DSH Desktop 0.2.1-rc.2(Electron 44 / Node 24 / Windows 11)上构建并实测,环境里装了 dsh-ops 和 dsh-mcp-connector。
修复了什么
1. 智能体挂载引发的 tools/change 风暴
挂载一个智能体会注册约 161 个工具。每次注册都触发 tools/change,每个监听器(discovery reconcile、PTC reconcile、MCP governance)都会重放自己那套 O(tools) 的完整工作。所以一次 agents.create 会发出几百条通知,每个监听器都要重跑几百次。
修复: agents.create / agents.resume 运行期间,抑制 tools.layers.onChange;最外层调用返回时,同步发出一次通知。
抑制加同步刷新是刻意为之。用 queueMicrotask 刷新会饿死事件循环(监听器排入的微任务比循环排出的多),实测会冻住 UI;那个版本已移除,不随包发布。
2. tools.schemas() 每次读取都深拷贝
schemas(scope) 克隆每个工具的 JSON Schema;schemaOf(def, true) 克隆单个。两者都只是工具 revision / definition 的纯函数,监听器却在循环里反复调用。
修复: 按工具 revision 缓存 schemas(scope)(WeakMap 以 scope 为键,tools/change 时失效),按 definition + 参数身份缓存 schemaOf(definition, true)。返回的对象在调用方之间共享,请当作只读。
3. dsh-ops 用完整提示词组装回答一个布尔问题
dsh-ops/lib/presentation.js 判断「这个智能体是否走 PTC presentation」时,调用 systemPrompt.assemble({scope, signal}),然后只读一样东西:
assembly.sections.some(s => s.name === 'tools:ptc-only' && s.text.trim() !== '')
assemble() 要渲染约 36 个 section,还要 structuredClone 每个工具 schema(实测约 250–310 ms)。dsh-ops 每个活跃智能体、每次 reconcile 都要做 6 次。
修复: 包装 systemPrompt.assemble。当且仅当这次调用是上述探测之一时,用同样的层拼出最小 assembly 返回:
{ sections: [{ name: 'tools:ptc-only', text }], contexts: [], tools: [] }
探测识别用 dsh-ops 自己的标记(isPresentationProbe,通过模块缓存拿到的 WeakSet);拿不到这个导入时,退回「调用栈里含 dsh-ops/lib/presentation.js」。其他所有调用方——包括 ptc/index.js 和 discovery/index.js 里真正的提示词组装——都原样放行。
section 文本每次调用都重新计算。缓存试过,已回退:控制输入一旦过期,reconcile 就变成永远不收敛的不动点,把宿主冻住。
在 3 个智能体的实例上实测:每次探测 254–312 ms → 0 ms(每轮 reconcile 扫描约 4.9 s),3 个智能体的 PTC 决策逐字节一致。
安装
cd ~/.dsh/profiles/desktop
npm install ChenXu233/dsh-perf-patch
然后在配置档 package.json 的 dsh.profile.bundles 数组里列出 "dsh-perf-patch"。这个包带有 dsh.bundle.patch → cordis.patch.yml,由它插入 loader 条目。只把名字加进 bundles 还不够 —— 没有补丁层,插件永远不会被加载。
从 checkout 安装:把本仓库克隆到 <profile>/node_modules/dsh-perf-patch,同样把名字加进 bundles。
开关
| 变量 | 作用 |
| DSH_PERF_PATCH=0 | 加载时禁用全部三个补丁。 |
| DSH_PERF_PATCH_VERIFY=1 | 探测短路还会计算完整装配并做比对。一旦发现不一致,就记录错误,并在本会话内永久禁用短路。 |
运行时计数器:
globalThis.__dshPerfPatchProbe // { hits, bypass, mismatches, enabled }
hits = 走短路应答的探测次数,bypass = 转到真实 assemble 的调用次数。如果 hits 一直是 0,说明检测没匹配上,插件等于没生效。
预期行为
* 上游修复落地后,本插件会自动失效:schema 缓存按 revision 做键(无论如何都正确),而 dsh-ops 不再匹配时,探测短路会自动退出。
* 批量门控是唯一的行为变化:监听器在每次 mount 时触发一次,而不是每个工具触发一次。这正是目的所在,但如果有插件依赖 mount 期间每一次中间 tools/change,现在只会看到一次。
* 不要修改 schemas() / schemaOf() 返回的对象。
相关上游 issue
* dsh-ops #333 —— discovery reconcile 为每个智能体重算 presentation
* dsh-ops #369 —— 258 个工具时 tools.schemas() 深拷贝,线性变慢
* dsh-mcp-connector #178 —— governance reconcile 开销
如果这个插件引发了问题:设置 DSH_PERF_PATCH=0,确认问题消失,然后带上数据开 issue。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ChenXu233/dsh-perf-patch
抑制工具变更风暴并缓存结构,消除界面卡顿
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目