dsh-monitor:在 DeepSeek Harness 里看机器、集群与仓库状态

前言

用 DeepSeek Harness(DSH)跑会话和任务时,机器负载、本机 git 工作区、开发用 Kubernetes 集群往往要切到终端或另开工具。常见做法是叠 top、kubectl get、git status 和若干脚本,信息散在多处,也不一定能和 DSH 自身的会话、作业状态放在同一视野里。

下面介绍社区插件 dsh-monitor(npm 包名 @daedalforge/dsh-monitor)。它在 DSH 侧栏增加 Système 入口,把机器健康、运行时、git 仓库与集群状况收进一个面板;界面文案为法语,但读的是本机与集群的真实状态。SkillHub 将其归入「安全管理」(admin-security);维护者为 daedalforge-slv。

这是什么

dsh-monitor 是面向 DeepSeek Harness 的监控类插件。README 的定位是:在同一侧栏入口内查看 machine health、runtime state、正在使用的 git 仓库,以及开发所用的 Kubernetes 集群,无需离开应用。

DSH 生态主张「一切皆插件」;SkillHub 是独立社区目录,与 DeepSeek / 幻方无官方从属关系。

核心功能

安装后,侧栏 Système 项顶部通过标签切换四个子视图(README 原文:Machine、Kubernetes、Dépôts、Applications)。面板在打开时、窗口获焦时刷新,可见状态下默认每 60 秒刷新一次;最近一次快照会缓存在 localStorage,下次打开可先绘出旧数据。

Machine(机器)

一屏汇总 CPU、内存、磁盘、负载、电池、swap、占用靠前的进程,并提供 Processeur 曲线卡。CPU 采样每 60 秒追加一行到 ~/.dsh/storages/dsh-monitor/cpu.jsonl,保留约 24 小时,支持 1 h / 6 h / 24 h 窗口;Linux 侧读取 /proc/meminfo、/proc/stat 等,macOS 侧用 top 等工具。内存算法按 Activity Monitor 口径(app + wired + compressed),避免把「total − free」误读为接近 100% 占用。存在 Colima 时,会通过 colima ssh -- df -kP 单独报告 VM 磁盘。

同视图内还展示 DSH 运行时:活跃会话、运行中作业、24 小时内启动错误、缓存大小、近期会话;若 costLedger 指向有效 JSON 账本,可显示当日费用(与 dsh-cost-meter 写入的 ledger 格式对应)。

Kubernetes(集群)

分 contexte 与 écran 两层:前者提供 kubectl 上下文选择并写入配置项 k8sContext;后者把集群读成「工作现场」——Pod、命名空间、节点容量、组件健康(含 ingress、CoreDNS、metrics-server、external-secrets 等)、近 24 小时活动。数据来自 Kubernetes API;无 metrics-server 时 reservations 仍可从 Pod spec 推导。本机无 kubectl 或相关工具链时,对应标签页会自行隐藏。

Dépôts(git 工作区)

在 projectsRoot(默认 ~/projects)下把仓库整理成「任务看板」:脏文件、落后上游、mission worktree / PR、待处理项按原因分组,并附只读的 git 证据。仓库表支持按关注状态、worktree 过滤;点开仓库可查看分支、PR、最近提交、工作区状态等。只读:面板不执行 git 写操作,仅提供可复制命令。已安装且已认证的 gh 用于 PR 列;否则该列显示 —。

Applications(macOS)

扫描 /Applications、~/Applications 等目录下的 .app,并与 Homebrew 对照。可查看过期 cask、无效 bundle、tap 落后等;设置中的 Homebrew 开关控制是否调用 brew --version、brew list、brew outdated。读操作不写盘;确认后的 Synchroniser… 与应用卸载走独立 API 并记入 journal。非 macOS 平台不显示该标签页。

配置与 API(摘要)

配置通过 Plugins → Système 页面写入 profile 中的 cordis.patch.yml 片段。常用键如下(默认值见 README):

