前言¶
在 DeepSeek Harness(DSH)里跑长对话时,上下文占用、每轮上下行 Token,以及本机 CPU、GPU、内存是否顶满,往往要切到系统工具或猜界面上的内置指示器。内置 usage / activity 能提示有流量或活动,但很难在同一块区域看到「上下文砖块矩阵、按轮 Token、按秒刷新的资源条形图」。
下面介绍维护者 Shiro-umi 的客户端插件 dsh-system-monitor(社区目录:SkillHub 条目)。它在 Composer 底部 dock 占三个 slot,用五个可拖拽的药丸(pill)替换内置用量与活动指示,把 Context、Tokens 和 macOS 上的 CPU、GPU、MEM 收在同一行;点任一药丸打开对应卡片。插件以当前 DSH 进程权限运行,安装前应自行查看源码与 MIT 许可证。
这是什么¶
一句话:面向 DSH Web 配置文件的 Composer dock 监控插件——上下文砖块矩阵、每轮净上传/下载 Token,以及 macOS 上约 200ms 一帧的 CPU、GPU、MEM 条形图。
- 仓库:
Shiro-umi/dsh-system-monitor - 当前 package 版本:
0.1.0(以仓库package.json为准) - 分类:客户端(
dsh.client.platform: web,immediately: true) - 环境要求:DSH
>=0.2.0-rc.1,Node>=20.0.0;原生采样需要 macOS 与 clang(Xcode Command Line Tools)
五个药丸分别看什么¶
| 药丸 | 药丸上的即时读数 | 点开卡片后 |
|---|---|---|
| Context | 5×3 微网格与占用百分比 | 20×5 砖块矩阵;system prompt / tool defs / messages 拆分;cache hit rate |
| Tokens | 每轮净上传与净下载 | 方向箭头、上下行比例、最多 16 步条形图、cache hit rate |
| CPU | user + system 负载,附 36 s 条形图 | 60 s 条形图与峰值线、user/system 明细、Top 5 进程 |
| GPU | 设备利用率,附 36 s 条形图 | 60 s 条形图与峰值线、renderer / tiler 明细、Top 5 进程 |
| MEM | 已用与总量,附 36 s 条形图 | 60 s 条形图与峰值线、wired / compressed / floor 等行、Top 5 进程 |
药丸可拖拽排序,顺序保存在浏览器 localStorage。同一时间只展开一张卡片,点卡片外区域关闭。
采样与降级¶
原生路径由宿主通过 NDJSON 流推送帧;README 记载的采样参数如下。
| 项 | 值 |
|---|---|
| 频率 | 每 200 ms 一帧 |
| CPU | 每核 tick 增量,分 user / system |
| GPU | IOAccelerator PerformanceStatistics |
| 内存 | vm_statistics64,与 top 的 PhysMem 口径一致 |
| 空闲停止 | 最后一个订阅者离开后 5 s 结束 sampler |
| 孤儿保护 | 父进程消失时 sampler 退出 |
首次启动会把 sampler.c 编译为 bin/sampler;若安装目录只读,则改编译到系统临时目录。
| 条件 | 行为 |
|---|---|
| 缺少 clang | 改为约每秒一次的 top / ioreg / sysctl 拼帧,药丸带 LOW 标记 |
| 非 macOS | 关闭原生 sampler,CPU/内存回退到 node:os |
| 进程查询失败 | 卡片显示占位,指标仍继续更新 |
安装与启用¶
官方 README 给出的安装方式如下(--profile web 与仓库一致,勿省略)。
从 GitHub 安装:
dsh plugin --profile web add github:Shiro-umi/dsh-system-monitor
或安装 release 压缩包:
dsh plugin --profile web add https://github.com/Shiro-umi/dsh-system-monitor/releases/latest/download/dsh-system-monitor.tgz
本地开发时链到 checkout(路径换成你的目录):
dsh plugin --profile web add link:/path/to/dsh-system-monitor
完成后重启 DeepSeek Harness。插件通过 cordis.patch.yml 注入客户端依赖(连接、locale、UI slots、会话与聊天 UI 等),无需在本文臆造额外配置项。
典型用法¶
1、按上文命令安装并重启 DSH,打开带 Composer 的 Web 会话界面。
2、在 Composer dock 同一行观察五个药丸:需要看上下文结构时点 Context,需要对齐每轮上下行 Token 时点 Tokens;在 macOS 上 CPU / GPU / MEM 会随 200 ms 采样刷新条形图。
3、拖拽药丸调整顺序,刷新页面后顺序仍应按 localStorage 保留。
4、点药丸打开卡片查看明细(例如 Context 的 20×5 砖块矩阵、Tokens 的步进条、CPU/GPU/MEM 的 60 s 图与 Top 5 进程);再点外部收起。
维护者本地校验可用:
npm run check
npm test
npm test 覆盖 manifest、export map、客户端静态不变量、卡片宽度与图标几何等。
适用场景与注意¶
适合谁: 主要在 macOS 上用 DSH Web 配置文件做智能体或长对话开发、希望 dock 内同时看清上下文切分、Token 方向与本机负载的开发者。
平台: 条形图与 GPU 等能力依赖 macOS 原生采样;Linux 或其他系统仅能依赖文档描述的 node:os 回退,不应期待与 macOS 相同的 GPU/细粒度进程视图。
权限与安全: 插件随 DSH 客户端加载,采样子进程读写系统指标;安装前请在 GitHub 阅读 sampler.c、client.js 与许可证。社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系。
生态: DSH 奉行「一切皆插件」;本插件明确占用 composer dock 的三个 slot 并替换内置 usage/activity,若你依赖默认指示器,安装后界面行为会改变。
结尾¶
dsh-system-monitor 把 Context、Tokens 与(在 macOS 上)CPU、GPU、MEM 收成 Composer dock 上一排可排序的药丸,用 200 ms 级采样和可展开的卡片补足内置指示器缺位的细节。需要安装命令与表格级说明时,以仓库 README 为准。