前言¶
DeepSeek Harness(DSH)的插件化設計允許按需擴展能力。對於需要管理 Proxmox VE 的場景,手動輸入命令既繁瑣又容易出錯。we39/dsh-pve 插件通過將 233 個 PVE 操作封裝爲工具,讓智能體可以直接通過對話完成檢查與管理。
是什麼¶
dsh-pve 是 DeepSeek Harness 的一個插件,用於通過對話檢查和管理 Proxmox VE(PVE)。它通過 PVE2 JSON API 與 PVE 交互,支持 API Token 或 username/password(ticket)兩種認證方式。
插件維護者:we39。
核心功能¶
- 檢查能力:節點、QEMU 虛擬機、LXC 容器、存儲、網絡、防火牆、集羣、備份、HA、複製、Ceph、用戶、組、角色和池。
- 管理能力:電源狀態、克隆、遷移、快照、調整大小和移動磁盤,創建/刪除客戶機和存儲,管理備份/複製/防火牆規則。
- 多源支持:配置多個 PVE 集羣源,每個源可獨立選擇認證方式。
- 安全機制:所有寫操作觸發本地用戶確認;憑證保存在 DSH 憑證存儲中,不回顯給模型。
安裝與啓用¶
前置要求¶
| 組件 | 最低版本 |
|---|---|
| Node.js | 20.11 或更新 |
| DeepSeek Harness | 0.2.0-rc.1 – 0.2.1-rc.2(及後續 0.2.1 預發佈版本) |
| Proxmox VE | PVE2 JSON API(6.0+ 用 API Token,5.x 用 username/password) |
安裝命令¶
本地開發:
npm ci
dsh plugin --profile <name> add link:/absolute/path/to/dsh-pve
發佈版本(推薦):
dsh plugin --profile <name> add github:we39/dsh-pve#v<version>
開發分支(僅測試):
dsh plugin --profile <name> add github:we39/dsh-pve
安裝後重啓選定的 profile。若使用不打包的開發循環,可加載 overlay:
dsh --profile <name> --patch ./cordis.patch.yml
配置¶
在 DSH Web 中進入 Settings → Plugins → Proxmox VE(DSH 0.2.0+ 獨立插件區域)。頁面列出已配置的 Proxmox VE sources,每個源包含:
- Source name:必填且唯一,用於選擇源(支持任意語言)。
- UID:自動生成,全局唯一,只讀。憑證按 UID 鍵值,重命名 source 不會丟失憑證。
- Base URL:例如
https://pve.example.com:8006。 - Authentication:可獨立選擇 API Token(PVE 6.0+)或 Username/Password(兼容 PVE 5.x)。
- Token 模式:Token ID(
user@realm!tokenid,如monitor@pve!dsh)+ Token Secret(只寫)。 - Password 模式:Username(如
root@pam)+ Password(只寫)。 - Skip TLS verification:啓用以訪問自簽名內部主機(5.x 和 6.0+)。
標記一個源爲 default;不提供 source 參數的工具將使用默認源。若只有一個源,默認自動生效。
創建 API Token(PVE 6.0+):在 Datacenter → Permissions → API Token 創建,授予所需最小權限。
多源配置¶
每個工具接受可選的 source 參數(源名稱或 UID)。要求助手指定 “staging 集羣” 時,先調用 pve_sources 發現源名稱,再傳入 source。若存在多個源且均非默認,省略 source 會報錯而非猜測。
寫工具的確認提示會標明目標源,確認與源綁定:若默認在確認後變更,寫操作將被拒絕而非發送到不同集羣。
從 0.1.x 升級¶
單源配置保持兼容。首次啓動時插件自動將其轉爲名爲 default 的源,重用存儲的 Token Secret / 登錄密碼(憑證本身不移動或重新輸入)。若自動轉換無法運行,設置頁面會顯示 “Legacy single-source configuration found” 提示,並提供 Import as a source 按鈕。
工具概覽¶
插件提供 233 個工具(117 只讀 / 116 寫),分爲 14 個域。所有寫工具需要本地用戶確認。除 pve_sources 外,每個工具接受可選的 source 參數。
| 域 | 工具數 | 範圍 |
|---|---|---|
| Sources | 1 | 列出配置的 PVE 源(不返回憑證) |
| Cluster & overview | 8 | 版本、狀態、資源索引、任務、日誌、nextid、選項 |
| Nodes & tasks | 23 | 狀態、配置、服務、磁盤、syslog、apt、SMART、任務輪詢 |
| Network | 12 | 接口 CRUD + reload、DNS、hosts、時間 |
| VMs (QEMU) | 22 | 配置、電源、快照、克隆、遷移、調整大小、move-disk、guest-agent、monitor |
| Containers (LXC) | 15 | 配置、電源、快照、克隆、遷移、調整大小 |
| Storage | 11 | CRUD、內容/卷、上傳、RRD |
| Firewall | 76 | 規則/別名/ipset/選項/日誌(集羣·節點·VM·CT 範圍) |
| Access control | 21 | 用戶、組、角色、域、ACL |
| Pools | 5 | 資源池 |
| HA | 13 | 資源、組、狀態、遷移/遷移 |
| Backup | 6 | vzdump 作業 + run-now |
| Replication | 9 | 作業 CRUD、schedule-now、狀態/日誌 |
| Ceph | 11 | 狀態、OSD、池、MON/MDS/FS、日誌 |
異步操作返回 UPID:... 任務 ID,需調用 pve_task_status / pve_task_log 輪詢確認完成。
安全¶
- 每次寫操作強制確認,模型無法繞過。
- 密鑰、令牌、密碼在返回給模型前已脫敏。
- 所有 PVE 返回數據視爲不可信,不當作指令。
適用場景與注意¶
適合需要通過對話管理 PVE 環境的開發者或運維人員。插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證(MIT)。
短結尾¶
dsh-pve 通過將 PVE 操作封裝爲工具,使智能體能直接通過對話完成檢查與管理,同時通過本地確認與憑證隔離保障安全。
插件目錄:https://www.skillhub.cn/plugins/we39/dsh-pve
GitHub:https://github.com/we39/dsh-pve