← Back to home@JularDepick

dsh-system-monitor-plugin

A plugin for dsh: monitor the resource utilization of dsh system processes and report the results to the user in the form of charts.

Stars
0
Language
TypeScript
Created
Aug 23, 2026
Updated
Oct 6, 2026
GitHub repo

Introduction

dsh-system-monitor-plugin

Version Copyright License

English | [简体中文]

面向 dsh 的插件: 监控 dsh 系统进程的资源占用,并以图表形式向用户报告结果


特性

  • 自动采集: dsh 进程及其派生子进程的 CPU 占用率与内存占用(按量级自适应 KB/MB/GB;百分比三档: 确切 0 显示 0%,小于 0.01% 显示 <0.01%,其余两位小数)
  • 容器配额口径: 百分比分母取运行环境自身的 CPU 与内存配额(读不到配额时回退可见总量),故容器内读数不按宿主机总量摊薄
  • 会话归属: 进程按终端映射,显式汇报与会话环境变量归属到会话,面板按 本会话 / 全部进程 / 会话 / 子代理 四个维度分别展示
  • 独立配色: 面板使用自带的蓝白色调(含浅色与深色两套);占比条与表格配色块按语义分配,主进程与宿主,子代理合计,其他应用与空闲各有固定语义色
  • 泳道预备颜色池: 普通进程与会话按顺序取池内颜色,颜色池可在插件配置与面板设置子页中增删改(默认 16 色);成员数超过池容量时按取色方案处理,循环复用(默认)或自动取相邻两色的中间色插入颜色池并保存进配置
  • 句柄汇报: 提供汇报工具,Agent 可主动上报 subagent 等插件无法自主识别的进程句柄
  • 面板展示: 监控数据只在插件 UI 面板展示,不暴露给 dsh 使用

安装

本版本适配 dsh 0.2.0-rc.2,dsh 自 0.2.0-rc.2 起会强制校验插件的 dsh 前缀 peerDependencies(不匹配的插件在安装与启动时都被拒绝),因此插件版本必须与 dsh 版本对应安装

本插件适用于 dsh 的 web 与 desktop 两个 profile,两者用同一份插件包安装;差异只在界面宿主环境(Web UI 会话区域标签页 / 桌面端同一槽位),采集机制与面板行为一致

将本插件安装到 dsh profile:

dsh plugin --profile <name> add dsh-system-monitor-plugin

使用 tarball 分发时:

dsh plugin --profile <name> add dsh-system-monitor-plugin-0.2.0.tgz

使用

安装并启动后,插件在 Web UI 会话区域标签栏提供「系统监控」标签页,按四个维度展示被监控进程的 CPU 占用率与内存占用(按量级自适应 KB/MB/GB;百分比三档: 确切 0 显示 0%,小于 0.01% 显示 <0.01%,其余两位小数): 本会话进程资源(只统计当前会话的进程),进程资源,会话资源(其中归属为子代理的会话并成一行「子代理」合计),子代理资源(逐个展示各子代理)

每张卡含该维度的合计,三段固定泳道的资源占比条(其他,DSH 及其子进程(按成员分段),空闲;各段标出占整机的百分比,放得下时于段内显示进程名/会话名)与明细表;卡片标题可点击折叠或展开该卡内容

明细表可按 CPU,内存或名称排序,并可隐藏 PID,父进程,会话,内存占比等可选列;已采样到的进程或会话在后续某轮未被采样时不会立即消失,而是归零保留,连续多轮未出现(默认 10 轮,可在插件配置与面板设置子页调整)后自动移除,也可逐行手动移除(该行再次被采样到会自动补回)

面板右上角「配置」按钮呼出面板内配置子页,可开关泳道内名称,切换 CPU 口径(整机 / 单核),视图列数(单列 / 双列),表格排序(默认 / CPU / 内存 / 名称)与显示列(逐列开关),调整行留存轮数,切换泳道颜色取色方案(循环使用 / 自动取间色新增),增删改泳道预备颜色池,并把当前快照复制为文本;设置与折叠状态记在浏览器端本地偏好;卡片折叠与配置子页均可用键盘操作(ESC 收起配置子页)

需要纳入监控的外部进程句柄,由 Agent 在会话中通过汇报工具上报

进程汇报机制的句柄字段(标识,父进程,进程名,会话标识等)与去重回执规则,见插件内的汇报工具参数说明

目录结构

dsh-system-monitor-plugin/
├── .gitignore          # git 忽略规则
├── AGENTS.md           # 开发协作守则与项目信息
├── COPYRIGHT           # 版权声明
├── LICENSE             # 许可证
├── README.md           # 中文主 README
├── README_en-US.md     # 英文 README
├── cordis.patch.yml    # 配置层 patch
├── package.json        # 包清单与构建脚本
├── pnpm-lock.yaml      # 依赖版本锁定
├── pnpm-workspace.yaml # pnpm workspace 声明
├── tsconfig.json       # 类型检查配置
├── tsdown.config.ts    # 构建配置
├── version.index.md    # 版本号索引
├── docs/               # 项目文档(官方插件开发文档, 技术规范, Tag 与 Release 规范)
├── scripts/            # 辅助脚本(语法验证, 构建前后处理)
└── src/                # 项目源码(插件入口, 配置, 常量, 客户端, 监控, 翻译)

版权信息

Copyright © 2026 JularDepick

详见 COPYRIGHT 。

许可证

本仓库采用 Apache-2.0 许可证 。

相关链接