DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-large-proj-perf

Large Proj Perf

DSH 大会话性能插件:零拷贝 fork + 投影分片预热 + fork 缓存回填 + 分片 materialize + 冷会话内存治理 + heap 检测(DeepSeek Harness / DSH)

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-large-proj-perf@1.3.3
README兼容性版本

兼容性与来源证明

Large Proj Perf 以 dsh-large-proj-perf 发布,当前版本为 1.3.3。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/10/23

版本

1.3.3stable
2026/10/23
1.3.2stable
2026/10/17
1.3.0stable
2026/9/29
查看其余 2 个版本收起版本
1.2.0stable
2026/8/28
1.1.1stable
2026/8/21

相关插件

正在加载相关插件…

最新版
1.3.3
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
95.7 kB
文件数
23
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 2
周下载
0
最近提交
2026/10/23
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 memory-context 分类下经过校验的插件。

Experimental Session Search@deepseek-ai/dsh-experimental-session-search为 Agents 提供搜索和读取当前工作区早期会话的工具。Hindsight Coding Agents@vectorize-io/hindsight-coding-agents面向编程代理的仅反思式 Hindsight 长期记忆(可插拔支持多种运行框架:opencode、……),自动在后台导入(无需设置 CLI)。Contextdsh-context用于上下文洞察和管理的 DeepSeek Harness 插件,提供上下文仪表板和上下文命令,帮助了解上下文的构成及其演变过程。Memory Plugin@openviking/dsh-memory-plugin适用于 DeepSeek Harness 的 OpenViking 记忆与上下文套件

README

dsh-large-proj-perf

DSH(DeepSeek Harness)大会话性能插件。消除 fork、历史会话加载、超大会话落盘对 事件循环的阻塞,并治理冷会话内存——面向数十万事件的会话。

所有优化都带源码特征校验 + 协议探测 + 三层回退(能力探测 / try-catch / 配置 开关):dsh 内部结构变化时补丁自动跳过并告警,绝不盲补。上游原生实现了某项能力后, 对应补丁自动从 active 转为 retired。

能力与效果

能力症状效果当前状态
零拷贝 forkfork 逐事件 snapshotJsonValue 深拷贝49ms → 5.9ms活跃
分片投影预热打开历史会话时同步冷折叠冻结事件循环74 万事件 20 分钟 → ~200ms活跃
fork 缓存回填子会话无投影缓存行,重开走全量读分钟级 → 秒级活跃
分片 materialize落盘单巨字符串:60 万事件 501MB、74 万 RangeError多帧 zstd,字节兼容活跃
冷会话 LRU 裁剪冷会话事件树 ~700MB/个 × 5 叠加 OOM省 ~2.8GB上游已代偿
fast initForpersistence 的 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 直接拒绝。

键默认说明
zeroCopyForktrue零拷贝 fork
fastInitFortruefast initFor(新版 dsh 自动退役)
slowForkWarnMs100fork 耗时告警阈值(ms)
warmupEnabledtrue投影分片预热总开关
minEvents20000低于此事件数不预热
chunkSize5000每片折叠事件数(片间让出事件循环)
chunkYieldMs0让出方式:0 = setImmediate,>0 = setTimeout(ms)
warmOnCreatedtruesession/created(含 resume)即预热
backfillOnBootfalse磁盘冷会话补投影缓存行(大文件解码同步,默认关)
backfillMaxSessions8补行扫描会话数上限
backfillMinBytes / backfillMaxBytes1MB / 32MB补行文件大小范围
chunkedMaterializetrue分片落盘
materializeChunkEvents50000每帧事件数(下限 1000)
preparedCacheTrimtrue冷会话 LRU 裁剪总开关
preparedCacheSize1裁剪目标容量(官方默认 5)
keepRecent50内存保留的最近统计记录数
heapWarnBytes6GBheap 上限告警阈值

验证是否生效

启动日志会打印探测到的 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