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

性能监视器 Weidows/dsh-performance-optimizer

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

实时查看 CPU、内存与 IO 指标,定位卡顿与内存漂移

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · dev
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

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

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

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

写入剪贴板(不计风险)
查看扫描证据(共 1 处,展示前 1 条)
  • 写入剪贴板
    client.js:224
    try { await navigator.clipboard.writeText(text); } catch {}
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DSH 插件包,通过设置页、可选 HUD 和原生智能体工具,提供整机性能指标(CPU / 内存 / IO)。

README

由 DeepSeek 最新模型翻译生成
dsh-performance-optimizer DSH bundle,对外暴露宿主级与每个事件循环的性能指标,让用户(通过设置页标签)和智能体(通过原生工具和 stdio MCP 服务器)能分析滚动卡顿、内存漂移和工具循环。 这个 bundle 刻意保持精简——每秒采样一次 Node 的 process.memoryUsage() / process.cpuUsage(),保留 60 个样本的滚动缓冲区,通过三个界面暴露出来: | 界面 | 使用者 | 机制 | | 设置 → 插件标签 | 用户 | client.js 把 <perf-settings-tab> 挂载到插件详情页;实时表格 + Canvas2D 图表,含 CPU / RSS / Heap / Wall 标签。 | | 浮动 HUD | 用户(可选) | hudVisible: true 时,client.js 把 <perf-hud> 挂载到 document body。 | | 原生工具 | 智能体(会话内) | ctx.tools.register('performance_report') 按需返回一份最新的 JSON 报告。 | 文件 | 文件 | 作用 | | index.js | 宿主端。
展开完整文档(README 剩余 1 节)
dsh-performance-optimizer

DSH bundle,对外暴露宿主级与每个事件循环的性能指标,让用户(通过设置页标签)和智能体(通过原生工具和 stdio MCP 服务器)能分析滚动卡顿、内存漂移和工具循环。

这个 bundle 刻意保持精简——每秒采样一次 Node 的 process.memoryUsage() / process.cpuUsage(),保留 60 个样本的滚动缓冲区,通过三个界面暴露出来:

| 界面 | 使用者 | 机制 |
| 设置 → 插件标签 | 用户 | client.js 把 <perf-settings-tab> 挂载到插件详情页;实时表格 + Canvas2D 图表,含 CPU / RSS / Heap / Wall 标签。 |
| 浮动 HUD | 用户(可选) | hudVisible: true 时,client.js 把 <perf-hud> 挂载到 document body。 |
| 原生工具 | 智能体(会话内) | ctx.tools.register('performance_report') 按需返回一份最新的 JSON 报告。 |

文件

| 文件 | 作用 |
| index.js | 宿主端。负责采样器、performanceOptimizer Cordis 服务和 performance_report 工具。 |
| client.js | Web GUI 端。两个自定义元素(<perf-settings-tab>、<perf-hud>);按 ctx.slot 路由。通过运行时桥回调宿主端。 |
| cordis.patch.yml | 加载器补丁:一处插入——bundle 自身。 |
| locale/en.json | 英文文案。 |
| locale/zh.json | 简体中文文案。 |
| icon.svg | Bundle 图标。 |

安装

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

重启 Web 配置档,打开 <http://127.0.0.1:3080/settings/plugins>。

npx @deepseek-ai/dsh web

卸载:

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

测量哪些指标

| 采样字段 | 来源 | 回答什么问题 |
| t / tHr | Date.now() + process.hrtime.bigint() | 这次采样发生在什么时候(时钟 / 单调时钟,排序时永远不要相信墙上时钟)。 |
| rss | process.memoryUsage().rss | Host 进程是否增长?release / 手动 GC 有没有用? |
| heapUsed | process.memoryUsage().heapUsed | V8 堆压力(RSS 还包含原生内存)。 |
| heapTotal | process.memoryUsage().heapTotal | V8 是否扩大了堆(频繁分配的迹象)。 |
| external | process.memoryUsage().external | 原生缓冲区 / 模块。 |
| cpuMs | process.cpuUsage() | 累计用户态 / 系统态 CPU 时间(ms)。 |
| cpuDeltaMs | 与上一次采样的差值 | 两次 tick 之间消耗的 CPU;与采样器 tick 和事件循环工作相关。 |
| wallDeltaMs| now - lastCpu.takenAt | 采样器定时器漂移 —— 能抓出事件循环饱和导致的定时器卡顿。 |
| uptimeMs | process.uptime() * 1000 | Host 运行时长。 |

历史记录保留最近 historySize 次采样(默认 60)。采样间隔为 sampleIntervalMs(默认 1000 ms)。启用 MCP 后,每次 tick 还会把最新报告写入插件包目录下的 JSON 文件,这样 stdio MCP 服务器读取时无需持有 Host 进程内的引用。

如何与 DSH 通信

Host 侧只使用 inject 中声明的 Cordis 访问器:

- tools —— 注册 performance_report。所有经 DSH 路由的 MCP 工具调用最终都会通过 tools.register 暴露出来,因此无论是否同时挂载 @deepseek-ai/dsh-mcp-client,这都是智能体的标准接口。
- pluginContext —— 组合辅助器;让补丁层挂载额外的读取逻辑。

Client 侧按每个 dsh.client.inject 目标各挂载一次。package.json 中列出了三个:

- @deepseek-ai/dsh-client-ui-settings-plugins —— 注册单插件详情标签页。这是标准的用户界面。
- @deepseek-ai/dsh-client-shell —— 注册 HUD。
- @deepseek-ai/dsh-client-ui-conversation —— 预留给未来的 chip;目前为空操作。
它通过 window.__DSH_HOST__ / window.__DSH__ / window.deepseek.host 查找运行时桥接(三者中哪个存在就用哪个),然后调用 plugin:performance-optimizer.snapshot | .history | .config | .sample | .reset。桥接缺失时,标签页渲染空状态,HUD 显示 —,两者都不会阻塞 UI 的其余部分。

工具接口(原生) json { "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"
}
}
}

智能体接口

这个包对外暴露一个原生工具:

performance_report

它返回上面那份 JSON 结构的报告。所有经 DSH 路由的 MCP 工具调用最终都通过 ctx.tools.register 暴露,所以这就是标准的智能体接口——这个包里没有单独的 MCP 服务器。

如果你还想让外部 MCP 客户端(Claude Code、Codex、inspector)也拉取快照,可以另写一个小的同级 DSH 插件,挂载 MCP 服务器,每次工具调用时读取 ctx.performanceOptimizer.buildReport()。把 MCP 服务器的职责留在本包之外,可以避免绑定到某个特定的 @modelcontextprotocol/sdk 版本。

配置 yaml 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

所有键都是可选的;默认值已内置在包中。

故障 / 卸载

在 Plugins 页面禁用本包时,ctx.effect 的清理逻辑会拆除:

- Host 上的采样定时器,
- performance_report 工具注册,
- HUD 元素,
- <perf-settings-tab> 元素。

Host 进程上不会留下任何副作用。

许可证

MIT —— 见 LICENSE。
预览分享卡片长什么样 ↓Weidows/dsh-performance-optimizer
分享 · DeepSeek Harness Hub
Weidows/dsh-performance-optimizer

实时查看 CPU、内存与 IO 指标,定位卡顿与内存漂移

回到顶部