dsh-profile-panel:DSH 插件狀態面板與 profile 運維控制檯

前言

在 DSH 的「一切皆插件」思路下,profile、bundle、插件安裝和重啓通常分散在 CLI、配置與宿主能力中。維護多個 profile 時,常需要確認當前 profile 是否生效、bundle 是否待重啓、多個 profile 的插件版本是否一致,以及一次安裝是否需要回滾。

dsh-profile-panel 是一個 DSH 插件,把這類操作集中到 settings 面板裏的 profile-panel 分區。

這是什麼

dsh-profile-panel 是 lingxin-maz 維護的 DSH 插件狀態面板 / profile 運維控制檯。倉庫名爲 lingxin-maz/dsh-profilespanel,npm 包名爲 dsh-profile-panel,許可證爲 MIT。

它用於觀察、診斷、變更管理與 Agent 化,覆蓋:

  • 當前 profile、bundle 狀態與待重啓檢測(SSE)
  • 一鍵重啓
  • 多 profile 同步安裝(web+desktop 雙端模式)
  • 供應鏈版本預覽(minimumReleaseAge 發佈年齡預警)
  • 安裝前快照、失敗自動回滾、手動撤銷
  • 更新檢測與跨 profile 版本對齊
  • 健康檢查(缺失包/peer 缺口/孤兒 bundle/層棧重複)
  • 兩 profile 並排 diff
  • 啓動報告
  • 審計日誌(本地 JSONL)
  • Agent 工具:profile_status / profile_updates / profile_sync_install / profile_restart
  • 市場搜索與 github:owner/repo 直裝
  • 熱加載(宿主支持時)

它安裝到指定 DSH profile,而不是作爲獨立應用運行。插件以當前 dsh 進程權限運行,安裝前建議檢查源碼與許可證。

社區目錄頁是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不應理解爲官方應用商店。

核心功能

觀察與診斷

下面先介紹用於查看狀態的幾類能力。

  • 當前 profile、bundle 狀態與待重啓檢測(SSE)。
  • 更新檢測與跨 profile 版本對齊。
  • 健康檢查:缺失包、peer 缺口、孤兒 bundle、層棧重複。
  • 兩 profile 並排 diff。
  • 啓動報告。
  • 審計日誌:本地 JSONL。

變更管理

下面介紹會實際改變插件或 profile 狀態的操作。

  • 一鍵重啓。
  • 多 profile 同步安裝(web+desktop 雙端模式)。
  • 供應鏈版本預覽:minimumReleaseAge 發佈年齡預警。
  • 安裝前快照、失敗自動回滾、手動撤銷。
  • 熱加載(宿主支持時)。

Agent 與市場對接

下面介紹面向模型調用與市場入口的能力。

  • Agent 工具:profile_status / profile_updates / profile_sync_install / profile_restart。
  • 市場搜索與 github:owner/repo 直裝。

安裝與啓用

運行環境要求 node >=18,peerDependencies 包含:

{
  "@deepseek-ai/cordis": "^4.0.1",
  "@deepseek-ai/schemastery": "^3.18.1"
}

通過 registry 安裝:

dsh plugin --profile <name> add dsh-profile-panel

如需固定版本:

dsh plugin --profile <name> add dsh-profile-panel@1.0.0

GitHub 直裝:

dsh plugin --profile <name> add github:lingxin-maz/dsh-profilespanel

本地路徑:

dsh plugin --profile desktop add ../dsh-profilespanel

安裝後打開:

設置 → Profile / 插件(settings 面板的 profile-panel 分區)

驗證接口:

GET http://127.0.0.1:<port>/api/profile-panel/status

返回 200 即安裝成功。

典型用法

在 cordis.yml 中可配置:

profile-panel:
  profile: web
  allowRestart: true
  pollIntervalMs: 5000
  minimumReleaseAgeDays: 7

配置項含義:

  • profile:顯式指定 profile。
  • allowRestart:是否允許一鍵重啓。
  • pollIntervalMs:變更檢測輪詢間隔。
  • minimumReleaseAgeDays:供應鏈版本預覽的發佈年齡閾值。

市場頁可通過事件或深鏈把包名送進下載模塊:

dsh-profile-panel:install-target
#dshpp-install=<target>

適用場景與注意

適合需要維護多個 DSH profile、執行插件安裝/更新/重啓、查看 bundle 狀態,或把 profile 運維操作交給 Agent 工具的場景。

使用前注意:

  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與 MIT 許可證。
  • 變更類接口僅接受同源環回 POST,並拒絕代理轉發頭。
  • 安裝目標僅接受 registry 包名/版本 spec 與嚴格形態 github:owner/repo[#path:/sub],拒絕本地路徑、git URL、http 源與命令注入。
  • GitHub 直裝跟隨倉庫 HEAD,無版本號語義。
  • 多 profile 安裝默認不自動回滾,可勾選 rollback;undo 恢復 manifest 後需 pnpm install。
  • 熱加載在宿主不支持時降級爲重啓提示。
  • updates / install-preview 依賴 registry 可用性,離線時降級爲 warning。
  • 桌面端檢測爲啓發式;dual 目標另一端缺失時降級爲單端 + warning。
  • 市場搜索在線目錄不可達時回退本機 dshmarket 快照,可能滯後於在線目錄。
  • 審計日誌爲本地 JSONL,不含對話內容;零遙測。

鏈接

  • GitHub:https://github.com/lingxin-maz/dsh-profilespanel
  • 目錄頁:https://www.skillhub.cn/plugins/lingxin-maz/dsh-profilespanel
羽毛球分组比赛记分
小程序二维码

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

小夜