dsh-roost
给 QQ 机器人接上 DSH 的全部能力:工具、记忆、上下文压缩、主动搭话,带一键接入
一句话定位
给 QQ 机器人接上 DSH 的全部能力:工具、记忆、上下文压缩、主动搭话,带一键接入
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add dsh-roost@1.0.9
兼容的 DSH 版本
未声明
作者与热度
tdcq9594 · ★ 24 · 更新于 2026-11-10
关于这个插件
dsh-roost
> 给 QQ 机器人接上 DSH 的全部能力:工具、记忆、上下文压缩、主动搭话。
零依赖,装在 DSH 里:权限、记忆、人格、能力、排期都在侧栏十一页面板里点着配。
[快速开始](#快速开始) | [使用手册](docs/USER-MANUAL.md) | [常见问题](#常见问题) | [文档](#文档) | [贡献](https://github.com/tdcq9594/dsh-roost/blob/main/CONTRIBUTING.md)
| 🛡️ 官方接口,不碰风控 | 🎚️ 逐条权限,不整群一刀切 | 🧠 三层记忆,跨重启不丢 | 🔌 七步一键接入 |
| ------------------------------ | ------------------- | --------------------- | ------------------------- |
| 走 QQ 开放平台 + ai-chat,不 hook 客户端 | 每句先判身份再收工具,认不出一律最低档 | 事实 / 日记 / 知识图谱,凌晨自动巩固 | Roost 本体、ai-chat、适配器配置自动装 |
> 侧栏「概览」页:六格实时状态(已建立的会话、等待回复、排队、最近一轮耗时、今日轮次与 token、工具挂载),下方是权限说明与接入进度 5/5。截图已裁掉 DSH 会话列表与桌面挂件;换图要求见 [docs/images/README.md](docs/images/README.md)。
---
它做什么
给每个 QQ 会话建一个长期存在的 DSH 会话——一个群、一个私聊各对应一个,断线重连、重启之后映射还在。之后的每一轮:
1. 认人:判断这句话是谁说的,按档位收好这一轮能用的工具
2. 交给 DSH:把消息送进对应会话,等 AI 说完;工具、记忆、上下文压缩、人格都由 DSH 提供
3. 送回去:按 ai-chat 给的地址回话,分几段说、配图、发语音、要不要收尾,都由模型自己调工具决定
能力从哪来,一眼看清:
| 你要的能力 | 由谁提供 |
| --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| 收发 QQ 消息、语音 ASR、引用 / 合并转发、切段、防吵(冷却 / 配额 / 认领) | [ai-chat](https://github.com/tdcq9594/qq-bot-roost-plugins) 插件 + [Roost](https://github.com/tdcq9594/qq-bot-roost) 框架 |
| 会话、工具(文件 / 命令)、三层记忆、上下文压缩、人格 | DSH |
| 会话映射、逐条权限、十一页面板、一键接入、主动搭话与排期 | dsh-roost |
为什么值得接:ai-chat 直连模型时,AI 只有「聊天」这一件事。挂到 DSH 上之后,它能用 DSH 的工具(文件、命令)、三层记忆、上下文压缩——这是 adapter: dsh 唯一的价值,也是它比直连贵的地方。
数据怎么走(链路图)
QQ ⇄ Roost 内核 ⇄ ai-chat 插件 ⇄ POST /inbound ⇄ dsh-roost ⇄ DSH 会话 ⇄ DeepSeek
⇄ POST /reply ⇄
/inbound 的请求形状、回复契约和鉴权见 [接入说明](docs/接入说明.md)。
只支持 QQ;通道抽象已备好,但还没接第二个平台。需要多平台可以看 [AstrBot](https://github.com/AstrBotDevs/AstrBot) 或 [Koishi](https://github.com/koishijs/koishi)。
---
特性
| 能力 | 一句话 |
| ------------------------ | --------------------------------------------------------------------------------------------------------- |
| 🗨️ 一个 QQ 会话 = 一个 DSH 会话 | 映射存盘,断线重连、重启之后会话不丢 |
| 🧭 一键接入 | 七步向导 + 「一键就绪」,Roost 本体、ai-chat 插件、适配器配置都能自动装 |
| 🔐 逐条权限判定 | 每一句都告诉 AI「谁在说、什么档位」,并按档位收本地工具 |
| 🧠 三层记忆 | 跨群 / 本群事实 + 日记(三级衰减 + 关键词 / 向量检索)+ 知识图谱 |
| 🛠️ 记忆工具 | memory_search / memory_note,让模型主动翻旧账 |
| 🌙 凌晨巩固 | 打分、升降级、到期压缩、抽三元组、提取约定,不花白天的额度 |
| 🌅 觉醒 | 约定 / 想你 / 随性三类机会打分,到点「问她要不要说」,不是硬发 |
| 💬 对话收尾 | 记一句「收在哪 / 下次怎么接」,不发言、不动记忆;刚说完晚安 90 分钟内不重复冒出 |
| 🗣️ 发言走工具 | qq_send / qq_close 由模型自己调,调几次就是几条独立消息,不是一段文本被动切段 |
| 📎 能发文件 | qq_send_file,可选路径白名单;发之前先问对面支不支持,一轮一个、200MB 上限、超 5MB 自动分片 |
| 📣 能 @ 人 | at 参数;[昵称 (openid)] 由宿主拼,模型不碰 id 语法,降级时会告诉它为什么 |
| 🗜️ 上下文压缩 | 群 85% / 私聊 75% 时开新会话 + 摘要开场,压缩前的缓存命中率记进面板 |
| 📱 侧栏面板 | 十一页:状态、记忆、人格、能力、排期、账号迁移、日志都在 DSH 里看 |
| 🧬 人格四段式 | 性格 / 开场白 / 说话示例 / 世界书;世界书命中才注入,聊几十轮人设也不被冲淡 |
| 🔄 人格库一键更新 | 独立仓库 [dsh-roost-personas](https://github.com/tdcq9594/dsh-roost-personas) 推个 commit,面板点一下就拿到,不用发版;只覆盖没改过的 |
| ⬆️ 本体自更新 | 设置页查最新版一键装,失败回滚 package.json + lock;符号链接装的开发机自动禁用 |
| 🎭 双人格 preset | 私聊 roost-private / 群聊 roost-social 各一套提示词 |
| 🖼️ 表情包 | 图丢进目录就能用,文件名或侧车 .tags 当标签;分类 + sticker_pick 按需取图,加图不冲提示词缓存 |
| 🔊 语音合成(选装,默认关) | 五种 provider,tts.speed 一份共用;不配就完全静默,配好模型才能用 <> |
| 🔑 账号迁移 | 把 QQ号 / 群号和 openid 对上,换 AppID 后旧记忆照样读得到;绑定完全自愿、非必需 |
20 条特性的完整说明、配置全文、五种语音 provider 的字段、表情包侧车语法、账号改写备份路径、十一页面板明细等,全部在 [使用手册](docs/USER-MANUAL.md)([特性逐条说明](docs/USER-MANUAL.md#特性逐条说明))。
---
快速开始
你需要:DSH 桌面版 / Web 组合(要有 sessionController 和 agents)、Node 22+、一个 QQ 开放平台机器人(AppID / AppSecret)。Roost 和 ai-chat 不用提前准备 —— 接入流程里会装。
1. 装插件
DSH 插件市场里输入包名 dsh-roost,或命令行:
dsh plugin --profile web add dsh-roost
同分类对比
同一分类下 Star 最高的 5 个,便于横向比较。
| 插件 | 作者 | Star | 版本 | 更新 |
|---|---|---|---|---|
| EverOS | EverMind-AI | 13.9K | 0.0.0 | 2026-11-10 |
| billion-context | ranxianglei | 5.9K | 0.1.213 | 2026-11-10 |
| dsh-context | bowenliang123 | 4.8K | 0.83.1 | 2026-11-10 |
| memsearch | zilliztech | 2.9K | 0.0.0 | 2026-11-10 |
| dsh-mnemon | omdsh-dev | 957 | 0.5.43 | 2026-11-08 |