把 QQ 私聊和群聊自动变成独立对话房间
29.4/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Yukolike/dsh-qq-rooms该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · platform
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0🔴 扫描:高危尚无人工评估
静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。
命令参数由运行时变量拼接读写/删除本地文件发起外部网络请求
查看扫描证据(共 35 处,展示前 32 条)
- 写入本地文件src/host.js:59
mkdirSync(日志目录, { recursive: true }) - 写入本地文件src/host.js:60
appendFileSync(日志文件, 行 + '\n', 'utf8') - 读取本地文件src/host.js:64
if (statSync(日志文件).size > 2 * 1024 * 1024) { - 删除本地文件src/host.js:67
unlinkSync(旧) - 写入本地文件src/host.js:71
renameSync(日志文件, 旧) - 读取本地文件src/host.js:128
const j = JSON.parse(readFileSync(join(家目录, 'qq-bridge-config.json'), 'utf8')) - 读取本地文件src/host.js:218
const j = JSON.parse(readFileSync(状态文件, 'utf8')) - 写入本地文件src/host.js:230
mkdirSync(家目录, { recursive: true }) - 写入本地文件src/host.js:231
writeFileSync( - 读取本地文件src/host.js:279
return existsSync(原) ? 原 : '' - 读取本地文件src/host.js:293
if (existsSync(全)) return 全 - 读取本地文件src/host.js:317
const 字节 = readFileSync(全) - 写入本地文件src/host.js:1291
mkdirSync(日志目录, { recursive: true }) - 执行外部命令表达式求值src/host.js:1298
const 子 = spawn(命令, 参数, { detached: true, stdio: 'ignore' }) - 发起网络请求src/client.js:17
const get = (p) => fetch(B + p, { cache: 'no-store' }).then((r) => r.json()).catch(() => null) - 发起网络请求src/client.js:19
fetch(B + p, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify(body || {}) }) - 读取本地文件src/config.js:213
return 归一化(JSON.parse(readFileSync(join(家目录, 文件名), 'utf8'))) - 写入本地文件src/config.js:223
mkdirSync(dirname(路径), { recursive: true }) - 写入本地文件src/config.js:224
writeFileSync(路径, JSON.stringify(归一化(配置), null, 2), 'utf8') - 读取本地文件src/transport.js:190
return readFileSync(new URL(url)) - 发起网络请求src/transport.js:196
const r = await fetch(url) - 读取本地文件src/transport.js:213
return readFileSync(f) - 写入本地文件src/transport.js:224
mkdirSync(目录, { recursive: true }) - 写入本地文件src/transport.js:226
writeFileSync(p, 字节) - 执行外部命令表达式求值src/transport.js:387
子 = spawn(命令, { - 读取本地文件src/transport.js:429
if (readFileSync(路径)) 本地 = String(路径) - 写入本地文件src/transport.js:436
mkdirSync(目录, { recursive: true }) - 写入本地文件src/transport.js:438
writeFileSync(本地, Buffer.from(String(r.base64).replace(/^data:[^,]*,/u, ''), 'base64')) - 发起网络请求src/transport.js:447
const r = await fetch(d.url) - 写入本地文件src/transport.js:449
mkdirSync(目录, { recursive: true }) - 写入本地文件src/transport.js:451
writeFileSync(本地, Buffer.from(await r.arrayBuffer())) - 发起网络请求src/transport.js:503
const r = await fetch(`${this.#地址}/${action}`, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 的 QQ 房间:聊天即房间,支持白名单/黑名单、群内 @ 提及。基于 dsh-qq-bridge(MIT)。
README
由 DeepSeek 最新模型翻译生成dsh-qq-rooms
来源与致谢:本项目衍生自 dsh-qq-bridge (作者 Yuuyuko-uu,MIT)。
src/transport.js 里的消息段解析、标记剥离、卡片抽取、正文图、转发展开等函数移植自原项目,并做了修改;房间模型、白/黑名单、群策略、插件装配为本项目新写。
本项目是独立的第三方项目,不是原项目的官方分支;插件 id(qq-rooms)与配置格式都不同,不能与原版同时启用。原项目版权声明见 LICENSE。
DSH 的 QQ 房间插件:聊天即房间,不用再手动把 QQ 会话绑到 DSH 会话。
- 私聊一人一间,群一群一间,第一条消息自动建房,之后复用(进程重启后 resume)
- 白名单直接聊;陌生人先问主人;主人拒绝后进黑名单,以后不再询问
- 群默认不接;接入后只回「@ 我 / 引用我」,主人在群里免 @
- 收图、发图、合并转发、卡片解析、语音转写(可选外部命令)
消息走 OneBot 11 HTTP(NapCat / SnowLuma 都行),入站以 WebSocket 上报为主、HTTP 轮询补漏。
展开完整文档(README 剩余 1 节)
dsh-qq-rooms
来源与致谢:本项目衍生自 dsh-qq-bridge (作者 Yuuyuko-uu,MIT)。
src/transport.js 里的消息段解析、标记剥离、卡片抽取、正文图、转发展开等函数移植自原项目,并做了修改;房间模型、白/黑名单、群策略、插件装配为本项目新写。
本项目是独立的第三方项目,不是原项目的官方分支;插件 id(qq-rooms)与配置格式都不同,不能与原版同时启用。原项目版权声明见 LICENSE。
DSH 的 QQ 房间插件:聊天即房间,不用再手动把 QQ 会话绑到 DSH 会话。
- 私聊一人一间,群一群一间,第一条消息自动建房,之后复用(进程重启后 resume)
- 白名单直接聊;陌生人先问主人;主人拒绝后进黑名单,以后不再询问
- 群默认不接;接入后只回「@ 我 / 引用我」,主人在群里免 @
- 收图、发图、合并转发、卡片解析、语音转写(可选外部命令)
消息走 OneBot 11 HTTP(NapCat / SnowLuma 都行),入站以 WebSocket 上报为主、HTTP 轮询补漏。
安装
前提:本机已经跑着一个 OneBot 11 后端,并且开了
- HTTP 服务(默认 http://127.0.0.1:3000)
- WebSocket 上报(默认 ws://127.0.0.1:3001,陌生私聊只能靠它发现)
dsh plugin --profile desktop add github:Yukolike/dsh-qq-rooms
装完重启一次 DSH,然后 设置 → 通到 QQ。
不需要构建:仓库就是可运行源码(main 指向 src/host.js),没有依赖、没有编译步骤。
dsh plugin add 会直接 clone 并用源码运行;GitHub Release 里的 Source code 包就是完整安装包。
与 dsh-qq-bridge 不兼容:两个都启用会双发。请只留一个。
配置
| 项 | 默认 | 说明 |
| 总开关 | 关 | 关 = 一句都不发 |
| 试运行 | 开 | 开 = 只记账,不真发 |
| 主人 | 空 | 管理员的 QQ 号;审批、加群、重置只认这个号 |
| NapCat 地址 | http://127.0.0.1:3000 | OneBot HTTP |
| 接口令牌 | 空 | 后端开了鉴权才填 |
| 事件地址 | ws://127.0.0.1:3001 | 留空 = 不连事件源(只剩轮询) |
| 事件令牌 | 空 | 可空 |
| 房间工作区 | 空 | 新房间的 cwd;空 = ~/.dsh/qq-rooms |
| 模型 | deepseek-account/deepseek-flash | provider/model |
| 访客工具 | none | 访客房间的工具:none / safe / standard |
| 只发 [QQ] 块 | 关 | 开 = 只发正文里 [QQ]…[/QQ] 中间那段 |
配置文件在 ~/.dsh/qq-rooms-config.json,状态在 ~/.dsh/qq-rooms-state.json。
主人指令(只在自己的私聊里生效)
同意 [号] 进白名单(以后直接聊)
拒绝 [号] 进黑名单(以后不再问你)
解除 10001 移出黑名单(下次会重新问)放行 10001 直接进白名单
接群 123456789 [mention|all] 退群 123456789 静音 123456789 2h 取消静音 123456789
房间 列出所有房间重置 群:123456789 归档会话,下次消息重建
指令必须整条消息匹配,日常聊天不会被误吃。
群策略
- 默认:一个群都不接,未加入的群消息直接丢弃,也不会来问你
- mention(默认):只处理 @ 我 / 引用我的消息;at all 不算
- all:所有消息都进,交给模型判断
- 主人在群里说话:无视模式直接进
- 成员白/黑名单:members.allow 为空表示不限制,deny 优先
发表情包
在 [QQ] 块里写 随便起个名,插件会读本地文件、以 base64 发出去,markdown 不会泄露到 QQ。
相对路径按 图片根目录 → 房间工作区 → 进程 cwd → ~/.dsh 依次查找;也可以直接用绝对路径或 http(s) 链接。
安全
- 访客房间默认零工具:建房后调用 agent.ctx.tools.restrict({ allow: [] }),模型请求头里的 tools 为 0,只能打字。主人私聊与群不受影响。
- 访客工具 可设 none(默认,全禁)/ safe(只留 todo_write)/ standard(不限制,不推荐)。
- 这是 agent 级运行时掩码,不是 profile 隔离;房间工作区 仍建议指向空目录。
- 默认总开关关、试运行开,装完不会立刻发消息。
开发
node --test tests/*.test.mjs
测试使用假 ctx / 假 fetch,不需要 DSH 或 QQ 后端。
来源
src/transport.js 的部分纯函数(标记剥离、卡片抽取、正文图、消息段解析)移植自 dsh-qq-bridge(MIT)。房间、策略、装配、白/黑名单为本项目实现。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Yukolike/dsh-qq-rooms
把 QQ 私聊和群聊自动变成独立对话房间
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,170已汉化DeepSeek 客户端
71
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,041已汉化DSH
70.7
这是你的仓库?认领条目