dsh-pve:通過對話管理 Proxmox VE

前言

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

羽毛球分组比赛记分
小程序二维码

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

小夜