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