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。如需查看目录页,可按插件名在独立社区目录中搜索。

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

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

小夜