前言¶
在 DSH 工作流里,维护 Grafana 仪表盘通常需要打开网页、定位面板、手动修改 JSON,再确认发布。这个过程容易打断上下文。
dsh-grafana 是 DeepSeek Harness 的一个插件:先粘贴 dashboard URL 或 UID 获取仪表盘,再通过对话修改 JSON,最后通过 Grafana HTTP API 写回。它把「取 dashboard、查数据、改配置、推回写」接到 DSH 的对话和审批流程中。
DSH 的理念是「一切皆插件」。DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
dsh-grafana 由 guhanfei-ai 维护,许可证为 MIT,项目状态为 pre-1.0。
它解决的是 DSH 使用者需要频繁维护 Grafana dashboard 的问题:面板、查询、阈值、模板变量、布局等内容可以通过对话修改,而不是每次手工编辑 JSON。
核心能力¶
下面列出的能力均来自已核实事实:
- 通过浏览器 URL 或 UID 获取 dashboard。
- 对大型 dashboard 请求紧凑的结构摘要。
- 按标题和标签搜索 dashboard。
- 粘贴 dashboard 或 panel-view URL,查询面板背后的实时数据。
- 复制 dashboard 成一份新的副本,并拿回新 dashboard 的 URL。
- 通过对话编辑 panels、queries、thresholds、variables 和 layout。
- 自动保留 dashboard 所在 folder。
- 写入前检测并发编辑。
- 每次写入都需要 native DSH user approval。
- Service Account Token 保存在本地 DSH credential store 中。
安装与启用¶
先确认环境基线:
- Node.js:
20.11或更高。 - DeepSeek Harness:
0.1.0-rc.6。 - Grafana:Grafana 10/11 的 legacy Dashboard HTTP API。
Grafana 12+ 尚未纳入已认证兼容范围。
安装命令如下:
dsh plugin --profile <profile> add github:guhanfei-ai/dsh-grafana
执行上面的步骤后,重启所选的 DSH profile。
配置与权限¶
在 DSH Web 中打开:
Settings → Plugins → Grafana dashboard editor
需要配置两项:
Service Account Token
Grafana URL
Service Account Token 用于访问 Grafana。该 token 以 write-only 方式保存在 DSH 的 privileged loopback credential store 中,存储值不会被读回或展示。
Grafana URL 是 Grafana 的绝对基础 URL。
普通 HTTP 会把 service-account token 以明文发送。经过不受信任网络时,应使用 HTTPS。如果希望只允许 HTTPS,可以在插件配置中关闭 insecure HTTP:
allowInsecureHttp: false
Grafana 侧建议按最小权限配置 RBAC:
dashboards:read
dashboards:write
folders:read
datasources:query
其中 folders:read 应覆盖被编辑的 folders,datasources:query 还需要允许访问实际被查询的 datasources。
如果无法使用细粒度 RBAC,Grafana 的 Editor role 是备选。避免使用 Admin token。
典型用法¶
先获取 dashboard。对于大型 dashboard,可以请求紧凑结构摘要,而不是完整 JSON:
grafana_get
summary: true
经过上面的步骤后,再根据摘要决定要修改哪些 panel、query、threshold、variable 或 layout。
查询面板背后的实时数据时,可以粘贴 dashboard 或 panel-view URL。需要覆盖模板变量时,可以传 variables 参数。
单值示例:
{ "env": "prod" }
多值示例:
{ "host": ["www.ttpai.cn", "m.ttpai.cn"] }
修改完成后,写入路径会要求 native DSH user approval,并在写入前检测并发编辑。folder 会被自动保留。
适用场景与注意事项¶
适合以下情况:
- 使用 DSH 管理 Grafana 仪表盘。
- Grafana 环境为 Grafana 10/11,使用 legacy Dashboard HTTP API。
- 希望通过对话方式修改 dashboard JSON,而不是频繁打开 Grafana 页面手工编辑。
- 需要把 dashboard 维护动作接入 DSH 的审批和凭据管理流程。
需要注意:
- 项目状态是 pre-1.0。
- Grafana 12+ 尚未认证。
- 每次写入都需要 DSH 用户审批。
- 写入前会检测并发编辑。
- 普通 HTTP 会明文传输 service-account token,不受信任网络应使用 HTTPS。
- 插件会以当前
dsh进程权限运行,安装前应检查源码和 MIT 许可证。
链接¶
- 插件目录页:
https://www.skillhub.cn/plugins/guhanfei-ai/dsh-grafana - GitHub 仓库:
https://github.com/guhanfei-ai/dsh-grafana