DSH QQ Access
让 DeepSeek Harness 接入你的 QQ,拥有真实的聊天、记忆与生活
一个面向 DeepSeek Harness 的 QQ 接入插件,基于 NapCat / OneBot v11,提供私聊、群聊、QQ 空间、长期记忆、情感关系与虚拟生活等能力。
功能特性 · 快速开始 · 配置指南 · 安全机制 · 开发与测试 · 文档
✨ 项目简介
DSH QQ Access 是一个为 DeepSeek Harness 设计的 QQ 接入插件。
它通过 NapCat 提供的 OneBot v11 接口,将 QQ 的消息、群聊、QQ 空间等能力接入 Harness,让 AI 不再局限于单纯的对话窗口。
它不仅可以收发消息、查看图片、搜索表情包,还拥有独立的情感状态、长期记忆和虚拟生活系统。
在 Windows x64 环境下,插件还可以自动下载并管理 NapCat,无需单独配置一套 NapCat 运行环境。
核心设计理念:让 AI 不只是能够回复消息,还能拥有持续的上下文、关系和生活状态。
🚀 功能特性
💬 QQ 消息与群聊
| 功能 | 说明 |
|---|---|
| 私聊与群聊 | 支持独立配置私聊、群聊访问权限 |
| 智能群聊回复 | 支持 off、mention、smart、all 四种模式 |
| 智能触发 | 被 @、被引用、被叫名字时优先响应 |
| 兴趣识别 | 根据话题兴趣和对话内容判断是否参与群聊 |
| 消息分段 | 长消息自动拆分,发送间隔根据文本长度调整 |
| 消息归档 | 按日期保存消息,支持关键词搜索和历史读取 |
| 图片理解 | 接收图片并将其交给模型理解 |
| 表情互动 | 支持 QQ 小黄脸、图片和表情包收发 |
🧠 长期记忆与情感系统
| 功能 | 说明 |
|---|---|
| 长期记忆 | 按用户建立独立记忆,同一用户在群聊和私聊中共享 |
| 记忆衰减 | 根据时间降低普通事件的记忆权重 |
| 事实记忆 | 重要事实可以长期保留,更新时标记旧事实 |
| 情感系统 | 喜悦、信任、恐惧、惊讶、悲伤、厌恶、愤怒、期待八维情感 |
| 好感度 | 独立记录对不同用户的好感变化 |
| 亲密度 | 根据互动逐步发展关系 |
| 关系阶段 | 支持初识、深化、承诺、共生等阶段演进 |
| 时间感知 | 为历史消息附加相对时间和对话间隔 |
🌱 虚拟生活系统
让 AI 拥有持续变化的生活状态,而不是每次聊天都从零开始。
- 日程安排:生成并维护一周的生活计划。
- 穿搭系统:根据天气和时间安排不同穿搭。
- 饮食记录:生成每日三餐安排。
- 主动动态:按照设定的时间窗口和概率发布 QQ 空间动态。
- 生活状态:将生活信息融入日常对话。
🌐 QQ 空间与联网能力
- 读取 QQ 空间说说、图片和评论。
- 发布说说、评论和删除动态。
- 使用已有 QQ 登录状态获取空间 Cookie。
- 支持 Bilibili、YouTube、X、Instagram、小红书、小黑盒等平台的链接内容读取。
- 支持实时搜索、网页正文抓取和多路搜索。
🎨 表情包管理
- 本地表情包图库。
- 根据情绪和关键词检索表情包。
- 自动收集对话中的表情包。
- 使用视觉模型为表情包自动分类。
- 支持自动发送配置。
🖥️ NapCat 自动管理
Windows x64 用户可以使用插件内置的 NapCat 托管功能:
- 自动下载官方 NapCat 运行包。
- 校验下载文件 SHA256。
- 自动解压和生成运行配置。
- 自动启动 NapCat。
- 自动打开扫码登录页面。
- 监控连接状态并处理断线重连。
如果你已经部署了 NapCat,也可以切换到外部模式,直接连接已有实例。
📦 快速开始
环境要求
| 项目 | 要求 |
|---|---|
| DeepSeek Harness | >= 0.2.1-rc.3 |
| Node.js | >= 22.14.0 |
| 操作系统 | Windows / Linux / macOS |
| NapCat | 托管模式仅支持 Windows x64;其他环境使用外部模式 |
方式一:从 npm 安装(推荐)
dsh plugin --profile desktop add dsh-qq-access
升级时重跑同一条命令即可。网页端把 desktop 换成 web。
提示
dsh不是命令? 桌面版没有把dsh加进 PATH,用完整路径调用即可:& "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add dsh-qq-access
安装完成后重启 Harness,左侧栏即可看到 QQ 接入。
方式二:在面板里安装(不想用命令行时)
- 打开 Harness,左侧栏进入 插件 页面,点 添加插件(Add plugin)。
- 输入
dsh-qq-access,或先下载 tgz、把完整路径粘进去(相对路径会被宿主拒绝)。 - 重启 Harness,左侧栏出现 QQ 接入。
装完不用先去终端写配置文件——直接点开面板,它会自己引导(见下面的「首次配置」)。
方式三:下载 tgz 安装
连不上 npm 时用这种方式。
- 前往 GitHub Releases,下载
dsh-qq-access.tgz。 同一个 Release 里还有个带版本号的dsh-qq-access-1.1.4.tgz,两个文件内容完全一致,下哪个都行。 - 用下载后的完整路径安装(PowerShell 里路径带空格要加引号):
dsh plugin --profile desktop add "$env:USERPROFILE\Downloads\dsh-qq-access.tgz"
注意:
--profile必须与实际运行的 Harness 环境一致。桌面端用desktop,网页端用web。
首次配置
推荐:直接在面板里完成。
装好插件、重启 Harness 后点开左侧栏的 QQ 接入。这时还没有配置文件,面板会显示「首次配置」那一屏:
- 填 登录用 QQ 号(要拿来当机器人的那个号)。
- 选填 管理员 QQ 号(你自己的号,用于远程管理;留空表示只在本机 Harness 里管理)。
- 点 生成配置。Token、事件签名密钥、NapCat WebUI token、三个端口全部由插件随机生成,你不用自己编。
- 重载插件(在宿主里禁用再启用一次,或重启 Harness)。托管模式下插件会自动准备 NapCat 并打开扫码页,用第 1 步填的号扫码即可。
配置文件默认落在:
%USERPROFILE%\.dsh-qq-access\config.json
生成配置之后面板上的其它设置才会生效——在那之前插件只挂了面板,QQ 接入没有启动(面板会提示这一点)。
进阶:用命令行向导。
适合脚本化部署,或面板打不开的时候。必须先进到插件目录再执行,cli.mjs 是插件自带的脚本:
cd "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-qq-access"
node cli.mjs setup
向导会问同样的两个 QQ 号,生成随机 Token 与事件签名密钥。在 Windows x64 上默认使用 NapCat 托管模式。
进阶:手写配置。
Copy-Item examples/config.example.json "$env:USERPROFILE\.dsh-qq-access\config.json"
同样要在插件目录下执行。至少需要确认:
{
"selfId": "你的QQ号",
"onebot": {
"apiUrl": "http://127.0.0.1:3000",
"token": "替换为随机生成的安全Token"
},
"events": {
"port": 5701,
"secret": "替换为随机生成的签名密钥"
}
}
onebot.token 和 events.secret 均应使用不少于 16 位的随机字符串。
托管模式下,插件会自动将相关连接配置写入 NapCat,无需重复手动配置。
⚙️ 配置指南
大部分配置都可以直接在 Harness 左侧栏的 QQ 接入 面板中修改。
主要配置项如下:
| 配置项 | 作用 |
|---|---|
selfId |
登录 QQ 账号 |
ownerIds |
管理员 QQ 账号 |
access.privateMode |
私聊访问策略 |
access.groupMode |
群聊访问策略 |
reply.private |
是否自动回复私聊 |
reply.group |
群聊回复模式 |
reply.smartThreshold |
智能群聊触发阈值 |
reply.selfNames |
AI 在群聊中的名称 |
reply.interests |
感兴趣的话题 |
memory |
长期记忆设置 |
emotion |
情感与关系设置 |
life |
虚拟生活设置 |
qzoneProactive |
QQ 空间主动动态设置 |
model |
指定使用的模型;可以在同一个对象里写 reasoningEffort 指定推理等级,留空表示用服务商默认 |
群聊回复模式
| 模式 | 行为 |
|---|---|
off |
不自动回复 |
mention |
仅响应 @ 和相关主动提及 |
smart |
根据消息内容和兴趣判断是否回复 |
all |
尽可能响应群聊消息 |
smart 是默认模式。
它会优先响应被 @、被引用或被叫名字的消息;其他消息则根据对话意图、兴趣词和内容特征进行评分。
默认触发阈值为 3,阈值越高,回复越克制。
人格与能力分离
插件将系统提示拆分为两个独立部分:
| Section | 内容 | 是否可编辑 |
|---|---|---|
qq-access-persona |
人格设定、说话风格和输出格式 | 是 |
qq-access-capabilities |
插件工具及其使用说明 | 否 |
人格可以通过面板自由调整,而能力说明由插件维护。
此外,能力清单会根据当前会话实际可用的工具动态过滤,避免模型调用不存在的工具。
🔌 NapCat 连接模式
插件支持两种连接方式:
Managed Mode(托管模式)
由插件负责 NapCat 的安装、启动、登录页面和运行状态管理。
适合:
- Windows x64 用户。
- 没有单独部署 NapCat 的用户。
- 希望尽可能减少手动配置的用户。
External Mode(外部模式)
连接已经运行的 NapCat 或其他 OneBot v11 实现。
适合:
- 已经部署 NapCat 的用户。
- 使用 Docker 或远程机器运行 NapCat 的用户。
- 希望自行管理 NapCat 进程的用户。
外部模式需要自行配置 OneBot HTTP 服务和 HTTP 上报。
详细配置请参考:
🔐 安全机制
QQ 接入意味着插件能够代表你的 QQ 账号执行操作,因此安全性是项目的重要设计目标。
目前实现了以下机制:
- 本机接口限制:OneBot API 地址强制使用本机回环地址。
- 独立身份验证:HTTP API Token 与事件签名密钥分离。
- 会话隔离:普通用户只能读取自己的会话历史。
- 权限控制:跨会话管理能力仅开放给管理员。
- 管理员身份校验:管理员权限只根据可信的私聊账号身份判断,群聊中不会直接继承管理员权限。
- 幂等保护:消息发送、空间发布和评论使用请求账本,避免重复执行。
- 不确定状态保护:无法确认是否成功的操作不会被当作成功,也不会自动重复发送。
⚠️ 请妥善保管配置文件、NapCat 登录状态、Cookie、Token 和日志。不要将这些信息上传到公开仓库或发送给他人。
🛠️ 常用命令
下面的命令都要先进到插件目录再执行(cli.mjs 是插件自带的脚本,不在 PATH 里):
cd "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-qq-access"
网页端把 desktop 换成 web。
| 命令 | 说明 |
|---|---|
node cli.mjs setup |
生成初始配置 |
node cli.mjs doctor |
检查配置与连接状态 |
node cli.mjs napcat-install |
下载并安装 NapCat |
node cli.mjs napcat-enable |
启用 NapCat 托管模式 |
node cli.mjs napcat-login |
重新打开扫码登录页面 |
故障排查
如果插件无法正常连接 QQ,先在插件目录下运行:
node cli.mjs doctor
该命令会检查配置、NapCat 安装情况、QQ 连接和 QQ 空间 Cookie,不会发送消息或发布动态。
日志默认位于:
%USERPROFILE%\.dsh-qq-access\data\napcat\logs\console.log
不同版本和运行状态下,日志位置可能有所不同。
如果需要提交日志用于排查,请先删除二维码、登录密钥、Cookie、Token 等敏感内容。
🧪 开发与测试
克隆项目:
git clone https://github.com/Applepinea/dsh-qq-access.git
cd dsh-qq-access
安装依赖:
npm ci
运行检查:
npm run check
运行测试:
npm test
检查项目打包内容:
npm pack --dry-run
CI
项目配置了 GitHub Actions,自动执行 Node.js 22 / 24 测试矩阵。
测试范围
目前包含:
- JavaScript / ESM 语法检查。
- 插件文件完整性检查。
- 客户端 Bundle 依赖声明检查。
- 工具清单与能力说明一致性检查。
- 冒烟测试。
部分功能依赖真实 QQ、NapCat 和 Harness 环境,不能仅通过自动化测试完全覆盖。
详细测试记录:
📚 文档
| 文档 | 内容 |
|---|---|
| CHANGELOG.md | 版本更新记录 |
| docs/EXTERNAL_MODE.md | 外部 NapCat 连接方式 |
| docs/VALIDATION.md | 测试范围与验证记录 |
| docs/SOURCES.md | 接口来源与参考项目 |
| CONTRIBUTING.md | 贡献指南 |
🗺️ Roadmap
项目仍在持续完善中,未来可能探索:
- 更完善的群聊行为策略。
- 更灵活的主动互动与生活事件系统。
- 更精细的长期记忆管理。
- 更多消息类型和 QQ 交互能力。
- 更完善的自动化测试与运行状态监控。
具体开发进度以仓库 Issues 和 Releases 为准。
🤝 参与贡献
欢迎提交 Issue、Pull Request 和功能建议。
如果你发现 Bug、希望增加功能,或者有更好的实现思路,欢迎参与项目开发。
提交代码前,请先阅读:
📄 License
本项目采用 MIT License 开源。
DSH QQ Access
Give your AI a place to live, remember and connect.
GitHub Repository
·
Issues
·
Releases
No comments yet. Be the first to write one.