前言¶
在 DSH 里跑工作流时,常见需求是把若干 QQ 群里的讨论定期整理成可读报告,再推到自己的私聊里,而不是手动翻聊天记录或另写脚本接模型 API。若自己搭 OneBot 协议端、写去重与分批逻辑、再对接 DSH 的模型配置,链路长、维护成本高。
下面介绍的 dsh-qq-group-digest(维护者 w2018,分类:工作流)把「收群消息 → 按阈值成批总结 → 按群私聊投递」做成一条流水线:模型调用走 DSH 已配置的 ctx.llm.stream,凭证与路由沿用「设置 → 模型」,插件本身不持有 API Key。QQ 登录与 OneBot 11 协议由配套项目 LuckyLilliaBot 提供,本插件只负责监听正向 WebSocket 上的群消息并完成后续处理。
这是什么¶
dsh-qq-group-digest 是 DeepSeek Harness 的 bundle 插件,当前版本 v0.5.2(2026-10-26 发布),许可 MIT,npm 包名 dsh-qq-group-digest。运行要求:DSH ≥ 0.1.7-rc.2 且至少配置一个可用模型,Node ≥ 22(使用内置 WebSocket,插件零运行时 npm 依赖)。
接收总结的 QQ 账号必须是 bot 账号的好友,否则私聊投递无法完成。
核心功能¶
以下能力均来自插件 README 与清单说明,可按需组合使用。
群消息采集:连接 OneBot 11 正向 WebSocket,按群白名单采集;用 (group_id, message_id) 双层 LRU 去重,按 real_seq 排序并标注缺口。
批次触发:每群独立状态机,在 threshold、maxBuffer、maxWaitMs 任一条件满足时冻结批次;freezeGraceMs 用于缓解乱序抖动。
总结与上下文:每群在 summaries/<群号>.json 保留最近 20 条历史总结,每次总结可附带此前 historyCount 条,减少重复叙述。支持普通总结与「AI 精细版」两套 system prompt(prompt.system / prompt.detailSystem),可在设置页编辑或恢复默认。默认用本地 Markdown 渲染;开启 AI 精细版后会再调一次模型,失败时回退本地渲染,不影响 QQ 投递。
过滤:关键词模糊匹配与按群排除成员,命中消息不计入总结,丢弃原因记入 dropReasons。
投递:按群生成报告,超长内容按行分段发送。多群在同一聚合窗口内触发时,每群各发一条(仅该群超长才分段);单群失败不影响其它群,失败报告写入 outbox/failed-<时间>-<群号>.md。delivery.aggregateWindowMs 只影响多群是否在同一批里一起投递,不合并成一条跨群消息。
独立 Web 服务(默认关闭):可开独立端口(默认 http://0.0.0.0:1213),提供配置页、日志页、总结记录页,密钥验证默认开启,与 DSH 设置页并存。
热重载:修改 lib/** 后可在界面「热重载插件」;改设置保存后校验、写 settings.json 并热重建运行态,WebSocket 断线重连即可,无需重启 DSH。
安装与启用¶
1. 在 LuckyLilliaBot 中开启正向 WebSocket¶
在 LLBot 的 OneBot 11 配置里启用正向 WebSocket,记下 host、port、token。README 示例:
{
"enable": true,
"name": "dsh-digest",
"host": "127.0.0.1",
"port": 3001,
"token": "换成你自己的口令",
"messagePostFormat": "array",
"enableForcePushEvent": true,
"reportSelfMessage": false
}
改完后重启 LLBot,确认监听端口(Windows 示例):
Get-NetTCPConnection -State Listen | Where-Object LocalPort -eq 3001
2. 安装插件¶
推荐锁定 npm 版本:
dsh plugin --profile desktop add dsh-qq-group-digest@0.5.2
也可从 GitHub 源安装:
dsh plugin --profile desktop add github:w2018/dsh-qq-group-digest
3. 在 DSH 设置页配置¶
打开 DSH → 设置 → 存储与预演(以及 QQ 群总结 相关面板),填写 OneBot 连接、群白名单、批次阈值、投递好友等项。首次建议开启 dryRun:报告只写入 outbox/dryrun-*.md,不发 QQ;核对满意后在「设置 → QQ 群总结 → 存储与预演」关闭 dryRun,热生效。
运行期数据默认位于 $DSH_HOME/storages/qq-digest/(可通过 storage.dir 修改),包括原始消息 messages/、总结 summaries/、预演与失败兜底 outbox/、按天日志 logs/ 以及 settings.json。
典型用法流程¶
- 本机或内网先跑起已登录 QQ 的 LuckyLilliaBot,并保证 OneBot 11 正向 WS 与插件配置一致。
- 在 DSH「设置 → 模型」中配置好将要使用的模型。
- 安装插件后,在设置页指定监听群、批次参数(
threshold/maxBuffer/maxWaitMs等)、私聊接收好友;需要调试时保持dryRun开启。 - 保存配置后观察 WebSocket 连接与
outbox或私聊结果;若需局域网内单独管理,可按需开启插件 Web 服务并设置访问密钥。 - 生产投递前关闭
dryRun,确认过滤规则与提示词符合预期。
可选:开启「AI 精细版」时,每批总结会额外调用一次模型生成长文(README 建议约 800–1200 字、全文不超过 1200 个汉字,含待办与关键链接),成本与延迟会高于默认本地渲染。
适用场景与注意¶
适合:需要在 DSH 生态内把多个 QQ 群讨论自动汇总、按群推送到指定好友私聊的开发者或小团队;希望模型配置与 DSH 全局一致、不想在插件里重复填 Key 的场景。
注意:
- 插件以当前 DSH 进程权限运行,安装前应自行审阅 GitHub 源码 与 MIT 许可证,并理解其会读写
$DSH_HOME/storages/qq-digest/下的消息与总结数据。 - 社区插件目录 SkillHub 条目 为独立站点信息,与 DeepSeek / 幻方无官方从属关系;安装与配置以仓库 README 为准。
- 卸载需从 profile 的
package.json与dsh.profile.bundles移除依赖、pnpm install后重启 DSH;存储目录不会自动删除,需自行决定是否清理。
结尾¶
dsh-qq-group-digest 把 OneBot 11 群消息、DSH 模型总结与 QQ 私聊投递串成固定流水线,并支持 dryRun、按群失败隔离、历史上下文与可选 Web 管理端。若要查看版本与依赖细节,可参考 GitHub 仓库 与 SkillHub 目录页。