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

QQ 机器人接入 leliln52/dsh-qqbot

DeepSeek Harness
leliln5278 天前有提交已提供中文文档扫描:含敏感能力

把 QQ 会话接入 Agent,支持 OneBot 与官方通道

27.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add leliln52/dsh-qqbot
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · platform
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 78 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
  • 写入本地文件
    lib/index.js:106
    mkdirSync(dir, { recursive: true });
  • 发起网络请求
    lib/official.js:130
    const res = await fetch(this.tokenUrl, {
  • 发起网络请求
    lib/official.js:154
    const res = await fetch(`${this.apiBase}${path}`, {
  • 发起网络请求
    lib/official.js:178
    const data = await this.request("GET", "/gateway/bot");
  • 发起网络请求
    lib/official.js:394
    const data = await this.request("POST", path, payload);
  • 读取本地文件
    lib/chat.js:76
    const persistedId = readFileSync(this.sessionMarkerPath, "utf8").trim();
  • 写入本地文件
    lib/chat.js:243
    writeFileSync(this.sessionMarkerPath, String(this.sessionId), "utf8");
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-agent@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 接入QQ会话
  • 支持OneBot11
  • 支持QQ官方平台

DeepSeek Harness 的 QQ 机器人插件,支持 OneBot 11 和 QQ 官方平台

README

由 DeepSeek 最新模型翻译生成
dsh-qqbot 把 DeepSeek Harness(DSH)接入 QQ 机器人的插件,支持两种接入通道: | 通道 | transport | 适用 | 说明 | | OneBot 11 | onebot(默认) | NapCat / Lagrange / LLOneBot 等协议端 | 正向 WebSocket,功能全(群聊任意消息、图片等) | | QQ 官方开放平台 | official | q.qq.com 官方机器人 | AppID/AppSecret 直连,群聊(@触发)/单聊/频道 | 两种通道下行为一致: - 每个 QQ 会话一个持久 Agent:私聊、每个群、每个频道各自独立上下文,历史跨重启保留(会话日志持久化到 $DSH_HOME/sessions); - 完整工具链:Agent 挂载部署的 Agent 预设(web profile 下为 standard),拥有文件读写、Shell/PowerShell、网页搜索、子代理、任务清单等 DSH 全部能力; - Agent 可主动发消息:注册 qq_send 工具,Agent 可以主动向对话方汇报进度、提问或输出结果; - 本地命令 #help / #status / #reset,长回复自动分块,断线自动重连。
展开完整文档(README 剩余 1 节)
dsh-qqbot

把 DeepSeek Harness(DSH)接入 QQ 机器人的插件,支持两种接入通道:

| 通道 | transport | 适用 | 说明 |
| OneBot 11 | onebot(默认) | NapCat / Lagrange / LLOneBot 等协议端 | 正向 WebSocket,功能全(群聊任意消息、图片等) |
| QQ 官方开放平台 | official | q.qq.com 官方机器人 | AppID/AppSecret 直连,群聊(@触发)/单聊/频道 |

两种通道下行为一致:

- 每个 QQ 会话一个持久 Agent:私聊、每个群、每个频道各自独立上下文,历史跨重启保留(会话日志持久化到 $DSH_HOME/sessions);
- 完整工具链:Agent 挂载部署的 Agent 预设(web profile 下为 standard),拥有文件读写、Shell/PowerShell、网页搜索、子代理、任务清单等 DSH 全部能力;
- Agent 可主动发消息:注册 qq_send 工具,Agent 可以主动向对话方汇报进度、提问或输出结果;
- 本地命令 #help / #status / #reset,长回复自动分块,断线自动重连。

工作原理

QQ 消息 ──► OneBot 实现 / QQ 官方开放平台 │ 正向 WebSocket / 官方 WS 长连接(q.qq.com) ▼ dsh-qqbot 插件(web profile 内) │ ctx.agents.create / resume(每个 QQ 会话一个 Agent) ▼ DeepSeek Harness Agent(模型 + 工具 + 预设) │ 回复文本 ▼ send_*_msg / 官方 OpenAPI ──► QQ

安装

1. 准备 QQ 接入端

OneBot 通道(默认):任选一个协议实现,例如 NapCat:登录机器人 QQ 号,开启「网络监听 → WebSocket 客户端(正向 WS)」,记下地址(默认 ws://127.0.0.1:3001),可选设置 access token。

QQ 官方通道:到 QQ 开放平台 创建机器人,在「开发设置」拿到 AppID 与 AppSecret;在「沙箱配置」添加测试群/私聊用户(或发布后使用)。
群聊中机器人只会收到 @它的消息;单聊需用户主动发起。

2. 安装插件到 DSH web profile

dsh plugin --profile web add file:C:\path\to\dsh-qqbot

等价于在 $DSH_HOME/profiles/web 下执行 pnpm add file:...,并把 dsh-qqbot 加入该 profile 的 bundle 列表。

然后重启 dsh web(先 Ctrl+C 停掉旧进程再启动)。启动日志出现 qqbot: connected to ... 即成功。

3. 配置

OneBot 通道:默认连接 ws://127.0.0.1:3001,可设环境变量:

set QQBOT_WS_URL=ws://127.0.0.1:3001
set QQBOT_ACCESS_TOKEN=你的token
dsh web

QQ 官方通道(任选其一):

方式 A —— 环境变量:

set QQBOT_TRANSPORT=official
set QQBOT_APP_ID=你的AppID
set QQBOT_APP_SECRET=你的AppSecret
dsh web

方式 B —— profile 的 cordis.patch.yml($DSH_HOME/profiles/web/cordis.patch.yml):

- id: qqbot
config:
transport: official
appId: '你的AppID' clientSecret: '你的AppSecret' sandbox: true # 沙箱域名(默认正式环境) groupMentionOnly: true # 群聊只在 @机器人 时回复(官方通道天然只收 @)
allowedUsers: ['xxx'] # 只允许这些用户 openid(空 = 全部)
allowedGroups: ['xxx'] # 只回复这些群 openid(空 = 全部)

配置项见插件 Config(lib/index.js)与下方「配置项一览」。

使用

| 命令 | 作用 |
| 任意消息 | 交给本会话的 Agent 处理并回复 |
| #help | 显示帮助 |
| #status | 显示接入通道、连接与会话状态 |
| #reset | 重置当前会话(清空上下文) |

每个 QQ 会话的工作目录位于 /qqbot-chats/(可在 workspaceRoot 配置中改;建议保持在 DSH 沙箱根内,否则文件类工具会被拦截)。

Agent 主动发消息(qq_send)

插件向所有 Agent(包括 web GUI 会话)注册 qq_send 工具:把文本发送给 “当前正在与这个 Agent 对话的 QQ 会话”。例如 Agent 在长时间任务中可以汇报进度,或向用户提问。非 QQ 会话调用会得到明确报错。

注意:QQ 官方开放平台自 2025-04-21 起已停用主动消息能力,因此官方通道中的 qq_send 会明确报错;OneBot 通道不受此限制。官方被动回复仍受平台窗口和 “同一条入站消息最多回复 5 次”等限制,插件会在分块超过 5 条时拒绝发送,避免静默丢尾。

配置项一览

| 键 | 默认 | 说明 |
| transport | onebot | onebot(OneBot 11)或 official(QQ 官方) |
| url | ws://127.0.0.1:3001 | OneBot 正向 WS 地址 |
| accessToken | '' | OneBot token(Bearer) |
| reconnectDelayMs | 3000 | 重连初始延迟,指数退避封顶 60s |
| appId | '' | QQ 官方机器人 AppID |
| clientSecret | '' | QQ 官方机器人 AppSecret |
| apiBase | https://api.sgroup.qq.com | 官方 OpenAPI 域名 |
| tokenUrl | https://bots.qq.com/app/getAppAccessToken | access_token 接口 |
| sandbox | false | 使用沙箱域名 sandbox.api.sgroup.qq.com |
| gatewayUrl | '' | 强制指定官方 WS 网关;留空自动获取 |
| replyMaxChars | 4500 | 单条回复字符上限,超出分块(官方通道另限 3000 字节) |
| workspaceRoot | /qqbot-chats | 会话工作目录根 |
| persona | 内置默认 | 附加到每个 QQ Agent 的系统提示词 |
| preset | ''(部署默认) | QQ Agent 挂载的 Agent 预设 id |
| allowedUsers | [] | 允许私聊的 QQ 号/openid(空=全部) |
| allowedGroups | [] | 允许回复的群号/群 openid/频道键 -(空=全部) |
| groupMentionOnly | false | 群聊仅 @机器人 时回复 |
| maxTurnMs | 600000 | 单轮回复最长等待,超时后取消当前任务并提示 |
| httpTimeoutMs | 15000 | QQ 官方 token/OpenAPI HTTP 请求超时(ms) |
| registerSendTool | true | 是否注册 qq_send 工具 |

卸载

dsh plugin --profile web remove dsh-qqbot

安全注意

- QQ 机器人是无认证的入口:任何能向你机器人发消息的人都能使用 DSH 的 Agent 能力(包括 Shell)。请务必通过 allowedUsers / allowedGroups 限制可用范围,并只登录可信的 QQ 号。
- 审批(approval)弹窗仍会出现在 web GUI 中(policy 为 ask 时);如果需要 QQ 内审批,请自行扩展(例如把 qq_send 接到审批 answerer)。
- 工作目录默认位于 DSH 沙箱根内;改到别处时请同步调整 fs-sandbox.workspaceRoot,否则文件类工具会被沙箱拦截。

License

MIT
预览分享卡片长什么样 ↓leliln52/dsh-qqbot
分享 · DeepSeek Harness Hub
leliln52/dsh-qqbot

把 QQ 会话接入 Agent,支持 OneBot 与官方通道

这是你的仓库?认领条目

回到顶部