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
P

@local/dsh-performance-optimizer

Performance Optimizer

DSH bundle,通过 Settings 标签页、可选 HUD、进程内 MCP server 和原生 agent tool 提供主机级及每个事件循环的性能指标(CPU / memory / IO / chat DOM)。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:Weidows/dsh-performance-optimizer#ca7c2cbbac6fb96f75fb55d7a7abece1be9da9f8
README兼容性版本

兼容性与来源证明

Performance Optimizer 以 @local/dsh-performance-optimizer 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/20

版本

0.1.0stable
2026/10/20

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
未声明
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/11/2
查看源码 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hubExperimental Inspector Profile@deepseek-ai/dsh-experimental-inspector-profile用于原始 Session 日志和 Chat 节点检查的可选 Web 捆绑包

README

dsh-performance-optimizer

DSH bundle that exposes host-wide and per-event-loop performance metrics so the user (via a Settings tab) and the agent (via a native tool and a stdio MCP server) can reason about scroll lag, memory drift, and tool loops.

The bundle is intentionally minimal — it samples Node process.memoryUsage() / process.cpuUsage() once per second, keeps a 60-sample rolling buffer, and exposes it through three surfaces:

surfaceconsumermechanism
Settings → Plugins tabuserclient.js mounts <perf-settings-tab> into the per-plugin detail page; live table + Canvas2D chart with CPU / RSS / Heap / Wall tabs.
Floating HUDuser (opt-in)client.js mounts <perf-hud> into the document body when hudVisible: true.
Native toolagent (in-session)ctx.tools.register('performance_report') returns a fresh JSON report on demand.

Files

filerole
index.jsHost half. Owns the sampler, the performanceOptimizer Cordis service, and the performance_report tool.
client.jsWeb GUI half. Two custom elements (<perf-settings-tab>, <perf-hud>); routes by ctx.slot. Calls back into the Host via the runtime bridge.
cordis.patch.ymlLoader patch: one insert — the bundle itself.
locale/en.jsonEnglish copy.
locale/zh.json简体/中文 copy.
icon.svgBundle icon.

Install

# from a clone
npx @deepseek-ai/dsh plugin --profile web add /absolute/path/to/dsh-performance-optimizer

# from a tarball
npx @deepseek-ai/dsh plugin --profile web add ./dsh-performance-optimizer-0.1.0.tgz

# from npm (once published)
npx @deepseek-ai/dsh plugin --profile web add @local/dsh-performance-optimizer

Restart the Web profile and open http://127.0.0.1:3080/settings/plugins.

npx @deepseek-ai/dsh web

To remove:

npx @deepseek-ai/dsh plugin --profile web remove @local/dsh-performance-optimizer

What it measures

sample fieldsourcewhat it answers
t / tHrDate.now() + process.hrtime.bigint()When was this sample taken (clock / monotonic, never trust the wall for ordering).
rssprocess.memoryUsage().rssHas the Host process grown? Did release/manual GC help?
heapUsedprocess.memoryUsage().heapUsedV8 heap pressure (RSS includes native).
heapTotalprocess.memoryUsage().heapTotalDid V8 grow the heap (hint of churn).
externalprocess.memoryUsage().externalNative buffers / modules.
cpuMsprocess.cpuUsage()Cumulative user/system CPU time (ms).
cpuDeltaMsdelta against previous sampleCPU burn between two ticks; correlates with sampler tick & loop work.
wallDeltaMsnow - lastCpu.takenAtSampler timer drift — catches stalled timers caused by event-loop saturation.
uptimeMsprocess.uptime() * 1000Host uptime.

History is the last historySize samples (default 60). Sampling interval is sampleIntervalMs (default 1000 ms). When MCP is enabled, the most recent report is also written to a JSON file under the bundle's plugin directory every tick so the stdio MCP server can read it without holding a reference into the Host process.

How it talks to DSH

The Host half uses only Cordis accessors declared in inject:

  • tools — registers performance_report. Every MCP tool call routed through DSH eventually surfaces through tools.register, so this is the canonical agent interface regardless of whether @deepseek-ai/dsh-mcp-client is also mounted.
  • pluginContext — composition helper; lets the patch layer attach additional reads.

The Client half is mounted once per dsh.client.inject target. The package.json lists three:

  • @deepseek-ai/dsh-client-ui-settings-plugins — registers the per-plugin detail tab. This is the canonical user surface.
  • @deepseek-ai/dsh-client-shell — registers the HUD.
  • @deepseek-ai/dsh-client-ui-conversation — reserved for a future chip; currently no-op.

It looks up the runtime bridge via window.__DSH_HOST__ / window.__DSH__ / window.deepseek.host (whichever is present) and calls plugin:performance-optimizer.snapshot | .history | .config | .sample | .reset. If the bridge is missing, the tab renders an empty state and the HUD shows — — neither blocks the rest of the UI.

Tool surface (native)

{
  "name": "performance_report",
  "arguments": {},
  "result": {
    "kind": "json",
    "value": {
      "intervalMs": 1000,
      "sampleCount": 42,
      "latest": { "t": "2026-10-20T11:39:42.000Z", "rss": 314572800, "heapUsed": 134217728, "cpuMs": { "user": 1234.5, "system": 67.8 }, "...": "..." },
      "history": [ /* last 10 samples */ ],
      "generatedAt": "2026-10-20T11:39:42.000Z"
    }
  }
}

Agent surface

The bundle exposes one native tool:

performance_report

It returns the same JSON-shaped report shown above. Every MCP tool call routed through DSH ultimately surfaces through ctx.tools.register, so this is the canonical agent interface — there is no separate MCP server in this bundle.

If you want external MCP clients (Claude Code, Codex, an inspector) to also pull snapshots, write a small sibling DSH plugin that mounts an MCP server and reads ctx.performanceOptimizer.buildReport() for each tool call. Keeping MCP server concerns out of this bundle avoids coupling to a specific @modelcontextprotocol/sdk version.

Config

sampleIntervalMs: 1000  # sampling cadence in milliseconds
historySize: 60         # rolling buffer length
hudVisible: false       # boot-time HUD visibility
settingsTab: true       # mount the Settings → Plugins detail tab

All keys are optional; defaults are baked into the bundle.

Failure / uninstall

When the bundle is disabled in the Plugins page, ctx.effect cleanups tear down:

  • the sampler timer on the Host,
  • the performance_report tool registration,
  • the HUD element,
  • the <perf-settings-tab> element.

No side effects on the Host process remain.

License

MIT — see LICENSE.