前言¶
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 仓库。