leliln52/dsh-qqbot0

dsh-qqbot

DeepSeek Harness × QQ:支持 OneBot 11(NapCat/Lagrange 等正向 WebSocket)与 QQ 官方开放平台机器人(q.qq.com AppID/AppSecret)双通道。私聊/群聊/频道即问即答,每个 QQ 会话对应一个持久 Agent(带文件/Shell/联网等完整工具),支持 Agent 主动发消息(qq_send)。

包名
dsh-qqbot
版本
0.2.0
许可证
MIT
最近更新
2026年8月16日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:leliln52/dsh-qqbot

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(空 = 全部)

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

使用

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

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

配置项一览

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