accomplish07zrh-eng/dsh-aurabot-qq ↗★ 5

dsh-aurabot-qq

Aurabot:住在 QQ 里的 AI 伙伴「大肥鱼」—— DeepSeek Harness 插件(经 SnowLuma / OneBot v11 接 QQ) 适合需要将AI伙伴作为QQ机器人运行,进行聊天、发图及空间互动的用户。

패키지
dsh-aurabot-qq
호환성
미검증
버전
0.7.2
라이선스
MIT
최근 업데이트
2026. 10. 25.

같은 패키지 이름의 다른 저장소

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:accomplish07zrh-eng/dsh-aurabot-qq

Aurabot · 住在 QQ 里的大肥鱼

DeepSeek Harness(DSH)插件。DSH 里的 AI 以独立 QQ 号「大肥鱼」的身份住进 QQ:有人格、心情和记忆,能看图、发语音、听语音、发和收表情包、用自己的声音翻唱、写 QQ 空间日记、逛空间回评论、刷 B 站发评论,还会主动找你聊天。

QQ ⇄ SnowLuma(OneBot v11,你自己安装)⇄ Aurabot 插件 ⇄ DSH 会话(Aurabot 自带的 preset + 人格)
  • 入口:DSH 左侧栏「自动化任务」下面的「Aurabot」。整页面板用标签分功能:概览、连接、人格、权限、聊天、模型、语音、表情包、生图、空间日记、主动搭话、心情与记忆、翻唱、日志。
  • 会话:每个 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,跟着设置向导走:

  1. 填机器人 QQ 号(用小号)和你的 QQ 号
  2. 自己下载并解压 SnowLuma
  3. 启动,在面板里同意 SnowLuma 的协议(控制台密码自动生成)
  4. 登录机器人号,点「接入机器人号」
  5. 先试运行,或直接上线

升级

在 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 看完再聊。看过、评过、回过的都记成她的经历。只看和评论,不碰改资料、关注、私信。
本地接口语音合成、生图、翻唱换声、语音识别都能换成自己电脑上的模型或服务:面板生成带示例的脚本(放在数据目录 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/chat/              消息中枢、群聊策略、回复解析、白名单与权限
src/onebot/client.js   OneBot v11 客户端(HTTP + WS,自动重连)
src/snowluma/          SnowLuma 管理(检测、启停、只注入机器人号)
src/features/          表情包、空间日记和空间互动、心情、记忆、主动搭话、生图
src/song/              翻唱:网易云、安装器、分离 / 变声 / 混音流水线、音色导入
src/voice/             文字转语音、WAV 处理
src/tools/tools.js     挂给会话的工具
src/persona/           人格卡与规则
client/client.js       网页半边:侧栏入口 + 面板
personas/dafeiyu.md    默认人格「大肥鱼」
cordis.patch.yml       插件与两个 preset 的挂载声明
test/                  单元测试 + 端到端测试(假 DSH 宿主 + 模拟 OneBot)

测试

npm test

数据位置

%USERPROFILE%\.dsh\plugins-data\aurabot\:配置、人格、表情库、日记、记忆、日志。重装插件不会丢。

致谢

参考了 Yuuyuko-uu 的 dsh-qq-bridge、dsh-speak-up、dsh-feiyu-mood、dsh-fish-memory 等插件(MIT)在 DSH 插件机制上踩过的坑,具体是:注销器是函数而不是 .off();followup 必须 await;心情别每轮都提。没有复制它们的代码。