前言¶
用 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 集羣,無需離開應用。
- 當前版本:0.9.0(以
package.json與 SkillHub 目錄頁爲準) - 許可證:MIT
- 代碼倉庫:github.com/daedalforge-slv/dsh-monitor
- 社區目錄:skillhub.cn 插件頁
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/ 下的數據默認保留,需要乾淨環境時自行刪除。
典型用法¶
- 按上一節安裝並重啓 DSH,在側欄打開 Système。
- 在 Plugins → Système 中把
projectsRoot改成你真實的倉庫父目錄;若長期固定某一 k8s 集羣,在 Kubernetes 視圖的上下文選擇器裏選定並保存k8sContext。 - 日常開發:在 Machine 看負載與 DSH 會話/作業;在 Dépôts 查未推送變更與 PR 狀態;在 Kubernetes 看退化 Pod 與命名空間抽屜裏的細節。
- 完成修復類操作後,可對狀態接口加
?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