dsh-klbq:在 DSH 裏按暱稱查卡拉彼丘戰績並生成長圖

前言

在 DeepSeek Harness(DSH)裏給 agent 接遊戲數據,常見做法是手寫 HTTP 請求、再自己拼展示。卡拉彼丘(Strinova)的公開戰績在 dakanu.com,還要看段位、總覽、模式、角色和最近對局,若再做成可分享的圖,工作量會落在插件之外。下面介紹社區插件 dsh-klbq(維護者 CSAHuan):從 dakanu 取數、渲染長圖,並把工具 klbq_query 交給 agent 調用。

這是什麼

dsh-klbq 是 DSH 的聯網工具類插件,在 SkillHub 目錄 與 GitHub 可查看源碼與說明。它解決兩件事:按遊戲暱稱或 UID 拉取 dakanu.com 上的戰績摘要,以及把排位段位、總覽、模式、角色、最近對局等內容渲染成一張 PNG 長圖。圖片落在本機臨時目錄,工具返回路徑與字節數,不塞 base64 進上下文,便於「模型讀 JSON 摘要、人在本地看圖」。

核心功能:klbq_query

插件向 agent 暴露工具 klbq_query,參數與返回結構以 README 爲準。

參數 類型 說明
nickname string(必填) 遊戲暱稱或 UID
maxMatches number 最近對局條數 0~20,默認 10

成功時返回 JSON,包含等級、當前/歷史最高排位段位、summary(局數、勝率、KDA、場均傷害等)、recent 最近對局列表,以及 imagePath、imageBytes。圖片寫入系統臨時目錄下的 dsh-klbq-cards/。

取數側實現上,README 說明本機直連 https://dakanu.com 可能在 TLS 階段被重置,因此請求採用「連 IP、servername 爲空字符串、設置 Host 頭、rejectUnauthorized: false」等方式訪問公開戰績;該通道僅用於公開數據,不應用於傳輸密鑰或隱私。排位與挑戰賽的段位體系在渲染時需區分,卡片右上角使用排位體系。

渲染不依賴 canvas / puppeteer,而是用系統 Edge 或 Chrome 無頭模式:先 --dump-dom 量高度,再按高度截圖。可通過環境變量 KLBQ_BROWSER 指定瀏覽器路徑。

安裝與啓用

本插件有兩條 npm 發行通道,按 QQ 接入方式二選一(命令來自 README,勿自行拼接 dsh plugin add github:...)。

通道 安裝 版本線 行爲
QQ 官方機器人(@tencent-connect/dsh-qqbot) npm i dsh-klbq 0.2.x 工具 + 向 system prompt 注入 /klbq 用法
自建 OneBot 橋接(SnowLuma / OneBot v11) npm i dsh-klbq@sl 0.1.x 純工具,不注入 system prompt
npm i dsh-klbq@latest   # 官方機器人
npm i dsh-klbq@sl       # 自建橋接 / SnowLuma

本地開發可用 link 安裝:在 ~/.dsh/profiles/<profile>/package.json 裏聲明 dsh-klbq 的 link: 依賴,並把插件目錄軟鏈到該 profile 的 node_modules/dsh-klbq,在 dsh.bundles 中加入 dsh-klbq,重啓 DSH 生效。

package.json 要求 Node >= 22.12.0,peer 依賴 @deepseek-ai/cordis 與 @deepseek-ai/dsh;當前資料中版本號爲 0.2.1,許可證 MIT。

典型用法

在 agent 回合中:讓模型調用 klbq_query,傳入 nickname(可選 maxMatches)。根據返回的摘要字段回答用戶;需要展示圖片時,使用返回的 imagePath 在本機打開或通過 IM 通道的交付能力發送(見下)。

與 QQ 官方機器人配合:安裝 0.2.x 通道後,在私聊或羣聊發送例如:

/klbq 才知道左鍵能開槍

/klbq 並非註冊在 qqbot 命令表裏的斜槓命令,而是作爲普通消息進入 agent;插件在 system-prompt/assemble 注入說明,引導 agent 調用 klbq_query,再用 present 把 imagePath 聲明爲交付物,由 dsh-qqbot 在輪末發圖。可在 cordis 配置裏用 integrations.qqbot.promptInjection 關閉或自定義注入文案(默認約 150 token/輪);未裝 dsh-qqbot 時插件會跳過注入。

自建 OneBot 橋接側通常自行實現 /klbq 與發圖(如 qq-bridge 的 src/klbq.js),只需 dsh-klbq@sl 提供的工具即可。

適用場景與注意

  • 適合誰:在 DSH profile 裏做卡拉彼丘戰績查詢、或要在 QQ / IM 裏一鍵出圖的開發者;分類上屬於聯網工具,依賴外站 dakanu.com 的公開接口與頁面結構,站點或網絡策略變化可能影響可用性。
  • 權限與安全:插件以當前 DSH 進程權限運行,會訪問外網並寫本地臨時文件;安裝前請閱讀 源碼 與 MIT 許可證,確認是否符合你的環境合規要求。
  • 性能:0.1.1 起對 dakanu 雙 IP 並行、連接複用與短緩存做了優化,README 給出了實測耗時對比;重複查詢仍會受緩存 TTL(搜索映射 10 分鐘、詳情 90 秒)影響。

結尾

dsh-klbq 把「dakanu 取數 + 長圖渲染 + agent 工具」收成一個 DSH bundle,並針對 QQ 官方機器人與自建橋接分了安裝通道。需要功能細節、更新日誌(如 0.2.0 QQ 適配、0.1.1 取數提速)或 issue,見 SkillHub 目錄頁 與 GitHub 倉庫。

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

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

小夜