🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

QQ 房间 Yukolike/dsh-qq-rooms

DeepSeek Harness
Yukolike7 天前有提交已提供中文文档扫描:高危

把 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
预览分享卡片长什么样 ↓Yukolike/dsh-qq-rooms
分享 · DeepSeek Harness Hub
Yukolike/dsh-qq-rooms

把 QQ 私聊和群聊自动变成独立对话房间

这是你的仓库?认领条目

回到顶部