前言¶
DeepSeek Harness(DSH)是一个「一切皆插件」的智能体运行时,开发者可以把 Session、工具、记忆等能力封装成插件,挂到任意前端。但大多数时候,人机交互还是依赖浏览器或命令行,需要打开网页、切换标签、复制粘贴对话上下文,对日常使用来说不够顺手。
cheems135/dsh-qq-bridge 是一个 QQ(NapCat / OneBot 11)桥接插件,把 DSH 的 Session 作为「大脑」,QQ 作为「嘴巴」,通过 WebSocket 把二者连在一起。装好之后,你就可以直接在 QQ 里跟同一个 Session 聊天,还能通过管理面板统一配置人设、记忆、素材、模型和自主行为。
它是什么¶
- 插件名:dsh-qq-bridge
- 维护者:cheems135
- 分类:模型推理
- 仓库:https://github.com/cheems135/dsh-qq-bridge
- 简介:QQ (NapCat / OneBot 11) bridge for DeepSeek Harness,附带完整的管理面板
插件通过 NapCat 的 WebSocket 服务接入 OneBot 11,把 DSH 的 sessionController 创建的会话与 QQ 消息打通。回复内容按 ||| 或空行拆成多条气泡,每条间隔 0.6–2.8 秒,模拟打字节奏。
安装与启用¶
前置条件¶
- 已安装 DeepSeek Harness,本插件作为 bundle 加载
- 已安装 NapCat,并在 NapCat 里开启 WebSocket 服务端(记下端口和 token)
- 一个能登录的 QQ 小号
安装命令¶
在 DSH 的插件管理里执行:
dsh plugin --profile <你的 profile> add /path/to/this/repo
或者把本仓库放入 profile 的 cordis.patch.yml 作为 bundle 引用。
配置步骤¶
装好后打开 DSH 的「设置 → QQ 桥接」,按面板引导:
- 填写 NapCat 的 WebSocket 地址和 token(默认
ws://127.0.0.1:3001) - 在「联系人」页把自己的 QQ 加入白名单,并设为号主
- 在「概览」页点击「本地快速登录」,拉起 NapCat(隐藏窗口、无需 UAC,可选开机自动登录)
- 发一条消息,看到回复即连接成功
核心功能¶
聊天与人格¶
- 内置人设预设(
whale日常口语),可在面板直接编辑文本,保存即生效 - 自定义人设:名字 + 提示词(固定使用 whale 底座),支持导入导出
- 「底层性格」:通用规则层,在所有人设之前生效(情绪安抚、按时间问候、看图不描述画面等)
- AI 生成人设:用一句描述让模型写出提示词并入库
- 试聊预览:不经过 QQ,直接用人设提示词问模型一次,检查语气
记忆¶
- 按轮数自动压缩:聊到指定轮数后,把最近对话总结为一段「给以后的自己看」的记忆,换新会话时带进新会话
- 记忆文件和缓存目录可迁移位置,换路径不丢失配置
- 面板中可查看每条记忆的生成时间,支持单独重压或清除
素材:表情包与语音¶
- 本地表情库:上传表情、分组(支持批量勾选分组)、启用/停用
- 触发方式:情绪词触发时自动发图,也可用
[表情包:名字]精确指定 [表情包:搜 关键词]:手边无合适图时联网搜图、下载并发出- 语音:
[语音]标记后合成语音消息。引擎支持 edge-tts(微软在线音色)或自定义 HTTP TTS(GPT-SoVITS / CosyVoice 等返回音频字节即可) - 面板可直接试听与对比音色样本
查资料¶
[查:词]→ 桥接去查 → 用她的口吻转述- 搜索引擎可选:DSH 自带 / 维基百科 API / DuckDuckGo API / 自建 SearXNG / 自定义 URL 模板;主引擎失败时自动回退
- 以「查一下 X」开头的消息会直接触发查询,不经过模型
号主模式¶
- 指定一个或多个 QQ 号为号主,号主说话时获得额外权限:
[发送:QQ号|内容]给白名单内某人发消息[群发:内容]群发[定时:分钟|QQ号|内容]定时发送(最长 24 小时)- 发送前会清洗掉「号主让我转告」等归属信息,对方看到的是她在说话
- 三项权限可分别关闭;目标必须白名单内
模型与成本¶
- 智力档位:
省 / 标准 / 高 / 最高(对应off / low / high / maxthinking 深度),切换会话时生效 - QQ 里可用
/档位 eco|standard|high|max切换 - 每个会话可单独指定模型,其余跟随全局
- 面板按 DeepSeek 峰谷价实时记录花费,可查看今日累计与单轮成本
自主行为¶
插件不只是被动回复,还能按规则自主决策(0.6x 起):
- 主动找人:某个会话超过 2 小时没动静时主动搭话(每日上限可配)
- 发 QQ 空间:饭点 / 下班 / 深夜,有额度时发一条生活化说说(走 cookie + g_tk,非官方接口)
- 改个性签名:心情不等同签名时改一句(每日上限可配)
实现分为两层:代码按规则判断「该不该动」,模型只负责写内容。面板「自主」页有总开关、每类动作开关、每日额度、活跃时段、最小间隔、最近动作日志和「紧急停止」。
- 「想法」页:每次回复后复盘「我当时在想什么」,加上自主决策的理由,形成一条思考时间线
- 「模拟一天」:按五个时间点各判断一次(不执行),30 秒看出她一天会不会动
- 内容底线:发送前会过敏感词表 + 长度上限 + 禁止链接
运维¶
- 监听页:收发记录按对话分组、按方向筛选,每 2 秒自动刷新,消息图片可直接查看
- 存储:日志 / 监听历史 / 语音 / 表情包可整体迁移到别的盘,按类统计占用,支持一键清理
- 连接可随时停用(保留配置),恢复后自动重连
QQ 内可用的指令¶
| 指令 | 作用 |
|---|---|
/new |
结束当前会话,下条消息开新会话(保留记忆) |
/档位 eco\|standard\|high\|max |
切换智力档位并重开会话 |
[表情包:名字] / [表情包:搜 关键词] |
发表情包 / 联网搜图 |
[语音] … |
合成语音发出来 |
[查:词] |
查资料并用她的口吻回答 |
[发送:QQ号|内容] / [群发:内容] / [定时:分钟|QQ号|内容] |
仅号主可用 |
配置说明¶
cordis.patch.yml 中的 config 是初始配置;面板改过后以 profile 的 settings.json 为准。
| 键 | 说明 |
|---|---|
wsUrl |
NapCat 的 OneBot 11 WebSocket 地址 |
accessToken |
NapCat 里设置的 token,没有则留空 |
allowUsers |
允许私聊的 QQ 号;留空则谁都不理 |
allowGroups / groupRequireAt |
允许的群;群里是否必须 @ |
cwd |
会话工作目录,省略则用 DSH 当前目录 |
agentPreset |
新人设使用的预设 |
presetRev |
人设文本修改后需要 +1,才会换新会话 |
model |
Session 级模型路由(provider / model) |
maxReplyChars |
单条消息上限,超过会拆成多条 |
greeting |
上线后主动打招呼的内容,留空则不发 |
selfTest |
用临时会话自检一次,结果写日志 |
面板里还能配置:智力档位、主动行为(定时找你 / 沉默追问 / 说完补一句)、勿扰时段、搜索与语音引擎、号主与权限、记忆压缩与存放位置、缓存位置、开机自启。
环境变量¶
| 变量 | 作用 |
|---|---|
DSH_PRESET_DIR |
「查看/编辑预设人设文本」的目录,查找 *-preset/cordis.patch.yml;不设则该项不可用(其它功能不受影响) |
DSH_IM_PYTHON |
edge-tts 用的 Python 解释器;不设则依次查找 DSH 自带运行时与 PATH 中的 python |
已知限制¶
- 一次只连一个机器人账号:多账号需切换,不能同时在线
- 部分能力面向 Windows:隐藏启动 NapCat、开机自启、SAPI 兜底音色;其它平台能跑但用不了这几项
- 没有语音识别:她听不了你发的语音消息,只处理文字和图片
- 记忆压缩是「总结式」的,不是向量检索;压过头的细节可能找不回来
安全¶
- 白名单为空时,她默认不理任何人
- 号主指令的目标必须白名单内,否则直接拒绝并记日志
- 面板路由挂在 DSH 的本地 Web 服务上,只监听本机
适用场景与注意¶
适合想直接在 QQ 里使用 DSH Session 的开发者或个人用户,尤其是需要统一管理人设、记忆、模型和自主行为的场景。
插件以当前 DSH 进程的权限运行。安装前应检查源码与许可证(MIT),确认行为符合你的使用规范。
小结¶
dsh-qq-bridge 把 DSH 的 Session 从浏览器和命令行解放出来,接上了 QQ。它提供了完整的管理面板,覆盖人设、记忆、素材、模型、自主行为与监控。如果你已经用 DSH 做智能体开发,又希望在日常对话中直接使用同一套能力,这个插件可以作为一条可用的连接路径。
- 目录页:https://www.skillhub.cn/plugins/cheems135/dsh-qq-bridge
- 仓库:https://github.com/cheems135/dsh-qq-bridge