键 默认值 含义
projectsRoot ~/projects 要监视的 git 仓库根目录
showRepos true 是否显示 Dépôts
k8sContext '' 监视的 kubectl 上下文;空则跟随当前上下文
showK8s true 是否显示 Kubernetes
showApps true 是否显示 Applications(仅 macOS)
showBrew true Applications 是否查询 Homebrew
refreshSeconds 60 刷新间隔(15–900 秒)
costLedger ~/.dsh/storages/cost-meter/ledger.json 费用账本路径;空则隐藏费用行

阈值可在面板中调整,持久化到 ~/.dsh/storages/dsh-monitor/config.json。服务端路由包括 /systeme/api/etat 等,要求本地同源请求,否则返回 403。

安装与启用

环境要求(摘自 README 与 package.json):

  • DSH:>=0.2.1-rc.5 <0.3.0-0
  • Node:>= 20(宿主运行时)
  • 平台:macOS 或 Linux(README 写明不支持 Windows)

从 npm 安装(官方 README 命令):

dsh plugin --profile desktop add @daedalforge/dsh-monitor

安装后需完全退出并重启 DSH 应用(README 示例为 Cmd+Q),仅刷新客户端不会加载新的服务端路由。

本地 tarball 或构建产物:

dsh plugin --profile desktop add file:/path/to/daedalforge-dsh-monitor-<version>.tgz

卸载:

dsh plugin --profile desktop remove @daedalforge/dsh-monitor

~/.dsh/storages/dsh-monitor/ 下的数据默认保留,需要干净环境时自行删除。

典型用法

  1. 按上一节安装并重启 DSH,在侧栏打开 Système。
  2. 在 Plugins → Système 中把 projectsRoot 改成你真实的仓库父目录;若长期固定某一 k8s 集群,在 Kubernetes 视图的上下文选择器里选定并保存 k8sContext。
  3. 日常开发:在 Machine 看负载与 DSH 会话/作业;在 Dépôts 查未推送变更与 PR 状态;在 Kubernetes 看退化 Pod 与命名空间抽屉里的细节。
  4. 完成修复类操作后,可对状态接口加 ?refresh=1 强制重建快照(README 说明用于 remediation 之后)。

可选能力依赖本机工具:gh(PR)、kubectl 与 docker/colima/kind(Kubernetes 标签)、git 与 projectsRoot 下的检出(Dépôts 标签)。缺省时相关区块隐藏或显示占位,不阻断其余视图。

适用场景与注意

适合谁:在本机用 DSH 做智能体或自动化开发、同时维护多仓库与本地/远程 Kubernetes 的开发者;希望在同一桌面应用内做只读巡检,而不是再开一圈监控脚本的人。

权限与安全:插件以当前 DSH 进程的身份与权限读取 /proc、执行 kubectl/git/brew、访问配置的工作目录与 ~/.dsh/storages。部分 remediation(磁盘清理、k8s rollout、Homebrew 升级、macOS 应用移入废纸篓等)在明确确认后才会执行,并写入 journal.jsonl。安装前建议阅读仓库源码与 MIT 许可证,确认可接受其数据采集与可选写操作范围。

其他注意:

  • 面板 UI 为法语;不影响其读取中文路径下的仓库。
  • README 强调:不读取密钥内容、不自动 remediation、不修改 git 跟踪文件;Docker 清理不涉及 volume。
  • GitHub 仓库当前星标为 0(以任务线索为准);功能描述以 README 与 package.json 为准。

结尾

dsh-monitor 把机器、DSH 运行时、git 工作区与 Kubernetes 收成 DSH 内的一个 Système 面板,适合「开发环境巡检」而不是替代专业 APM。需要安装说明与配置表时,以 GitHub README 为准;社区检索可用 SkillHub 目录页。

  • 目录页:https://www.skillhub.cn/plugins/daedalforge-slv/dsh-monitor
  • GitHub:https://github.com/daedalforge-slv/dsh-monitor
羽毛球分组比赛记分
小程序二维码

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

小夜