前言¶
在 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