we39/dsh-pve ↗★ 0

dsh-pve

Proxmox VE (PVE) control for DeepSeek Harness: inspect and manage nodes, VMs, containers, storage, firewall, cluster, Ceph, HA and access across multiple PVE clusters via the PVE2 JSON API (API Token or username/password auth). 适合需要让AI助手直接查询和操作Proxmox VE虚拟机及容器的运维人员。

Package
dsh-pve
Compatibility
Unverified
Harness peer range
0.2.0-rc.2
Version
0.2.0
License
MIT
Last updated
Oct 14, 2026

Other repositories with this package name

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:we39/dsh-pve

Configuration

In DSH Web: Settings → Plugins → Proxmox VE (a standalone section on DSH 0.2.0+ hosts).

The page lists your Proxmox VE sources. Add one per cluster you want the assistant to reach (for example production and staging). Each source has:

  • Source name: required and unique; any language. This is what you (or the assistant) use to pick the source.
  • UID: generated automatically, globally unique, read-only. Credentials are keyed by it, so renaming a source never loses its keys.
  • Base URL, e.g. https://pve.example.com:8006.
  • Authentication: API Token (PVE 6.0+) or Username / password (PVE 5.x compatible), chosen independently per source.
    • Token mode: Token ID (user@realm!tokenid, e.g. monitor@pve!dsh) + Token Secret (write-only).
    • Password mode: Username (e.g. root@pam) + Password (write-only).
  • Skip TLS verification: enable for self-signed internal hosts (5.x and 6.0+).

Mark one source as the default; tool calls that omit source use it. With a single source it is the default automatically.

PVE 6.0+ → create an API token (Datacenter → Permissions → API Token) with the least privilege required. PVE 5.x has no API token → switch that source to username/password mode.

Multiple sources

Every tool accepts an optional source argument (a source name or UID). Ask the assistant for "the staging cluster" and it calls pve_sources first to discover the names, then passes source. If several sources exist and none is the default, omitting source is an error rather than a guess.

For write tools the approval prompt names the target source, and the approval is bound to it: if the default changes between approval and execution, the write is refused instead of landing on a different Proxmox VE cluster.

Upgrading from 0.1.x

Your existing single-source setup keeps working. On first start the plugin turns it into a source named default, reusing the same stored Token Secret / login password (the credentials themselves are not moved or re-entered). If that automatic step could not run, the settings page shows a "Legacy single-source configuration found" notice with an Import as a source button.