让 QQ 机器人用本地语音说话并聊 B 站视频
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add youxin484/qq-bridge-addons该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · platform
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/21) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 21 处,展示前 19 条)
- 读取本地文件install.mjs:35
if (!existsSync(join(bridge, 'src', 'bridge.js'))) { - 写入本地文件install.mjs:41
mkdirSync(join(bridge, 'src'), { recursive: true }) - 读取本地文件install.mjs:54
if (!existsSync(patchPath)) { - 读取本地文件install.mjs:71
let yaml = readFileSync(patchPath, 'utf8') - 写入本地文件install.mjs:82
writeFileSync(patchPath, yaml, 'utf8') - 读取本地文件mcp/mcp-bili-digest.js:50
if (!existsSync(script)) { - 执行外部命令来自配置/变量mcp/mcp-bili-digest.js:58
const run = spawnSync(process.execPath, args, { - 读取本地文件mcp/mcp-bili-digest.js:77
if (!existsSync(mdPath)) { - 读取本地文件mcp/mcp-bili-digest.js:81
const content = [{ type: 'text', text: readFileSync(mdPath, 'utf8') }] - 读取本地文件mcp/mcp-bili-digest.js:85
if (wantFrames > 0 && existsSync(jsonPath)) { - 读取本地文件mcp/mcp-bili-digest.js:87
const digest = JSON.parse(readFileSync(jsonPath, 'utf8')) - 读取本地文件mcp/mcp-bili-digest.js:90
if (!existsSync(file)) continue - 删除本地文件mcp/mcp-bili-digest.js:105
try { rmSync(video, { force: true }) } catch { } - 读取本地文件mcp/mcp-voice-tts.js:59
try { cfg = JSON.parse(readFileSync(CONFIG_PATH, 'utf8')) } catch (e) { - 读取本地文件mcp/mcp-voice-tts.js:70
if (!existsSync(REF_AUDIO)) { - 发起网络请求mcp/mcp-voice-tts.js:77
const res = await fetch(`${TTS_URL}/tts`, { - 写入本地文件mcp/mcp-voice-tts.js:102
mkdirSync(GEN_DIR, { recursive: true }) - 写入本地文件mcp/mcp-voice-tts.js:105
writeFileSync(file, audio) - 执行外部命令来自配置/变量mcp/mcp-voice-tts.js:109
const run = spawnSync(process.execPath, [script, 'send', `generated/${name}`, dest], {
扫描于 2026/11/3(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
qq-bridge 扩展:本地 GPT-SoVITS 动态语音 + B 站视频摘要(附 DSH 端口自愈)
README
由 DeepSeek 最新模型翻译生成qq-bridge-addons
给 Derpyu520/qq-bridge 加两个能力:
1. 动态语音——用本地 GPT-SoVITS 把任意短句合成成语音,发成 QQ 语音条(不再限于语音库里那几条固定台词)
2. B 站视频摘要——给它一个 BV 号/链接,它能读到标题、数据、字幕和关键帧图片,然后像群友一样聊这个视频
同时附带一个小工具,解决「DSH 端口每次启动都变」的问题,避免桥接静默失联。
本仓库只包含扩展,不含 qq-bridge 本体。请先自行安装上游:<https://github.com/Derpyu520/qq-bridge>。
上游为 MIT,署名见 NOTICE-upstream-LICENSE.txt。
装了什么
| 文件 | 位置(装完后) | 作用 |
| mcp/mcp-voice-tts.js | <bridge>/src/ | MCP 工具 qq_say_voice(text, target?):文字 → GPT-SoVITS(9880) → 桥接发语音 |
| mcp/mcp-bili-digest.js | <bridge>/src/ | MCP 工具 bili_video_digest(url, frames?
展开完整文档(README 剩余 1 节)
qq-bridge-addons 给 Derpyu520/qq-bridge 加两个能力: 1. 动态语音——用本地 GPT-SoVITS 把任意短句合成成语音,发成 QQ 语音条(不再限于语音库里那几条固定台词) 2. B 站视频摘要——给它一个 BV 号/链接,它能读到标题、数据、字幕和关键帧图片,然后像群友一样聊这个视频 同时附带一个小工具,解决「DSH 端口每次启动都变」的问题,避免桥接静默失联。 本仓库只包含扩展,不含 qq-bridge 本体。请先自行安装上游:<https://github.com/Derpyu520/qq-bridge>。 上游为 MIT,署名见 NOTICE-upstream-LICENSE.txt。 装了什么 | 文件 | 位置(装完后) | 作用 | | mcp/mcp-voice-tts.js | <bridge>/src/ | MCP 工具 qq_say_voice(text, target?):文字 → GPT-SoVITS(9880) → 桥接发语音 | | mcp/mcp-bili-digest.js | <bridge>/src/ | MCP 工具 bili_video_digest(url, frames?):B 站视频摘要,可带关键帧图片 | | tools/video-digest.mjs | <bridge>/ | 摘要生成器(yt-dlp + ffmpeg) | | tools/sync-dsh-url.mjs | <bridge>/ | 扫描本机端口,把 config.json 的 dsh.baseUrl 指到当前 DSH | | persona/小鲸鱼.example.md | 参考 | 人格卡范例,可直接放 <bridge>/roles/ | 前置条件 - 已装好并跑通 qq-bridge(SnowLuma + DSH 都能连上) - Node 22+(桥接本来就需要) - 语音功能额外需要:GPT-SoVITS API 在 127.0.0.1:9880 跑着 - 视频摘要额外需要:yt-dlp(C:\yt-dlp\yt-dlp.exe 或 PATH)、ffmpeg 安装 1. 装扩展文件 + 注册 MCP node install.mjs --bridge "C:\path\to\qq-bridge" --profile desktop 2. 放行工具(手动)编辑 <bridge>/plugins/qq-agent-presets/qq-tool-restrict.mjs 在 SAFE_PREFIXES 里加: 'mcp__voice-tts__', 'mcp__bili-digest__', 3. 重启 DSH 重启后,DSH 的工具清单里会出现 mcp__voice-tts__qq_say_voice 和 mcp__bili-digest__bili_video_digest。 语音功能配置 需要三样环境变量(或用默认路径): | 变量 | 说明 | | GPT_SOVITS_URL | 默认 http://127.0.0.1:9880 | | GPT_SOVITS_REF | 参考音频路径;默认 <bridge>/ref/reference.wav | | GPT_SOVITS_REF_TEXT | 参考音频里说的那句话(必须逐字一致,否则音色会漂) | 参考音频建议:5~10 秒、无背景音乐、单人、口齿清楚。用谁的声音自己决定,别用没授权的他人声音。 让模型真的去用 光装上工具不够——模型经常只记得「语音库」那个老工具,会说“库里没这句”。 在人格卡里把规则写死(见 persona/小鲸鱼.example.md 第十二、十三节): - 用户让你“用语音念某句话”时,必须用 mcp__voice-tts__qq_say_voice,参数 text 就是那句话;不要用 qq_send_voice 代替,也不要说“语音库里没这句”。 端口自愈 DSH 桌面版每次启动随机分配端口,桥接的 dsh.baseUrl 会失效且不报错(事件流 0 帧)。 sync-dsh-url.mjs 扫描本机监听端口,用 DSH 的 401 固定文案做指纹,找到就写回配置。 建议放在启动脚本里,每次(重)启动前都跑一遍: :loop "%NODE_EXE%" sync-dsh-url.mjs "%NODE_EXE%" src/bridge.js 安全边界 - qq_say_voice:文本上限 80 字,只发到桥接白名单内的群/私聊,复用桥接自己的限流与审计 - bili_video_digest:只接受 bilibili.com / b23.tv / BV 号;只读,不执行命令 - 两个工具都不读写用户文件,也不改变桥接的发送闸门 已知坑 | 现象 | 原因 | | 工具装好但群里调不到 | qq-tool-restrict.mjs 的白名单没加前缀 | | 合成报 cp932 codec can't encode | 服务端控制台是日文编码,启动时设 PYTHONUTF8=1、PYTHONIOENCODING=utf-8 | | 抽帧报 format is not available | 竖屏视频高度是 852,筛选条件别用 height<=480 | | 桥接连不上 DSH | 端口变了,跑 sync-dsh-url.mjs | License MIT,见 LICENSE。上游 qq-bridge 的 MIT 声明见 NOTICE-upstream-LICENSE.txt。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
youxin484/qq-bridge-addons
让 QQ 机器人用本地语音说话并聊 B 站视频
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,778已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,110已汉化DeepSeek 客户端
70.9
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,031已汉化DSH
70.7