dsh-aurabot-qq
Discovered★ 30DeepSeek Harness Plugin: Let AI Move Into QQ as the "Big Fat Fish" (SnowLuma / OneBot v11)
Aurabot · 住在 QQ 里的大肥鱼
DeepSeek Harness(DSH)插件。DSH 里的 AI 以独立 QQ 号「大肥鱼」的身份住进 QQ:有人格、心情和记忆,能看图、发语音、听语音、发和收表情包、用自己的声音翻唱、写 QQ 空间日记、逛空间回评论、刷 B 站发评论,还会主动找你聊天。
QQ ⇄ SnowLuma(OneBot v11,你自己安装)⇄ Aurabot 插件 ⇄ DSH 会话(Aurabot 自带的 preset + 人格)
- 入口:DSH 左侧栏「自动化任务」下面的「Aurabot」。整页面板用标签分功能:概览、连接、人格、权限、聊天、模型、语音、表情包、生图、空间日记、主动搭话、心情与记忆、翻唱、B站、本地接口、扩展、日志。
- 开放:每项本事都是模块,能关、能替换、能复制一份来改;自己写的模块放在数据目录
modules/,升级不覆盖、保存即生效。连群聊插话策略、交给她的提示词、回复怎么拆、最终发出去什么、用哪个模型都能用模块改。说明见 src/modules/API.md,不会写就让 DSH 照着写。 - 会话:每个 QQ 私聊或群各对应一个 DSH 会话,都放在侧栏的「Aurabot · QQ」工作区里,可以点开看她想了什么、调了什么工具,也可以直接插话。
- 安全默认:总开关关、试运行开。不手动打开,一句都不会发到 QQ。
安装
需要:Windows、DeepSeek Harness 桌面版、一个用来当机器人的 QQ 小号。
& "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add github:accomplish07zrh-eng/dsh-aurabot-qq
装好后重启 DSH,打开左侧栏「自动化任务」下的 Aurabot,跟着设置向导走:
- 填机器人 QQ 号(用小号)和你的 QQ 号
- 自己下载并解压 SnowLuma
- 启动,在面板里同意 SnowLuma 的协议(控制台密码自动生成)
- 登录机器人号,点「接入机器人号」
- 先试运行,或直接上线
升级
在 PowerShell 里运行下面这行(拉取 GitHub 上的最新版),然后重启 DSH。设置、人格、记忆都会保留;有新版本时面板里也会提示。
& "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add github:accomplish07zrh-eng/dsh-aurabot-qq
设计要点
| 方面 | 做法 |
|---|---|
| 人格注入 | 插件在 cordis.patch.yml 里自带两个 agent preset:aurabot-private(主人私聊,完整工具)和 aurabot-social(群聊和其他人私聊,没有任何本地工具)。人格通过 @deepseek-ai/dsh-persona 放在系统提示词最前,文本来自插件注册的提示词变量 {{aurabot_persona}},切换人格无需重建 preset。 |
| 每轮变化的内容 | 心情、记忆用 agent.ctx.systemPrompt.context(),追加在对话末尾,不破坏前缀缓存。 |
| 群聊上下文 | 群里停顿几秒算一段,她回上一段时新消息先攒着,看完整段再回(不会一条一回);交给她的是这一段谁说了什么、之前在聊什么,新消息带编号,想专门接某一条时可以引用回复。合并转发会展开成里面的聊天记录再给她;有人戳她(拍一拍)当成对她说的话,她也能戳回去。被叫必回,没人叫时按话题相关度插话,加入话题后接着聊;有防刷屏的刹车。 |
| 记忆 | 本地索引记忆库(中文二元切词 + BM25,再按「关于当前说话人」「重要程度」和遗忘曲线加权,越常被想起的忘得越慢)。来源:她自己记的、每天两次从聊天和空间动态里整理出来的、她自己的经历(唱了什么、评论了谁)、空间日记、你手动加的。整理时新事实先和旧记忆比对:补充旧的就合并,说明旧的过时了就把旧的标成「已过时」(不删,能恢复)。每个人有一张常驻的「人物小档案」,每个人 / 群还有「相处经验」和「说话方式」。想起的记忆带时间;对方只说「嗯嗯」时连上一句一起想;面板能看到最近几轮想起了哪几条;可以导入旧档案。 |
| 心情 | 默认按关键词,可选每轮用模型判一次(有把握才算,分得清她主动找人时的心意);被夸、被凶会推动心情,按半衰期回到平常;心情明显时每轮告诉她该怎么说话,并实际影响发表情 / 语音的概率、回复快慢、插话积极程度。 |
| B 站 | 定时从她的兴趣、记忆里主人喜欢的东西和面板关键词里挑方向搜视频(WBI 签名),读简介、字幕和热评,再按人格决定评论 / 私聊分享给主人 / 记住什么;定时看别人回她的评论并接着回。主人在 QQ 里发 B 站链接或分享卡片,她用 bili_watch 看完再聊。看过、评过、回过的都记成她的经历。只看和评论,不碰改资料、关注、私信。 |
| 模块 | 除了核心(配置、QQ 网关、聊天中枢、人格、权限、面板),每项本事都是模块(src/modules/)。内核(src/core/modules.js)负责开关、替换、热重载和出错隔离:模块注册的工具、上下文、规则、命令、事件、定时任务、接口都记在它名下,停下时一起撤掉;聊天中枢用到表情、语音、心情、记忆时,找的都是当时在跑的那个模块。用户模块放在数据目录 modules/(升级不碰),和内置模块同名就是替换。扩展接口版本化,说明见 src/modules/API.md、类型见 src/modules/aurabot.d.ts(每次启动复制到 modules/)。聊天主流程留了改写挂钩:群聊决定、提示词、回复拆条、最终发送、模型选择、人格和规则。自己写的模块按快照加载(多文件、npm 依赖都能热重载),面板「扩展」页有模拟测试(截获发送,不真发)。 |
| 本地接口 | 语音合成、生图、翻唱换声、语音识别都能换成自己电脑上的模型或服务:面板生成带示例的脚本(放在数据目录 local/,升级不覆盖、改完即生效),也可以「复制给 DSH 的话」让 DSH 照接口说明帮你改。 |
| QQ 命令 | 主人在 QQ 里直接发 /silent /active /quiet /chatty /model /sing /remember /status 等管她,总开关关着也能用。 |
| 工具 | 由各模块提供,按会话注册(agent.ctx.tools.register),只出现在 Aurabot 的会话里。群管在工具层校验这一轮有主人下令、对象不是主人、她在群里有管理权限;点歌、生图校验「这一轮说话的人全是主人」,不只靠人格约束。 |
| QQ 网关 | SnowLuma 的 OneBot v11:WS 收事件(实时),HTTP 调接口。插件从 SnowLuma 配置文件自动读取端口和令牌。 |
| SnowLuma 管理 | SnowLuma 的 EULA 第 5.4 条不允许「通过自动化脚本部署」,所以插件不下载,也不替你同意协议:协议全文显示在面板里,由你本人勾选同意。插件只启停你自己装好的那一份(后台运行,不弹窗口);第一次启动时用 SNOWLUMA_WEBUI_BOOTSTRAP_PASSWORD 设一个自己生成的控制台密码。注入前用 /api/processes 核对每个 QQ 进程登录的号,只注入机器人号;hookAutoLoad 永远关。 |
| 语音 | TTS 用 edge-tts(装在插件自己的 Python 虚拟环境里),也可以接本地的 CosyVoice、GPT-SoVITS,装不上时用 Windows 自带中文语音兜底。ASR 先用 QQ 自带的语音转文字(fetch_ptt_text),再试 DSH 的 speechToText。 |
| 表情包 | 只收真正的表情(sub_type=1、mface、带 emoji_id 的),再过尺寸、宽高比、体积、MD5 去重、每小时限额几道关。收下后 add_custom_face,视觉模型起备注后 modify_custom_face。 |
| 空间 | 空间日记用 send_qzone_msg,在专用的后台会话里写,结合当天聊天流水。空间互动:定期看自己说说下的新评论和回复(按整串评论来回,一串只回一次),逛好友动态按概率点赞、评论;评论时结合说说内容和楼里已有的评论。 |
| 翻唱 | 点歌(qq_song_cover 工具或 /sing)→ 网易云下载(weapi,可填 Cookie 下会员歌)→ 先截要发的那一段 → audio-separator 分离人声和伴奏 → Applio(RVC,固定版本)换成她的音色 → ffmpeg 混音 → 发语音条。插件不带音色,用户在面板里导入自己有权使用的 .pth / zip。一键安装不依赖电脑上的 Python / git / uv,可以选装到哪个盘,进度可见,下载走系统代理并能断点续传。 |
目录
src/host.js 插件入口(宿主半边):核心 + 面板接口 /aurabot/api/*
src/core/modules.js 模块内核:加载、开关、替换、热重载、出错隔离
src/modules/ 12 个内置模块 + 扩展接口说明 API.md + 类型 aurabot.d.ts + 新模块模板
src/chat/ 消息中枢、群聊策略、回复解析、白名单与权限
src/onebot/client.js OneBot v11 客户端(HTTP + WS,自动重连)
src/snowluma/ SnowLuma 管理(检测、启停、只注入机器人号)
src/features/ 表情包、空间日记和空间互动、心情、记忆、主动搭话、生图
src/song/ 翻唱:网易云、安装器、分离 / 变声 / 混音流水线、音色导入
src/voice/ 文字转语音、WAV 处理
src/tools/tools.js 工具的写法(defineTool)
src/persona/ 人格卡与规则
client/client.js 网页半边:侧栏入口 + 面板
personas/dafeiyu.md 默认人格「大肥鱼」
cordis.patch.yml 插件与两个 preset 的挂载声明
test/ 单元测试 + 端到端测试(假 DSH 宿主 + 模拟 OneBot)
测试
npm test
数据位置
%USERPROFILE%\.dsh\plugins-data\aurabot\:配置、人格、表情库、日记、记忆、日志,还有自己写的模块(modules/)和本地接口脚本(local/)。重装、升级插件都不会丢。
致谢
参考了 Yuuyuko-uu 的 dsh-qq-bridge、dsh-speak-up、dsh-feiyu-mood、dsh-fish-memory 等插件(MIT)在 DSH 插件机制上踩过的坑,具体是:注销器是函数而不是 .off();followup 必须 await;心情别每轮都提。没有复制它们的代码。
Comments
Loading…
Similar plugins
by tencent-connect
让 QQ Bot 接入 DeepSeek Harness(dsh)的官方插件
★ 272
MIT
TypeScript
Oct 20, 2026
dsh plugin --profile agent add @tencent-connect/dsh-qqbotby arrow1031
Deepseek harness plugin for QQ-Bot adataper
★ 0
MIT
JavaScript
Sep 20, 2026
dsh plugin --profile web add dsh-qq-botby YUsaltyfish
DeepSeek Harness 的原生 QQ 机器人插件:微内核 + 9 个子插件,Linux/Windows 通用。收消息、发图、生图、发表情,装完就能聊。
★ 4
MIT
JavaScript
Oct 25, 2026
dsh plugin --profile web add dsh-onebot-qqDSH QQ bot bridge plugin, connect DeepSeek Harness with QQ bot.
★ 0
dsh plugin --profile web add @sunjuntao/dsh-qqbotby wang-22-code
让 DeepSeek Harness(DSH)住进 QQ:基于腾讯官方 Bot API,支持私聊白名单、持久会话、模型切换与远程权限审批。
★ 3
↓ 473/wk
MIT
TypeScript
Sep 6, 2026
dsh plugin --profile web add dsh-qqbot-bridgeby belowthetree
qqbot 连接QQ机器人插件,方便易用,安装快捷
★ 0
MIT
TypeScript
Aug 30, 2026
dsh plugin --profile web add dsh-qqbot