前言¶
DeepSeek Harness(DSH)採用「一切皆插件」的理念,把 Agent 能力擴展到各種客戶端。當需要把 QQ 消息接入 DSH Agent 時,可以直接使用 dsh-qq-bot 插件。它複用 OneBot 11 生態(NapCat、OneDisc 等),通過正向/反向 WebSocket 與 DSH 對接,每個 QQ 會話對應一個 DSH Agent,讓 Agent 能在羣聊和私聊中直接回答。
插件簡介¶
dsh-qq-bot 是一個 DSH 插件,維護者爲 arrow1031-dev(核心貢獻者 nd002723)。它通過 OneBot 11 協議將 QQ 消息轉發給 DSH Agent,再由 Agent 回覆到 QQ。插件自帶 OneBot 11 適配層(零 npm 依賴),支持正向 WS 和反向 WS 兩種連接模式,並在 DSH 設置頁提供統一的配置入口。
核心能力¶
- 協議適配:內置
lib/onebot-adapter.mjs,通過 stdin/stdout 交換 OneBot 11 JSON,無需額外 npm 依賴。 - 雙模式連接:
- 正向 WS(默認):DSH 連接 NapCat 的 WebSocket 端口。
- 反向 WS:NapCat 連接 DSH,支持鑑權。
- 工具集成:Agent 可調用
qqbot、qqgroup、qq_websearch、qq_webfetch、qq_imgsearch、qq_history等工具。 - 會話管理:每個羣/人對應一個 DSH 會話(如
qqbot-group-33333),工作區自動創建在 DSH 默認 Workspace 同級目錄。 - 配置入口:通過 DSH 設置 → QQ 機器人 選項卡進行集中配置,或通過
cordis.patch.yml覆蓋。 - 圖像處理:支持識圖與原圖緩存(會話結束後自動清理)。
安裝與啓用¶
插件不在 npm 上,需從 GitHub 倉庫或 Release 附件安裝。
# 跟隨 main 分支(已解除封版)
dsh plugin --profile web add github:arrow1031-dev/dsh-qq-bot
# 本地 tarball(修改後重新打包)
npm pack
dsh plugin --profile web add ./dsh-qq-bot-<版本號>.tgz
--profile 請根據實際環境選擇:
- 桌面版:--profile desktop
- dsh web 部署:--profile web
安裝後重啓 DSH(桌面版重啓應用 / CLI 重啓 dsh web),瀏覽器側需刷新頁面以加載新的 bundle。
典型用法¶
- 起一個 OneBot 11 實現(推薦 NapCat):
- Docker 鏡像支持 amd64 與 arm64:
docker run -d --name napcat --restart=always \
-e NAPCAT_GID=$(id -g) -e NAPCAT_UID=$(id -u) \
-p 3000:3000 -p 3001:3001 -p 6099:6099 \
mlikiowa/napcat-docker:latest
- 登錄:訪問
http://<主機IP>:6099/webui,用手機 QQ 掃碼登錄,登錄 token 在docker logs napcat中查看。 - 確認 OneBot 11 端口:HTTP 服務器 3000、正向 WS 3001。
-
安裝插件並重啓 DSH。
-
在 QQ 中測試:
- 羣聊:默認需要 @ 機器人(@ 會被去掉後交給 Agent)。
- 回覆機器人消息也視同 @ 處理(reply.botReply默認開啓)。
- 私聊:直接回復,無需 @。
- 長回覆會按換行切成 ≤1200 字多條發送。
- 每個羣/人對應獨立的 DSH 會話,顯示名固定爲羣聊_<羣號>或私聊_<QQ號>。 -
配置:
- 打開 DSH 設置 → QQ 機器人,在「接入與範圍」「身份與權限」「羣管理」「會話」「回覆」「圖片視覺」「聯網搜索」等分組中調整。
- 保存後,連接方式相關項會自動重啓適配器,其餘項下一條消息生效。
適用場景與注意¶
- 適合希望在 QQ 中直接使用 DSH Agent 能力的用戶,尤其是已有 NapCat 或 OneBot 11 實現的場景。
- 插件以當前 DSH 進程權限運行,建議安裝前檢查源碼與許可證(MIT)。
- 注意:bot 不自動附帶聊天上下文,需要時由 Agent 主動調用
qq_history工具獲取歷史消息。
結尾¶
dsh-qq-bot 插件通過 OneBot 11 協議將 QQ 與 DSH Agent 對接,爲 QQ 場景提供統一的工具與會話管理入口。更多細節可查看插件目錄頁與 GitHub 倉庫。