mario841859784/dsh-onebot ↗★ 0

dsh-onebot-qq

为DSH接入QQ通道,支持私聊群聊及多媒体转写。 适合需要将DSH接入QQ群或私聊,实现机器人自动交互与消息处理的场景。

包名
dsh-onebot-qq
兼容性
待验证
Harness 依赖范围
>=0.1.5-rc.1 <0.1.6-0 || >=0.1.6-alpha.1 <0.1.7-0 || >=0.1.7-alpha.1 <0.2.0-0
Cordis 依赖范围
^4.0.2
版本
0.4.7
许可证
BSD-3-Clause
最近更新
2026年9月25日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:mario841859784/dsh-onebot

配置

完整配置项见 src/index.ts 的 Config schema(schemastery 校验,均有默认值)。常用:

键默认说明
modereversereverse/forward
host / port127.0.0.1 / 8643reverse 监听;跨机部署(NapCat 从其他机器拨入)需显式改为 0.0.0.0
urlws://127.0.0.1:3001forward 目标
reconnectMaxAttempts100自动重连放弃上限:连续失败达到该次数后停止重连,日志输出上限值与恢复指引;0 = 无限重连(退避封顶 60s)
accessToken空OneBot token;reverse 模式必填,留空插件拒绝启动(fail-closed);forward 可为空
botQQ空机器人 QQ(空=自动学习)
ignoreSelftrue忽略机器人自己发出的消息(防自循环)
requireMentiontrue群聊需 @ 或回复机器人的消息才响应(回复他人消息不触发;被回复消息无法判定时回落视为提及,fail-open)
rateLimitPerMinute30每会话每分钟普通消息上限(60s 滑动窗口):超限跳过处理并限流提示(每窗口至多一条),命令不受限;0 = 禁用
unknownCommandintercept未知斜杠命令处置:intercept(默认)拦截并提示相近命令(前缀匹配优先,编辑距离 ≤2 兜底且仅输入长度 ≥4 时启用,至多 3 个候选;无候选提示发 /help 或去掉开头 / 重发);passthrough 维持旧行为透传给模型。非 /纯单词 开头的文本(如路径 /tmp/x)不受影响
dmPolicyopen私聊策略:open(仅管理员)/allowlist(白名单)/disabled
groupPolicyopen群聊策略:open(所有人)/allowlist/disabled
restrictedMemberPrefixtrue群聊非管理员消息注入 [受限用户:仅问答] 前缀(软限制)
adminUsers[]管理员 QQ;也可用 ONEBOT_ALLOWED_USERS 环境变量。必须至少设置一个,否则私聊(dmPolicy=open)与斜杠命令无人可用
allowFrom / groupAllowFrom[]白名单用户/群
interimMessagestrue工具调用之间的中间文本是否立即发送;false 只发最终回复
interimRecalltrue中间消息撤回与回合末小结卡开关;false = 只发不撤(降级:无小结卡、不撤回,中间消息留在屏幕上)
sendErrorNoticetrue一轮运行出错时向用户发送 ⚠️ 错误提示
sensitivePatterns[]出站敏感内容审计正则(内置 rm -rf/关机/删库/密钥 等模式;留空用内置默认)
sttEnabledtrue语音转写(需 ffmpeg + whisper CLI)
sttEngineautoSTT 引擎:auto(自动探测 whisper-cli/whisper/mlx_whisper)/openai/whisper-cpp/custom
sttModelsmallwhisper 模型
sttCommand空custom 引擎的程序名/路径
sttArgs[]custom 引擎参数模板,{file} 与 {out} 会被替换
sttTimeoutMs60000语音转写超时(毫秒;v0.4.0 起默认 60s,此前 300s):超时保留 [语音] 占位;该值渲染为文字图卡片。渲染失败、PNG 超outboundImageMaxBytes或/media/onebot`
tempTtlHours6入站临时媒体文件保留时长(小时),到期自动清理
inboundImageMaxPx2048入站图片长边上限(px):超过则等比压缩后交给视觉模型(透明 PNG 保留、GIF 不压);⚠️ **BREAKING(M0 安全加固)**:reverse 模式下accessToken 留空会拒绝启动(fail-closed);host默认从0.0.0.0改为127.0.0.1(仅本机监听),跨机部署需显式配置 host: 0.0.0.0`。

环境变量:ONEBOT_ALLOWED_USERS(逗号分隔管理员)、ONEBOT_ALLOW_ALL_USERS=true(开发用)。