dsh-qqbot
DeepSeek Harness × QQ:支持 OneBot 11(NapCat/Lagrange 等正向 WebSocket)与 QQ 官方开放平台机器人(q.qq.com AppID/AppSecret)双通道。私聊/群聊/频道即问即答,每个 QQ 会话对应一个持久 Agent(带文件/Shell/联网等完整工具),支持 Agent 主动发消息(qq_send)。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:leliln52/dsh-qqbot说明文档
阅读完整 README ↗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 沙箱根内,否则文件类工具会被拦截)。
配置项一览
| 键 | 默认 | 说明 |
|---|---|---|
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 工具 |