大会话性能优化 orangeofcarl0-sys/dsh-large-proj-perf
DeepSeek Harnessv1.3.0DSHDeepSeek Harness大会话性能插件。消除…
31.5/100
综合分
2
GitHub 星标
302
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-large-proj-perfnpm 源 · dsh-large-proj-perf 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-large-proj-perf @ 1.3.0
✓Node 引擎要求 >=22.15.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖要求 >=0.1.0-rc.6 <0.3.0-0 · 最新 0.2.1-rc.2 兼容
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/19 22:24:10
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
- 读取本地文件lib/runtime.js:61
return JSON.parse(readFileSync(entry, 'utf8')).version - 读取本地文件lib/runtime.js:66
return JSON.parse(readFileSync(join(root, 'package.json'), 'utf8')).version
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh@deepseek-ai/dsh-session给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 零拷贝fork
- 投影预热
- 分块物化
DSH 大会话性能插件:零拷贝 fork + 投影预热 + 分块物化
最近更新
在 GitHub 查看全部 →v1.1.12026-08-16
· 修复
从 v1.0.0 起,分块 materialize 一直没被真正装上:ctx.get('sessionPersistence') 返回的是 cordis Proxy,String(proxy.encodeMaterialization) 得到的是 [native code](绑定的影子方法),所以源码签名检查总是失败。fork-seed 全量序列化的 OOM 修复其实从未在生产环境跑过,这正是反馈中模型选择、消息发送卡顿的原因。
现在检查改为读取原型方法(真实源码),对 mock 则回退到自有属性。
· 已验证
· 日志确认分块 materialize 已装上(chunk=50000 events/frame)
· 51 个测试全部通过
· dsh 稳定(web 启动 2.9s,空闲内存 1.32GB)
v1.1.02026-08-16
· 做了什么
把大会话内存配置整合进插件:
· preparedCacheSize(默认 1)——运行时裁剪持久化冷会话 LRU(默认 5 棵完整事件树 → 1),淘汰最旧的就绪条目,释放约 2.8GB。无需手动改 cordis.patch.yml。
· heapWarnBytes(默认 6GB)——启动时检测 V8 堆上限,低于阈值就告警,并指向随附的启动器。
· scripts/start-dsh.ps1——推荐的启动器,用 --max-old-space-size=8192 启动 dsh(这是插件在进程内做不到的一件事,因为堆上限是 V8 的启动参数)。
· 为什么
每个活跃的大会话都占一棵约 700MB 的事件树。同时开几个,默认 V8 堆上限(约 4GB)就会 OOM。本次发布处理插件侧的部分(LRU 裁剪),并为进程侧的部分(堆上限)提供启动器和启动告警。
· 安装
dsh plugin --profile web add github:orangeofcarl0-sys/dsh-large-proj-perf
51 项测试全部通过。
v1.0.02026-08-16
· 功能
把 dsh-fork-perf 和 dsh-projection-warmup 合并成一个插件:
· 零拷贝 fork:fork seed 复用深度冻结的事件引用(346ms → 19ms)
· 快速 initFor:去掉持久化里的 structuredClone(seed)(135ms → ~0ms)
· 分块投影预热:74 万事件的会话冷折叠从 20 分钟降到 200ms
· fork 缓存回填:废弃的 fork 保留投影行
· 分块物化:fork seed 序列化拆成 zstd 帧(不再有 500MB 字符串 / RangeError)
· 冷会话回填(可选开启)
· 安装
dsh plugin --profile web add github:orangeofcarl0-sys/dsh-large-proj-perf
取代 dsh-fork-perf 和 dsh-projection-warmup(两者均已归档)。46 个测试全部通过。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-large-proj-perf
DSH(DeepSeek Harness)大会话性能插件。消除 fork、历史会话加载、超大会话落盘对事件循环的阻塞,并治理冷会话内存——面向数十万事件的会话。
所有优化都带源码特征校验 + 协议探测 + 三层回退(能力探测 / try-catch / 配置开关):dsh 内部结构变化时补丁自动跳过并告警,绝不盲补。上游原生实现了某项能力后,对应补丁自动从 active 转为 retired。
能力与效果
| 能力 | 症状 | 效果 | 当前状态 |
| 零拷贝 fork | fork 逐事件 snapshotJsonValue 深拷贝 | 49ms → 5.9ms | 活跃 |
| 分片投影预热 | 打开历史会话时同步冷折叠冻结事件循环 | 74 万事件 20 分钟 → ~200ms | 活跃 |
| fork 缓存回填 | 子会话无投影缓存行,重开走全量读 | 分钟级 → 秒级 | 活跃 |
| 分片 materialize | 落盘单巨字符串:60 万事件 501MB、74 万 RangeError | 多帧 zstd,字节兼容 | 活跃 |
| 冷会话 LRU 裁剪 | 冷会话事件树 ~700MB/个 × 5 叠加 OOM | 省 ~2.8GB | 上游已代偿 |
展开完整文档(README 剩余 1 节)
dsh-large-proj-perf
DSH(DeepSeek Harness)大会话性能插件。消除 fork、历史会话加载、超大会话落盘对事件循环的阻塞,并治理冷会话内存——面向数十万事件的会话。
所有优化都带源码特征校验 + 协议探测 + 三层回退(能力探测 / try-catch / 配置开关):dsh 内部结构变化时补丁自动跳过并告警,绝不盲补。上游原生实现了某项能力后,对应补丁自动从 active 转为 retired。
能力与效果
| 能力 | 症状 | 效果 | 当前状态 |
| 零拷贝 fork | fork 逐事件 snapshotJsonValue 深拷贝 | 49ms → 5.9ms | 活跃 |
| 分片投影预热 | 打开历史会话时同步冷折叠冻结事件循环 | 74 万事件 20 分钟 → ~200ms | 活跃 |
| fork 缓存回填 | 子会话无投影缓存行,重开走全量读 | 分钟级 → 秒级 | 活跃 |
| 分片 materialize | 落盘单巨字符串:60 万事件 501MB、74 万 RangeError | 多帧 zstd,字节兼容 | 活跃 |
| 冷会话 LRU 裁剪 | 冷会话事件树 ~700MB/个 × 5 叠加 OOM | 省 ~2.8GB | 上游已代偿 |
| fast initFor | persistence 的 structuredClone(seed) | 135ms → ~0ms | 已退役 |
| heap 检测 | V8 heap 上限过低无提示 | 启动告警并给出参数建议 | 活跃 |
运行时状态经 stats.get 的 patches 字段暴露:active(已安装生效)、 retired(上游已原生实现)、inactive(环境缺失或特征漂移)、off(配置关闭)。
安装
要求 Node ≥ 22.15.0(node:zlib 的 zstd 接口),dsh 0.1.0-rc.6 ~ 0.2.1-rc.3。
从 GitHub 安装(推荐)
dsh plugin --profile web add github:orangeofcarl0-sys/dsh-large-proj-perf
从 npm 安装
dsh plugin --profile web add dsh-large-proj-perf
本地开发
dsh plugin --profile web add file:<本仓库路径>
重启 dsh web 后,启动日志出现 [dsh-perf] installed (...) 即装载成功。
file: 安装不跟随源码改动。改完代码需把 lib/、cordis.patch.yml、 package.json、icon.svg、locale/ 同步到 <DSH_HOME>/profiles/web/node_modules/dsh-large-proj-perf/,或重新 dsh plugin add。
建议同时调高 V8 heap 上限
多个大会话并存时,每个 live 事件树约 700MB,默认 ~4GB 上限容易 OOM。heap 上限是 启动期参数,进程内改不了。用仓库脚本启动(内置 --max-old-space-size=8192):
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\start-dsh.ps1
插件会在上限低于 6GB 时打告警,但不代为修改。
配置
可经 Settings 卡片、config.set API 或 settings 持久化修改。数值项带下限钳制(如 materializeChunkEvents ≥ 1000、chunkSize ≥ 1),NaN/Infinity 直接拒绝。
| 键 | 默认 | 说明 |
| zeroCopyFork | true | 零拷贝 fork |
| fastInitFor | true | fast initFor(新版 dsh 自动退役) |
| slowForkWarnMs | 100 | fork 耗时告警阈值(ms) |
| warmupEnabled | true | 投影分片预热总开关 |
| minEvents | 20000 | 低于此事件数不预热 |
| chunkSize | 5000 | 每片折叠事件数(片间让出事件循环) |
| chunkYieldMs | 0 | 让出方式:0 = setImmediate,>0 = setTimeout(ms) |
| warmOnCreated | true | session/created(含 resume)即预热 |
| backfillOnBoot | false | 磁盘冷会话补投影缓存行(大文件解码同步,默认关) |
| backfillMaxSessions | 8 | 补行扫描会话数上限 |
| backfillMinBytes / backfillMaxBytes | 1MB / 32MB | 补行文件大小范围 |
| chunkedMaterialize | true | 分片落盘 |
| materializeChunkEvents | 50000 | 每帧事件数(下限 1000) |
| preparedCacheTrim | true | 冷会话 LRU 裁剪总开关 |
| preparedCacheSize | 1 | 裁剪目标容量(官方默认 5) |
| keepRecent | 50 | 内存保留的最近统计记录数 |
| heapWarnBytes | 6GB | heap 上限告警阈值 |
验证是否生效
启动日志会打印探测到的 dsh 版本与各补丁安装结果:
[dsh-perf] dsh version: 0.2.1-rc.3 (verified)
[dsh-perf] zero-copy fork installed (SessionStore.prototype.fork patched, protocol: 0.1.7 forkSeed)
[dsh-perf] chunked materialize installed (chunk=50000 events/frame, protocol: 0.1.3)
出现 signature mismatch 说明 dsh 内部结构已变,对应补丁跳过(功能回退到官方实现,不会出错)。此时升级插件或运行兼容性检查:
node tests/verify_compat.mjs
HTTP API
POST http://127.0.0.1:3080/dsh-large-proj-perf/api/<method>(仅回环 + 同源):
| 端点 | 说明 |
| stats.get | 版本探针、各补丁状态、fork/预热/补行计数与最近记录 |
| stats.reset | 清零计数(保留版本探针与补丁状态) |
| config.get / config.set | 运行时开关,set 同时写 settings 持久化 |
curl -X POST http://127.0.0.1:3080/dsh-large-proj-perf/api/stats.get
curl -X POST http://127.0.0.1:3080/dsh-large-proj-perf/api/config.set \
-H 'Content-Type: application/json' -d '{"key":"backfillOnBoot","value":true}'
已知限制
- 这是被动优化,削减不了正在使用的 live 事件树(每会话几百 MB 是物理成本)。
建议配合 dsh-fresh-start 主动控制会话规模:/fresh 一键「总结 → 开新会话 → 归档老会话」。
- backfillOnBoot 的解码在插件层同步执行(虽按 chunkSize 分片让出),超大文件仍可能短暂冻结事件循环,故默认关闭。
- preparedCacheTrim 在新版 dsh 上自动跳空为 inactive(上游已系统代偿);仅在老版本 dsh 上真正生效。
- 与其他插件不冲突,但若某个行管理类插件禁用了 session-projection-cache,本插件的缓存与预热能力会被削弱。
开发
链接全局 dsh 的嵌套依赖(仓库本身无 node_modules) powershell -ExecutionPolicy Bypass -File .\scripts\link-deps.ps1
全套 8 套件 147 断言
npm test
测试分两层:verify_compat 对真实安装源码做特征断言与门禁实算;e2e_real_components 直接驱动 dsh 的真实实现类(JsonlSessionPersistence / SessionProjectionRegistry / SessionStore),逐点位验证「补丁装上 → 行为正确」。其余套件覆盖逻辑与边界。
更多文档
| 文档 | 内容 |
| docs/ARCHITECTURE.md | 三类同步阻塞的定位、各补丁实现原理、加载侧分工、安全性与回退设计 |
| docs/COMPATIBILITY.md | 版本矩阵、各版本内部形态、dsh 版本门禁规则、插件清单规范 |
| CHANGELOG.md | 版本变更记录 |
| PUBLISHING.md | 发布流程与约定 |
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
orangeofcarl0-sys/dsh-large-proj-perf
DSHDeepSeek Harness大会话性能插件。消除…
相关插件 · 其他
模型破甲清洗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,266已汉化DSH
70.7
这是你的仓库?认领条目