voyager
Nagi-ovo
Enhancement suite for Gemini, AI Studio, Claude & ChatGPT — plus a prompt manager for any websites, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件;其中的提示词管理器可用于任意网站,如 DeepSeek Harness。
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:jixishi/dsh-adapter-qq
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
dsh-adapter-qq 是针对 DeepSeek Harness (DSH) 深度定制的 QQ 官方机器人(C2C 单聊模式)适配器插件。
通过本插件,你可以在手机或桌面 QQ 聊天窗口中直接与 DSH Agent 进行完整对话,享受 DSH 的全量编码与执行能力(文件读写、Shell 执行、代码运行、子代理、多步规划、工作流),并实现与 DSH Web UI 实时双向同屏联动。
C2C_MESSAGE_CREATE 与 INTERACTION_CREATE)+ OpenAPI HTTP 发送消息,无需第三方逆向协议,稳定合规。[允许 (本次)] 或 [拒绝],两端任一端处理立即同步结算。PUT /v2/menu 接口向 QQ 开放平台注册底部快捷菜单,单聊底部直达会话列表、当前状态与快捷管理。standard, ptc, minimal, cordis + 用户自定义预设),绝不硬编码。只读 (read-only)、工作区写入 (workspace-write)、全系统 (danger-full-access)。clientSecret, token)自动脱敏。1. 工作区与会话列表 (/sessions) |
2. Agent 交互提问 (ask_user_question) |
|---|---|
![]() |
![]() |
| 层级化对齐 DSH 侧边栏,支持按键一键切换 | 紧凑 A/B/C/D 操作板,点击即回传 Agent |
3. 双向权限审批联动 (/approve / /reject) |
4. 实时工具调用执行进度 (可选聚合) |
|---|---|
![]() |
![]() |
| QQ 与 Web UI 实时互斥结算,绝不悬挂 | 工具执行进度秒级感知,多操作自动聚合防刷屏 |
5. 会话统计数据 (/stats 对齐 WebUI) |
6. 模型选择与翻页 (/model 操作板) |
|---|---|
![]() |
![]() |
| 轮次、步数、LLM耗时、TTFT及缓存命中率 | 支持多供应商模型识别与上一页/下一页翻页 |
7. 思考等级管理 (/effort 操作板) |
8. QQ 图片同步至 Web UI 聊天气泡 |
|---|---|
![]() |
![]() |
| 支持 off/low/medium/high/xhigh/max 实时切换 | QQ 发送图片原生呈现在 Web UI 聊天流 |
| 9. QQ 文件接收并保存至工作区 |
|---|
![]() |
| QQ 发送文件自动保存至 uploads/ 并通知 Agent |
QQ 开放平台 (q.qq.com)
│
├─ WebSocket Gateway ───────▶ QQGatewayClient (lib/qq/gateway.js)
│ (Hello, Heartbeat, │ 分发 C2C_MESSAGE_CREATE / INTERACTION_CREATE
│ Identify, Resume) ▼
│ MessageBridge (lib/sync/message-bridge.js)
├─ HTTP REST API ◀────────── ├─ 指令解析器 (/sessions, /new, /switch, /preset, ...)
│ (POST /v2/users/.../messages) ├─ 交互操作板构建器 (lib/ui/keyboard.js)
│ (PUT /v2/menu 快捷菜单) ├─ 消息流式分段与清洗
│ ▼
│ SessionManager (lib/sync/session-manager.js)
│ │ 调用 ctx.sessionController / ctx.agentPresets / ctx.permissionPresets
│ ▼
│ DeepSeek Harness 核心运行时 (Cordis Framework)
│ ├─ ctx.sessions (会话上下文)
│ ├─ ctx.on('session/event') (双向消息监听)
│ └─ ctx.on('approval/request') (双向审批竞态)
│ ▲
└───────────────────────────── ApprovalHandler (lib/sync/approval-handler.js)
AppID(机器人应用 ID)AppSecret(开发者密钥)sandbox: true) 进行测试。本插件是标准 DSH Bundle 插件包,声明了 dsh.bundle.patch 和 dsh.client,通过 DSH 官方 CLI 命令一行即可完成安装与自动挂载:
dsh plugin --profile web add dsh-adapter-qq
dsh plugin --profile web add github:jixishi/dsh-adapter-qq
卸载插件:
dsh plugin --profile web remove dsh-adapter-qq
安装完成后,启动 DSH Web 界面(默认 http://127.0.0.1:3080),进入 设置 (Settings) 页面,展开 【QQ 机器人 (QQ Bot)】 卡片:
| 配置项 | 说明 | 默认值 |
|---|---|---|
enabled |
是否启用 QQ Bot 适配器 | true |
appId |
填写 QQ 开放平台的 Bot AppID | "" |
clientSecret |
填写 QQ 开放平台的 AppSecret(密文遮罩) | "" |
sandbox |
是否连接沙箱开发环境(测试期间推荐勾选) | false |
userOpenid |
绑定的专属用户 OpenID(留空将在收到首条消息时自动绑定) | "" |
defaultPreset |
新建会话默认 Agent 预设 | "standard" |
defaultCwd |
新建会话默认工作目录(留空使用当前 DSH 工作区) | "" |
autoRegisterMenu |
启动后自动向 QQ 开放平台注册底部自定义快捷菜单 | true |
markdown |
消息回复优先使用 Markdown 渲染 | true |
syncToolCalls |
是否同步推送工具调用执行进度(防刷屏,默认关闭) | false |
toolCallAggregateWindowMs |
工具调用聚合推送窗口时间(毫秒,默认 30000ms / 30秒) | 30000 |
保存后,插件会立即热重载配置并自动建立 WebSocket 连接,无需重启 DSH。
在 QQ 单聊窗口中,您可以直接发送以下指令或在底部菜单/操作板中点击按钮:
| 指令 | 简写/别名 | 功能说明 |
|---|---|---|
/sessions |
/会话列表, /list |
按工作区层级树形展示所有会话(本地与远程),带有人类可读标题与序号,附带操作板 |
/new |
/新建会话, /create |
启动交互式新建会话向导:选择已有工作区(本地/远程)或进入目录浏览器 |
/switch <序号或ID> |
/切换 <序号或ID> |
切换当前活跃会话(支持序号如 /switch 1 或会话标题/ID) |
/current |
/当前会话, /info |
查看当前活跃会话的详细信息与操作板 |
/new,操作板展示所有已有工作区(如 📁 免费:~ (远程), 📁 qq-bot, 📁 AutoAim)及【🔍 浏览并选择目录】。⬆️ 上级目录、➕ 新建目录、📄 上页/下页 翻页。| 指令 | 说明 |
|---|---|
/model |
查看当前会话模型及所有可用模型列表,附带一键切换操作板 |
/model <名称或序号> [供应商] |
为当前会话切换 AI 模型(如 /model gpt-5.6-luna 或 /model 2) |
/effort [等级] 或 /思考 |
查看或切换思考等级(off, low, medium, high, xhigh, max),附带操作板 |
/stats 或 /统计 |
查看当前会话统计信息(轮次/步数、LLM耗时、首字延迟、解码速度、缓存命中率、Token用量,对齐 WebUI 底栏) |
/preset |
显示当前预设及所有动态获取的可用预设列表(内置 + 自定义),附带切换按钮 |
/preset <名称> |
为当前会话切换预设(如 /preset ptc,未产生交互前可换) |
/permission |
显示当前权限级别及切换操作板 |
/permission <模式> |
切换权限模式:只读 (read-only)、工作区 (workspace-write)、全系统 (danger-full-access) |
在活跃会话中,Agent 的所有实时执行动作均会推送到 QQ:
⚙️ [Agent 正在执行] 调用工具: pwsh ...。| 指令 | 说明 |
|---|---|
/cancel 或 /stop |
中止当前 Agent 正在运行的轮次 |
/approve [ID] |
批准待审批请求(支持操作板一键点击) |
/reject [ID] |
拒绝待审批请求(支持操作板一键点击) |
/menu |
手动强制向 QQ 开放平台同步底部快捷菜单 (PUT /v2/menu) |
/help |
显示使用帮助菜单与全局快捷操作板 |
在设置活跃会话后,发送任意非 / 开头的文本,将直接转发给 DSH Agent:
本项目内置完整的单元测试套件(覆盖 API 客户端、InlineKeyboard 构建器、会话管理器、Gateway 网关协议、审批流中间件与消息桥接器):
# 运行全部测试
pnpm test
测试结果:
✔ QQApiClient (7 tests passed)
✔ KeyboardBuilder (9 tests passed)
✔ SessionManager (9 tests passed)
✔ QQGatewayClient (6 tests passed)
✔ ApprovalHandler (3 tests passed)
✔ MessageBridge (17 tests passed)
ℹ tests 51
ℹ suites 6
ℹ pass 51
ℹ fail 0
11255 或发消息无响应?sandbox 配置是否与后台所处环境(测试沙箱 vs 正式)一致。bots.qq.com?bots.qq.com 与 *.qq.com 直连,避免 fake-ip 解析异常拦截握手请求。session has already started; its agent preset is fixed?/new [目录] <预设名> 创建新会话。本项目基于 MIT License 开源。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: qq-bot。