dsh-qq-relay:把 DeepSeek Harness 接到 QQ 私聊

前言

DeepSeek Harness(DSH)的交互默认在桌面会话里完成。如果你希望在路上用 QQ 给同一个 Harness 会话发消息、收回复,常见做法是另写桥接脚本或自建网关,还要自己处理图片、文件和媒体链路。

dsh-qq-relay 是社区维护的 DSH 客户端类插件(维护者 HDHKVT,目录页见 SkillHub)。它通过 QQ 开放平台的官方 QQbot,把私聊消息投进你指定的 DSH 会话,模型答完后自动发回 QQ;文字、图片、动图、表情包、文件、视频与 B 站链接在 README 中均有对应说明。

下面按定位、能力、安装启用和注意事项说明用法。DSH 生态奉行「一切皆插件」;SkillHub 等目录为社区站点,与 DeepSeek / 幻方无官方从属关系。

这是什么

一句话:Node 宿主插件,自行连接 QQ 开放平台网关,在「锁定」的 DSH 会话与 QQ 私聊之间双向中继消息与媒体。

  • 仓库:HDHKVT/dsh-qq-relay
  • 运行时要求:package.json 中 engines.node 为 >=20
  • 代码许可:MIT(角色素材另见仓库 assets/ 与 CC BY-NC-SA 4.0 说明)

核心功能

文字与回执

QQ 消息进入 DSH 后,插件可向 QQ 侧发送「已收到」类回执,避免长时间无响应显得像未送达。设置页可开关回执、限定仅在图片/文件等场景发送,并自定义回执文案。

图片与动图

  • 动图:按间隔截取多帧并拼图,帧数可在「QQ 中继 → 图片 → 动图帧数」调整,便于 DSH 理解多帧内容。
  • 连发多张图:通过「连发合并」时间窗口,把 QQ 短时间内连续发出的图片合并为一条 DSH 会话消息。
  • 图片库:incoming 为临时库(可配置自动清理);stickers 为表情包库(不自动删)。

表情包收录与发送

通过自定义「暗号」把图片收入表情包库,支持:引用图片说暗号、图与暗号同条消息、或先发图再在 120 秒内单独发暗号。收录后可自动命名;主动发送频率可在设置页调节。

文件

支持 QQ → DSH 与 DSH → QQ 双向收发;单文件大小上限可在设置中配置。

视频与 B 站

  • 在 QQ 发送视频或 B 站链接时,可走插件的视频理解管线(可选 Python 3.12 + venv + Whisper)。
  • 模式:fast(默认 base 模型 + VAD,README 称约 12 倍实时)与 accurate(large-v3-turbo,约 2.4 倍实时);支持抽帧、字幕分页与结果缓存。
  • 未配置 Python/venv 时,analyze_video 会报错,文字、图片、文件与 B 站下载仍可用(见 README「功能降级表」)。

架构概览

QQ 开放平台  ⇄  dsh-qq-relay(Node 宿主插件)
                    ├─ lib/qq-direct.js   token / 网关 / 心跳 / 重连
                    ├─ lib/delivery.js    主人门禁 → 去重 → 投进会话
                    ├─ lib/qq-reply.js    按 turn 关联回答,切好再发回
                    ├─ lib/vision.js · gif.js · files.js · stickers.js
                    └─ video/video_processor.py   ASR + 抽帧 + 拼图(可选)

浏览器侧 lib/client.js 提供「QQ 中继」设置页。插件另保留 transport: "mailbox" 信箱协议(冻结、兼容旧配置),默认走 direct 直连。

安装与启用

安装

在 DSH 中用自然语言安装,README 给出的方式为:

安装这个插件:https://github.com/HDHKVT/dsh-qq-relay

安装前建议阅读仓库源码与许可证;插件以当前 DSH 进程权限运行,会读写本机配置与媒体目录。

首次使用

  1. 在 QQ 开放平台注册官方 QQ 机器人,在后台获取 AppId、AppSecret。
  2. 打开 DSH 设置页 →「QQ 中继」→ 填写 AppId、AppSecret 并保存。
  3. 在目标会话点击「锁定」按钮(README 图示说明),未锁定时消息无法进入,会提示 no-session)。
  4. 在 QQ 私聊给机器人发消息;按 README 让机器人获取 Owner OpenID,并填回设置页。

未配置 appId / appSecret / ownerId 时网关不连接,设置页报错,QQ 无响应。

视频理解(可选)

若需视频 ASR,在数据目录下准备 Python 3.12 虚拟环境并安装依赖(README 示例为 Windows PowerShell):

py -3.12 -m venv video\.venv
video\.venv\Scripts\python -m pip install -r video\requirements.txt

默认 Whisper base 模型约 145MB,首次分析时自动下载到 <数据目录>\hf-cache;可选手动放置 large-v3-turbo 并在设置页指定「视频 → 模型目录」。国内网络 README 说明已默认使用 HF_ENDPOINT=https://hf-mirror.com。

典型用法

  1. 锁定一个长期使用的 DSH 会话,在 QQ 私聊中像对助手一样发文字或贴图,等待 DSH 处理完成后在 QQ 收到纯文本回复(QQ 侧限制为纯文本、900 字以内、不带 Markdown,见 README「约定与坑」)。
  2. 需要 DSH 记住某张梗图:按暗号规则收录到 stickers,之后由插件按频率或模型工具主动发到 QQ。
  3. 转发 B 站链接或本地视频:在已配置视频环境时走 analyze_video;仅要下载或文字对话时可不装 Python。

适用场景与注意

适合谁:已在用 DSH 做本地 Harness 开发、希望用手机 QQ 私聊同一套会话的人;需要图片/文件/表情包/视频链路而不想自建 QQ 网关的开发者。

隐私:README 写明数据在本机插件数据目录;日志只记录 CDN 主机名;biliCookie 仅存本地 relay.json,接口不向浏览器下发明文。

已知限制(摘自 README):

  • 仅支持私聊,群聊(GROUP_AT_MESSAGE_CREATE)未实现。
  • 视频 ASR 在纯音乐场景可能「脑补」字幕;B 站目前侧重 720P 单文件与纯音频,1080P 受登录与 DASH 限制。
  • 无 GPU,ASR 走 CPU int8。
  • 旧「引擎信箱」链路保留但冻结。

结尾

dsh-qq-relay 把 QQ 官方机器人与 DSH 会话锁定机制接在一起,覆盖文字回执、富媒体与可选视频理解,适合作为个人 QQ 入口使用。进一步了解功能细节与二次开发地图见仓库 README;安装与分类信息也可在 SkillHub 插件页 查看。

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

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

Xiaoye