dsh-qq-onebot-bridge:QQ 與 DSH agent 的雙向橋插件

前言

DSH 的插件機制允許把外部能力掛到 agent 會話旁邊。一個具體場景是:你已經有可運行的 DSH agent,但希望它能在 QQ 羣聊和私聊裏工作。已有做法通常要自己處理 OneBot 消息、會話隔離、白名單、上下文注入和回覆拆分。

下面介紹 cheesehaqi/dsh-qq-onebot-bridge。它把 QQ 消息直接驅動到 DSH agent 會話,並把 agent 回覆自動發回 QQ。

這是什麼

dsh-qq-onebot-bridge 是一個獨立 bundle,用於 QQ 與 DeepSeek Harness 之間的雙向橋接。資料中可確認的倉庫地址爲:

https://github.com/cheesehaqi/dsh-qq-onebot-bridge

許可證爲:

MIT

它基於 OneBot v11 反向 WebSocket。QQ 羣聊或私聊消息進入 DSH agent 會話,agent 回覆會自動分段發回 QQ。

消息、會話與記憶

會話分組

插件按會話隔離上下文:

  • 羣聊:可按每羣一個會話,或按每羣每人一個會話
  • 私聊:每個用戶獨立會話,避免不同用戶互相串上下文

會話命令包括:

/new
/status

/new 用於重置當前會話,/status 用於查看會話狀態。

持久化記憶

最近對話會落盤到:

cwd/qq-memory/

宿主重啓後,該記憶會自動注入新會話。如果需要清除當前會話記憶,可使用:

/new

私聊識圖與引用解析

私聊中的圖片或動畫表情會自動下載到:

cwd/qq-images/

agent 可使用工具查看:

describe_image

在羣聊中 @機器人並引用文本、圖片或語音時,插件會自動展開引用內容。引用圖片會落盤到:

cwd/qq-replies/

引用語音會自動轉寫。

提醒、羣管理與互動

定時提醒

支持自然語言設置提醒,例如:

30分鐘後提醒我喝水
明天9點提醒我開會

提醒會跨宿主重啓保留。查看待執行列表:

/reminders

羣管理

常用羣管理命令包括:

/summary
/todo
/mute
/unmute
/kick
/clear

其中:

  • /summary 用於總結最近聊天
  • /todo 用於管理共享待辦,可配合“記一下:xxx”使用
  • /mute/unmute/kick/clear 爲管理員命令
  • 踢人需要二次確認

羣投票可用下面的格式發起:

投票:問題?A 選項 B 選項

其他成員回覆字母投票。

互動功能

插件還包含以下互動能力:

  • /help 命令菜單
  • 戳一戳賣萌回覆
  • 語音朗讀
  • 每日簽到
  • 新人入羣自動歡迎
  • 表情系統

表情系統支持:

[face:名字]

也支持會話內工具:

qq_face_list
qq_face_send

實用小工具

常用診斷和導出命令:

/health
/export

/health 用於運行診斷,/export 用於導出聊天記錄 markdown。插件還支持私聊文件自動轉存到本機。

語音、圖片與生圖

語音轉文字 STT

觸發方式:

  • 羣聊:@機器人並引用一條語音
  • 私聊:直接發送語音

支持的端點包括:

  • 智譜 GLM-ASR-2512
  • OpenAI 兼容 /audio/transcriptions 端點

相關接口爲:

/audio/transcriptions

注意:

  • 智譜 GLM-ASR-2512 限制 wav/mp3、不超過 30 秒、不超過 25MB
  • 更長語音可換 SiliconFlow 等端點
  • 智譜接口的 multipart 字段必須是 file,且爲二進制
  • 使用 file_base64 會報 1214 錯誤

語音回覆 TTS

支持三種合成方案:

  • Azure 曉曉
  • OpenAI 兼容服務
  • 本地 GPT-SoVITS 語音克隆

本地 TTS 需要配置參考音頻路徑:

ttsLocalRefAudio

示例要求爲 3-10 秒 wav。

生圖

生圖命令:

/畫 描述詞

羣聊中使用時需要 @機器人。支持後端:

  • OpenAI 兼容接口
  • 本地 Stable Diffusion WebUI

安全、默認關閉與運行注意

安全配置

安全相關配置項包括:

allowUsers
allowGroups
accessToken
replyOnlyWhenMentioned

規則:

  • allowUsers 爲空會拒絕所有私聊
  • allowGroups 爲空會拒絕所有羣消息
  • accessToken 爲空表示不校驗
  • 配置 accessToken 後,OneBot 端需攜帶同一 token
  • replyOnlyWhenMentioned 默認 true,羣聊僅 @機器人 纔回復

默認關閉項

以下開關默認關閉:

quietHoursEnabled
ttsEnabled
checkinEnabled
welcomeEnabled
imageGenEnabled

quietHoursEnabled 用於開啓工作日靜默時段。週末自動豁免,已排定的提醒和投票開獎不受影響。

人設解耦

插件本身不包含任何人設或記憶內容。人設與羣規則可經 dsh-mnemon 的文件注入會話:

USER.md
MEMORY.md

安裝與啓用

1、先確認依賴層級。資料中確認的 peerDependencies 要求爲:

@deepseek-ai/cordis ^4.0.1
@deepseek-ai/dsh-* ^0.1.0-rc.6

2、安裝本地目錄插件:

dsh plugin --profile web add <本目錄>

3、在 NapCat 等 OneBot 實現中配置反向 WebSocket 地址:

ws://127.0.0.1:6700/

如果插件配置了 accessToken,OneBot 端需填寫同一 token。

4、按業務填寫白名單:

allowUsers
allowGroups

如果兩個白名單都爲空,私聊和羣消息都會分別被拒絕。

5、重啓 DSH web 服務使裝/卸生效:

dsh web

6、卸載插件:

dsh plugin --profile web remove dsh-qq-onebot-bridge

典型用法

會話狀態

/new
/status

/new 重置當前會話,/status 查看會話狀態。

定時提醒

30分鐘後提醒我喝水
明天9點提醒我開會
/reminders

羣管理

/summary
/todo
記一下:xxx
投票:問題?A 選項 B 選項
/mute
/unmute
/kick
/clear

其中 /kick 需要二次確認。

語音轉文字

羣聊中:

@機器人,並引用一條語音

私聊中:

直接發送語音

生圖

私聊或羣聊:

/畫 描述詞

羣聊需要 @機器人。

診斷與導出

/health
/export

適用場景與注意

適合已經有 DSH agent,並且需要把 QQ 羣聊或私聊接進來的開發者。這個插件適合做消息入口、會話隔離、羣管理、語音轉文字、圖片引用和基礎自動化提醒。

使用前注意:

  • 該插件以當前 DSH 進程權限運行
  • 安裝前應檢查源碼與許可證
  • 白名單爲空會拒絕對應消息
  • accessToken 爲空時不校驗 OneBot token
  • 智譜 ASR 對時長和大小有限制
  • 本地 TTS 需要參考音頻
  • quietHoursEnabledttsEnabledcheckinEnabledwelcomeEnabledimageGenEnabled 默認關閉
  • DSH 社區目錄是獨立站點,不等同於官方應用商店

結尾

dsh-qq-onebot-bridge 的價值在於把 QQ 消息、會話隔離、提醒、羣管理、語音和圖片能力接到 DSH agent 會話上,減少在 OneBot 側重複維護橋接邏輯。

倉庫地址:

https://github.com/cheesehaqi/dsh-qq-onebot-bridge

資料中未確認目錄頁 URL。如需查看目錄頁,可按插件名在獨立社區目錄中搜索。

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

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

小夜