dsh-system-monitor:Composer 会话与 macOS 系统指标一体监控

前言

在 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 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