@super-ding/dsh-influxdb:在 DSH 裏用 Flux 查 InfluxDB 2.x

前言

在 DeepSeek Harness(DSH)裏做運維或觀測類智能體時,經常需要查時序庫:看 bucket、摸清 measurement 與 tag,再寫 Flux 拉一段時間序列。若每次手寫 curl 或把 token 塞進臨時腳本,會話上下文容易爆,也不利於在面板裏反覆試查詢。

@super-ding/dsh-influxdb 是面向 InfluxDB 2.x(Flux + token)的 DSH bundle:安裝後 Agent 可直接調用原生工具執行查詢、讀 schema、管理連接;側邊欄提供 Flux 編輯器與連接管理。維護者爲 super-ding,在 SkillHub 插件目錄 歸類爲「聯網工具」。InfluxDB 1.8 與 3.x 的接口與鑑權不同,不在本插件範圍內。

這是什麼

一句話:DeepSeek Harness 的 InfluxDB 2.x 插件——6 個智能體工具加一個側邊面板,可執行 Flux 查詢、查看 schema 與 bucket、管理連接、在開啓寫權限後寫入 line protocol。

默認形態是 DSH 原生插件工具,不是 MCP 服務器。裝上 bundle 後,會話裏可直接使用 influx_query、influx_schema 等工具名,無需配置 MCP。包內另有可選的 stdio MCP 服務器,供其他 MCP 客戶端複用同一套能力。

核心能力

Agent 工具

工具 作用
influx_connections 列出連接(url / org / bucket / token 來源),ping: true 時可測 /health
influx_query 執行 Flux,返回 JSON 表格(列名 + 行數組),帶行數上限與 truncated 標記
influx_schema 讀 schema:buckets / measurements / fields / tags / tagValues
influx_buckets 列 bucket 及保留策略
influx_write 寫 line protocol(默認關閉,需 allowWrite: true)
influx_flux Flux 編寫輔助:validate 服務端校驗、explain 管線解釋、template 模板、params 模板清單

側邊面板

側欄 InfluxDB 圖標打開主面板:

  • 查詢:連接選擇、Flux 編輯器(Tab 縮進、Ctrl/Cmd+Enter 運行)、模板插入、服務端校驗、結果表格。
  • 連接:新增 / 編輯 / 刪除 / 設默認;tokenEnv 優先於明文 token;allowWrite 開關;保存後立即生效。

面板不做圖表可視化,只展示表格;圖表需求可將結果交給其他工具處理。

安裝與配置

安裝

從 npm 安裝(推薦):

dsh plugin --profile desktop add @super-ding/dsh-influxdb

從 GitHub 安裝(未發 npm 時的等價方式):

dsh plugin --profile desktop add github:super-ding/dsh-influxdb

安裝 bundle 時會在 profile 的 cordis.patch.yml 自動插入默認插件行;也可按下面結構手改。

配置示例

插件行寫在 profile 的 cordis.patch.yml:

- id: dsh-influxdb
  name: "@super-ding/dsh-influxdb"
  config:
    allowWrite: false        # 是否允許 influx_write 與面板寫入
    timeoutMs: 30000         # 單次請求超時
    maxRows: 200             # 默認返回行數上限(1-2000)
    connections:
      - id: prod             # 連接 id,工具裏用 connection 參數指定
        label: 生產 InfluxDB
        url: http://127.0.0.1:8086
        org: my-org
        bucket: metrics      # 默認 bucket,查詢/schema/寫入的缺省值
        tokenEnv: INFLUX_TOKEN   # 推薦:token 只放環境變量
        # token: "xxxx"      # 也可直接寫,但不推薦
        default: true        # 工具的默認連接
      - id: staging
        url: http://10.0.0.12:8086
        org: my-org
        bucket: metrics_dev
        token: "staging-token"

token 也支持 env:INFLUX_TOKEN 或 ${INFLUX_TOKEN};tokenEnv 與 token 同時存在時,環境變量優先。面板裏保存連接會通過 configEditor 寫回同一行 config,與手改 YAML 等價。

建議爲 token 配置最小權限,只讀場景不要授予 write:

influx auth create --org my-org --read-bucket <id> [--write-bucket <id>]

即使插件裏打開了 allowWrite,InfluxDB 仍會拒絕無寫權限的 token。

典型用法

  1. 在 connections 裏配好 url、org、bucket,token 優先走 tokenEnv。
  2. 在會話中讓 Agent 調用 influx_connections(可選 ping: true)確認連通性。
  3. 用 influx_schema 摸清 measurement、field、tag,再用 influx_query 執行 Flux;結果受 maxRows 限制,超出部分會帶 truncated。
  4. 需要起草或校驗 Flux 時,使用 influx_flux 的 validate、explain、template 等能力。
  5. 必須在配置裏設 allowWrite: true 後,纔可通過 influx_write 或面板寫入 line protocol。

側邊欄適合人工迭代:選連接、在編輯器裏寫 Flux、Ctrl/Cmd+Enter 運行,與服務端校驗配合使用。

可選:以 MCP 服務器方式使用

若其他 MCP 客戶端也需要同一套 InfluxDB 操作,可使用包內零依賴的 mcp-server.mjs(stdio)。步驟概要:

  1. 準備配置文件(可參考 mcp-config.example.json),結構與插件行 config 相同。
  2. 在 profile 的 cordis.patch.yml 增加 MCP 客戶端,例如:
- id: influxdb-mcp
  name: "@deepseek-ai/dsh-mcp-client"
  config:
    serverName: influxdb
    transport: stdio
    command: node
    args:
      - "D:/path/to/dsh-influxdb/mcp-server.mjs"
      - "--config"
      - "D:/path/to/dsh-influxdb/mcp-config.json"
    env:
      INFLUX_TOKEN: !!js process.env.INFLUX_TOKEN
  1. 重載後工具名形如 mcp__influxdb__influx_query。

注意:stdio MCP 是獨立進程,讀 --config 指向的文件,不會自動繼承面板裏保存的連接,兩處需分別配置。

安全邊界與已知限制

  • 寫能力默認關閉;關閉時 influx_write 返回 WRITE_DISABLED,不會發請求。
  • 面板 RPC POST /influxdb/rpc 只接受 loopback Origin,非本機來源返回 403。
  • 查詢按 maxRows 截斷並標註 truncated;單單元格最長 4000 字符。插件不在日誌或工具結果中暴露完整 token;influx_connections 僅返回尾號與來源。
  • 僅支持 2.x 的 /api/v2/*;不支持 InfluxDB Cloud 目錄級多 org 切換——一個連接對應一個 org,跨 org 用多個連接。

插件在 當前 DSH 進程權限 下訪問你配置的 URL 與 token。安裝前建議查看 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的環境策略。DSH 生態理念是「一切皆插件」;SkillHub 爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。

結尾

@super-ding/dsh-influxdb 把 InfluxDB 2.x 的 Flux 查詢、schema 探查、連接管理與可選寫入收進 DSH 原生工具與側邊面板,減少在會話裏拼 HTTP 的重複勞動。目錄頁:https://www.skillhub.cn/plugins/super-ding/dsh-influxdb;源碼與文檔:https://github.com/super-ding/dsh-influxdb。

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

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

小夜