guhanfei-ai/dsh-grafana
dsh-grafana
dsh-grafana is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile <profile> add github:guhanfei-ai/dsh-grafana#v<version>Restart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-grafana)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from guhanfei-ai/dsh-grafana, cleaned of badges and images.
dsh-grafana
A DeepSeek Harness plugin for fetching, editing, and safely updating Grafana dashboards through conversation. It operates on dashboard JSON directly—no screenshots required.
Project status: pre-1.0. The safety controls and automated tests cover the core update path, but Grafana 12+ compatibility is not yet certified.
Why dsh-grafana
- Fetch a dashboard by browser URL or UID.
- Search dashboards by title and tag.
- Duplicate a dashboard into a brand-new copy and get its URL back.
- Edit panels, queries, thresholds, variables, and layout through conversation.
- Preserve the dashboard folder automatically.
- Detect concurrent edits before writing.
- Require native DSH user approval for every write.
- Keep service-account credentials in the local DSH credential store.
Requirements
| Component | Supported baseline |
|---|---|
| Node.js | 20.11 or newer |
| DeepSeek Harness | 0.1.0-rc.6 |
| Grafana | Legacy Dashboard HTTP API as documented for Grafana 10/11 |
Grafana 12 introduced a new dashboard API. The legacy endpoints used by this plugin may remain available, but Grafana 12+ is not part of the certified matrix yet.
Installation
Install a released, immutable tag whenever possible:
dsh plugin --profile <profile> add github:guhanfei-ai/dsh-grafana#v<version>
Install the mutable development branch only for testing:
dsh plugin --profile <profile> add github:guhanfei-ai/dsh-grafana
For local development:
npm ci
dsh plugin --profile <profile> add link:/absolute/path/to/dsh-grafana
Restart the selected DSH profile after installation.
On Windows, use an absolute link:C:/path/to/dsh-grafana path. The plugin itself is cross-platform; deploy.sh requires Git Bash, WSL, macOS, or Linux.
Configuration
In DSH Web, open Settings → Plugins → Grafana dashboard editor.
Note: the settings page dispatches plugin cards by the settings namespace registered on the Host (
grafana). The served-namespace list is re-read only on settings-document commits or connection resets, so if the card does not appear right after upgrading the plugin, refresh the page (or reconnect the Web UI).
Configure:
- Service Account Token: a Grafana service-account token such as
glsa_.... - Grafana URL: the absolute base URL, for example
https://grafana.example.comorhttps://example.com/grafana.
The token uses DSH's privileged loopback credential RPC — write-only, the stored value is never read back or displayed. The URL is stored in the grafana settings namespace as a non-secret field, so it is read back in plaintext and shown in the card for verification. The UI supports replacing and removing each value.
HTTP and HTTPS both work out of the box — internal deployments without TLS certificates can use an http:// URL with no extra setup. Note that plain HTTP sends the service-account token in cleartext; always use HTTPS over untrusted networks. To enforce HTTPS only, disable it in plugin configuration:
allowInsecureHttp: false
The settings baseUrl is the authoritative source; a legacy GRAFANA_BASE_URL credential (from earlier versions) is migrated into settings on startup and then used only as a fallback. The token reference defaults to GRAFANA_TOKEN and can be changed with tokenRef.
Grafana permissions
Prefer least-privilege RBAC with only the required dashboard and folder scopes:
…

