前言¶
在 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 倉庫。