dsh-qqbot-dispatch:向 QQ 会话下发任务与侧栏管理功能模组

前言

在 DeepSeek Harness(DSH)里接 QQ 机器人,常见做法是安装官方或社区的 @tencent-connect/dsh-qqbot,在 IM 会话里与机器人对话。若你希望从当前 Harness 会话向机器人已建立的群聊或私聊「丢」一段任务,并在 Web 侧栏统一管理可扩展的通知类功能(例如赛程提醒、定时闲聊),单靠上游 QQ Bot 插件往往还要自己拼工具调用与会话映射。

dsh-qqbot-dispatch(侧栏展示名:QQ 机器人 · 通知助手)由社区开发者 MoonightsZ 维护,归类为客户端插件。它是 @tencent-connect/dsh-qqbot 的社区补充:提供下发任务的工具、会话列表与映射解析,并内置 CS2 赛事通知、偶尔闲聊等模组,也支持按约定在 modules/ 下扩展。

这是什么

一句话定位:在已配置 QQ Bot 的前提下,把任务投递到指定 QQ 会话,并在 DSH Web 侧栏查看会话、配置全局投递方式与各功能模组。

维护者与来源:GitHub 仓库 MoonightsZ/dsh-qqbot-dispatch,目录页 SkillHub 插件条目。项目为社区独立开发,与腾讯、DeepSeek 及上游 QQ Bot 维护方无隶属关系;采用 MIT 许可证,package.json 中版本为 0.1.0。

核心功能

任务下发工具

插件向 DSH 注册两个工具:

工具 用途
qqbot_dispatch 向指定 QQ 群聊或私聊提交任务;接受后立即返回,不等待目标回合完成,也不把回复带回当前会话。
qqbot_sessions 列出 QQ Bot 已记录的会话映射;传入 scope 和 peerId 时可解析单个目标。

qqbot_dispatch 必填参数为 scope(group 群聊 / c2c 私聊)、peerId(群 openid 或用户 openid)、text(任务内容)。可选 mode:queue 排队(默认)或 steer 插入进行中的回合。

Web 侧栏

启用后侧栏出现「QQ 机器人 · 通知助手」,主要包括:

  • 会话:展示已映射会话的标题与活跃状态;可刷新本地列表、向平台同步群名。页面可见时约每 20 秒重读列表,目标会话下拉获得焦点时也会刷新。
  • 功能:模组导航与配置;内置 CS2 赛事通知(按队伍与等级筛选赛程、每日汇总与赛前提醒)和偶尔闲聊(概率、冷却与安静时段)。切换模组不会清空未保存的表单。
  • 配置:全局默认目标会话、全局投递方式(服务回合投递或直接发送 Markdown),并列出仍继承默认目标的模组。

全局投递

「配置」页的投递开关作用于所有功能模组:默认「服务回合投递」下,CS2 固定内容由 Agent 尽量原样输出,可选「AI 焦点分析」;闲聊由 Agent 结合上下文生成开场白。「直接发送 Markdown」则调用上游 Bot 实例的 sendMarkdown,CS2 的模板与焦点分析在该模式下暂不生效。全局设置落在 ~/.dsh-qqbot/dispatch-features.json 的 settings.defaultTargetSessionId 与 settings.deliveryMethod。

安装与启用

先做两件事:安装并配置好 @tencent-connect/dsh-qqbot,再将本插件加入同一 Web profile(安装命令来自仓库 README,路径需改为你本机插件目录的绝对路径):

dsh plugin --profile web add /abs/path/to/dsh-qqbot-dispatch

在 profile 的 cordis.patch.yml 中为本插件指定与 qqbot 相同的 AppID:

- insert:
    - id: qqbot-dispatch
      name: 'dsh-qqbot-dispatch'
      config:
        appId: '<QQ Bot AppID>'

启用包含此补丁的 bundle,重启 Harness 后侧栏应出现对应入口。若从旧配置迁移,需将 tool-qqbot-dispatch 行的 id 与包 name 一并更新;工具名与 /qqbot-tool-dispatch/* 路径保持兼容。

典型用法

向群聊下发任务

在 Agent 或工具调用中传入 JSON 形参,例如:

{"scope":"group","peerId":"<group_openid>","text":"整理今天的讨论重点","mode":"queue"}

先用 qqbot_sessions 确认目标已在 QQ Bot 的映射中;新群或新私聊需先让机器人收到该会话的消息,会话才会进入列表。

模组与默认目标

在「配置」页选定默认目标后,未单独指定目标的模组会继承该会话。要为某模组单独指定会话,在「功能」页对应模组中设置;若已启用模组仍依赖全局默认,须先为其指定独立目标或关闭模组,才能清空全局默认。

直接发送 Markdown 的前置条件

选择「直接发送 Markdown」时,若提示尚未取得 QQ Bot 实例:启动或重启插件后,让机器人收到一条 QQ 消息(向目标群发普通消息最方便),再重试。每次进程重启后都需要重新收到消息。服务回合投递不依赖该实例,但新会话同样需先与机器人建立映射。

适用场景与注意

适合谁:已在 DSH Web 环境跑 QQ Bot,需要从 Harness 侧异步向 QQ 群/私聊派任务,或想在侧栏统一调度社区化「通知/闲聊」类模组的用户。

依赖与边界:

  • 会话目标以 QQ Bot 的 model-prefs.json 中的 peer 映射为准;未记录或已归档的会话不能作为投递目标。
  • qqbot_dispatch 提交的是外部回合;QQ 侧是否主动推送由上游 proactiveDelivery.externalTurns 控制。服务回合来源为 plugin:dsh-qqbot-dispatch,不受 externalTurns 控制。界面上的「已提交」「已调用上游发送」不代表 QQ 客户端送达确认。
  • 主动消息仍受 QQ 平台权限、额度与频率限制;群接口 HTTP 404 时插件会将群标为不可用并暂停相关通知,成功同步群名后可恢复。
  • 扩展模组在启动时扫描 modules/*/module.json,默认关闭;启用后 provider.js 与 DSH 同进程运行,关闭开关不能卸载已加载代码,需重启进程。机制不提供进程隔离,只应启用你已检查来源与代码的模组。

安全与合规:插件以当前 dsh 进程权限运行。安装前请阅读源码与 MIT 许可证,并遵守 QQ 开放平台规则;违规后果由使用者自行承担。

结尾

dsh-qqbot-dispatch 把「向 QQ 会话派任务」和「侧栏模组化管理」收拢到上游 QQ Bot 之上,适合需要工具化下发与会话运维、又不想从零写投递链路的 DSH 用户。进一步了解可从目录页 skillhub.cn/plugins/MoonightsZ/dsh-qqbot-dispatch 进入,完整安装说明、模组结构与限制见 GitHub README。

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

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

Xiaoye