dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH Web 插件:把本机 CPU / 内存 / 磁盘 / 网络 / I/O / 温度显示在对话顶栏、输入框底部、侧边栏底部,点开右侧「系统」详情
DeepSeek Harness(DSH)Web UI 插件:把本机硬件状态放进界面里三个原生位置。
轮次 · tok/s、token · 缓存命中、上下文环同一行,追加一个原生风格 pill只用真实数据:CPU 走进程内 os.cpus() 差分,内存/磁盘/网络/IO 走系统命令;macOS 上拿不到温度时按设置策略处理(默认隐藏,绝不填 0)。
截图由离线 harnessscripts/render-test.mjs用假数据(Example Mac/Apple M2 Pro)生成:npm run test-ui;来源登记见docs/screenshots/MANIFEST.md。不要提交真机 / 真实账户截图。
要求 DSH >=0.2.0-rc.2 <0.3.0。
# CLI
dsh plugin --profile web add @ponydev/dsh-system-hud
# 或在 Web「插件」页搜索安装安装后重启宿主(launchctl kickstart -k gui/$(id -u)/local.deepseek-harness.web)并刷新页面。
本地开发:
dsh plugin --profile web add link:/path/to/dsh-system-hud设置 → 系统 HUD 顶部与其他插件一致:
v0.1.2)link: 安装时显示「尚未发布到 npm」)--dsw-* token面板的布局/字号/状态/响应式规范见 docs/PANEL-DESIGN.md,设计规范见 docs/PANEL-DESIGN.md(效果图已移除,恢复时须用假数据重新生成)。
指标 · macOS · Linux · 数据来源 CPU 使用率 / 每核 / 负载 · ✅ · ✅ · 进程内差分,os.loadavg() 内存 已用/总量/交换 · ✅ · ✅ · vm_stat + sysctl / /proc/meminfo 磁盘 已用/总量 · ✅ · ✅ · df -k(APFS 用 used+free 反算) 磁盘 I/O 读写 · ✅ · ✅ · ioreg 累计差分 / /proc/diskstats 网络 ↑↓ · ✅ · ✅ · netstat -ibn 累计差分 / /proc/net/dev 温度 · ❌ 需可选 helper · ✅ · /sys/class/thermal Top 进程 · ✅(ps) · ✅(ps) · 取不到时自动隐藏
采样开销:快层(CPU + 网络)实测约 6ms/轮 ≈ 0.6% 单核;内存/磁盘/IO/温度 5s 一次;Top 进程 30s 一次。页面不可见或无位置启用时停止采样。
temperature.available=false,按设置策略渲染(默认隐藏,绝不填 0);Linux 读 /sys/class/thermal。sidebar.footer.action 是 nowrap 横向单行、宽 256px,被「模型额度」卡片占满,所以展开态用 shell.overlay 浮层卡锚定在 footer 行上方;折叠态才用 footer 图标。ps,宿主侧可用但未在真实宿主内验证;取不到时该块自动隐藏。设置 → 系统 HUD 右上角「检查更新」查询 npm 最新版;本地 link: 安装(尚未发布)会显示「尚未发布到 npm」。 Host 端 update-check 有 10 分钟缓存、8 秒超时,失败只写 error 字段,不影响页面其他部分。
vm_stat / netstat -ibn / df -k / ioreg / sysctl / pmset -g therm / ps),execFile 数组参数、2s 超时、1 MiB 输出上限、SIGKILL 兜底;绝不拼接 shell,绝不接受前端传入的命令/参数。/system-hud/* 全部走 connection.admit 认证围栏,未认证 401。$DSH_HOME/system-hud/config.json(目录 0700 / 文件 0600,tmp+rename 原子写),不存任何凭据。cordis.patch.yml 里的默认配置:
- insert:
- id: system-hud
name: "@ponydev/dsh-system-hud"
config:
fastMs: 1000
slowMs: 5000
topProcMs: 30000
regions: { header: true, dock: true, sidebar: true, rightPane: true, bottomBar: false }运行时偏好持久化在 $DSH_HOME/system-hud/config.json(0600),由设置页写回;Host 是唯一真相源。
lib/index.js Host:/system-hud 路由、认证围栏、配置持久化、update-check
lib/sample.js 分层采样(快/慢/top、单飞、差分、暂停、失败保留旧值)
lib/metrics.js darwin/linux 解析与执行(命令白名单)
lib/client.js ModuleLoader bundle:三个位置、右侧「系统」tab、设置页、i18n
cordis.patch.yml bundle patch(插入 system-hud 行 + 默认配置)
scripts/ smoke / check-i18n / release-notes / render-test / check-privacy / check-shots
docs/ DESIGN.md、CONTRACT.md、PANEL-DESIGN.md、screenshots(MANIFEST 登记来源)npm run check # 语法 + i18n 键一致性 + 插件标识一致性
npm run verify # 单独校验插件 id / 名称(包名、cordis patch、ModuleLoader id、NS、路由)
npm run smoke # 离线解析/差分/配置冒烟(不触网)
npm run test-ui # 离线 UI 预览(有本机 Chrome 时截图到 docs/screenshots/)接口契约见 docs/CONTRACT.md,设计与取舍见 docs/DESIGN.md,项目规范见 AGENTS.md。
MIT