深度集成于 QQNT 原生会话界面的高性能、多模态 AI 智能回复与上下文会话辅助 Xposed / LSPosed 模块。
QAI 是一款面向现代化移动端即时通讯生态(针对 QQNT 架构)的高阶 AI 辅助插件。模块通过轻量级 Native / Java 层 Hook 深度切入 QQ 官方 AIO(All-In-One)会话引擎与消息渲染流水线,不仅能从会话视图长按快捷呼出流式 AI 回复面板,更能穿透底层原生数据模型(MsgRecord),实现复杂富媒体消息链解析、本地高清图片多模态提取、引用关系自动跨消息追溯以及绕过输入框的内核静默直接投递。
- 🎯 深度原生集成:
- 会话消息长按气泡菜单无缝注入「询问 AI」入口;
- 设置页直接融入 QQ 原生设置列表卡片体系,支持暗黑模式自适应。
- 👁️ 全链路多模态视觉感知:
- 自动穿透内核提取当前选中消息、前序历史消息及引用源消息的本地磁盘图片(原图/缩略图路径);
- 将多模态数据编码并聚合送入多模态大模型(如 Gemini、GPT-4o、Claude 3.5),让大模型真正“看见”前序图片。
- 💬 复杂消息链精准解析:
- 覆盖文本、语音识别、系统表情与商城表情包、合并转发卡片(
MultiForwardMsgElement)、Ark 卡片(JSON 深度提取)、结构化 XML 卡片以及文件/视频; - 时间线时序占位保护,确保历史背景因果关系不蒸发。
- 覆盖文本、语音识别、系统表情与商城表情包、合并转发卡片(
- 🎭 场景感知与“你我他”主体识别:
- 动态识别会话场景(群聊、频道、好友私聊)与群名称;
- 严格区分“我”与他人的发言立场,避免大模型混淆回复主体。
- ⚡ 自适应多项候选回复:
- 支持单条精炼回复与多项候选模式;
- 突破静态条数限制,根据流式输出自适应动态增删候选卡片,支持一键单选操作。
- 🚀 QQNT 底层内核静默直接投递:
- 穿透
Contact与底层消息服务,支持一键发送直接投递后台,彻底免去复制/填入/点击发送等繁琐交互; - 支持联动原始消息的自动引用回复。
- 穿透
- 🧠 深度思考思维链(CoT)支持:
- 深度兼容 DeepSeek R1、Gemini 思考模型;
- 具备思考中动态指示、自动耗时统计、完成时平滑折叠及按需禁用思考机制。
- 🎨 对齐 QQ 官方 QUI 视觉规范:
- 全面采用沉浸式全屏穿透半透明顶栏;
- 拒绝粗糙纯黑,严格对齐深色模式层次灰阶体系(
#191919/#242424); - 定制无切角防裁剪高品质滑块 Thumb,彻底移除系统粗糙的侧边拖动条。
下图展示了用户在 QQ 聊天界面长按触发 QAI 到最终生成并投递消息的端到端技术链路:
sequenceDiagram
autonumber
actor User as 用户
participant AIO as QQ AIO 会话组件
participant Hook as AioMenuHook (内核拦截)
participant UI as AiReplyBottomSheetDialog (UI浮窗)
participant Client as StreamChatClient (SSE流式客户端)
participant LLM as 大语言模型服务商
participant Kernel as QQNT 底层消息服务
User->>AIO: 长按消息气泡
AIO->>Hook: 弹出 AIO 气泡菜单
Hook->>AIO: 注入「询问 AI」动作项
User->>Hook: 点击「询问 AI」
Hook->>Hook: 穿透 MsgRecord 解析结构化消息链
Hook->>Hook: 追溯引用原消息 & 提取本地有效图片路径
Hook->>Hook: 提取前序自然时序历史上下文与场景元数据
Hook->>UI: 唤起沉浸式半透明 BottomSheetDialog
UI->>Client: 发起流式请求 (System Prompt + 上下文 + 多模态图片)
Client->>LLM: SSE 协议网络连接 (支持 Reasoning 思维链)
LLM-->>Client: 实时吐出思考流 (Reasoning Chunk)
Client-->>UI: 动态更新思考状态与动画
LLM-->>Client: 实时吐出正式内容流 (Content Chunk)
Client-->>UI: 动态解析候选分隔符,自适应渲染多项候选卡片
User->>UI: 选中目标候选卡片并点击【发送】
UI->>Kernel: 穿透 Contact 实例静默直接投递底层原生消息
Kernel-->>AIO: 消息发出并在当前会话直接呈现
UI->>UI: 平滑执行退场动画并关闭浮窗
- 操作系统:Android 8.0 (API Level 26) 及更高版本;
- Root 方案与框架:已安装并激活的 LSPosed(推荐 Zygisk 模式);
- 宿主应用:QQ 官方客户端(架构支持 QQNT 8.9.x 至 9.x+ 全系新版本)。
- 前往 GitHub Releases 页面下载最新的
app-release.apk; - 安装 APK 至手机设备;
- 打开 LSPosed Manager,在模块列表中启用 QAI 模块;
- 在作用域列表中勾选 QQ(
com.tencent.mobileqq); - 强行停止并重启 QQ 客户端,进入 QQ 设置界面即可在顶部卡片区域看到 QAI 入口。
本项目基于标准 Gradle 架构构建,无任何私有外部依赖:
# 1. 克隆代码仓库
git clone https://github.com/MeiYongAI/QAI.git
cd QAI
# 2. 执行 Release 构建打包
# Windows:
.\gradlew.bat :app:assembleRelease
# Linux / macOS:
./gradlew :app:assembleRelease构建完成后产物输出路径位于:app/build/outputs/apk/release/app-release.apk。
QAI 内置了涵盖主流商用与开源生态的预设配置,支持一键切换并自动填充 Base URL:
| 服务商预设 | 默认 Base URL | 特色与说明 |
|---|---|---|
| DeepSeek | https://api.deepseek.com |
支持 deepseek-chat 与 deepseek-reasoner (R1) 深度思考 |
| Google Gemini | https://generativelanguage.googleapis.com |
官方原生多模态视觉与长上下文支持 |
| OpenAI | https://api.openai.com |
兼容 GPT-4o / GPT-4.5 全系列标准端点 |
| Groq | https://api.groq.com/openai |
极致秒级超低延迟推理响应 |
| xAI (Grok) | https://api.x.ai |
Grok 系列大模型支持 |
| Cerebras | https://api.cerebras.ai |
晶圆级超高速流式推理引擎 |
| Ollama Cloud / 本地 | 自定义端口或内网穿透地址 | 支持本地私有化部署的大语言模型 |
| OpenRouter / 代理 | https://openrouter.ai/api |
全球模型聚合网关,支持自选所有主流模型 |
| 自定义兼容端点 | 自定义输入 | 兼容任何符合 OpenAI API 规范的中间件或反向代理 |
在设置界面中点击「拉取模型列表」,插件将自动向对应端点的 /v1/models 发起异步探测,并在弹窗中列出该 API Key 具备权限的模型列表,点击即可秒级填入。
- 上下文条数滑块:可平滑调节向前回溯的历史记录条数(0 ~ 100 条);
- 排除项精细化过滤:支持独立开关排除图片、小黄脸表情、卡片以及语音消息;
- 底层多模态图片直取:
直接穿透内核
MsgRecord.elements.picElement读取本地已缓存的真实文件绝对路径,避免了因长按文本消息导致上下文图片丢失的问题; - 跨消息引用溯源:
长按他人带有引用的消息时,自动依据
replayMsgId定位被引用原消息并提取该消息中的本地图片,同时将多模态 Base64 数据推送给大模型。
- 可通过设置项或在底部弹窗顶部点击
「单条回复 / 多条候选」按钮进行模式切换; - 候选卡片采用动态增删技术,根据大模型实际输出的内容自适应展开卡片数量;
- 点击不同候选卡片可快速切换选中焦点,配合底部【发送】、【插入输入框】、【复制文本】按钮实现高效分发。
- 适配支持输出推理过程的模型;
- 推理开始时呈现柔和动态指示,输出正式回答时自动计算耗时(如
已深度思考 (3秒))并平滑折叠; - 点击折叠栏可随时展开/收起完整思考过程;
- 在设置中若将推理等级调整为关闭,将自动屏蔽并过滤所有思考标记。
- 沉浸式半透明顶栏:设置页面顶栏悬浮置顶,状态栏透明穿透,内容向上滚动时自然从顶栏后方穿透滑过;
- 拒绝刺眼纯黑:采用 QQ 官方暗色调规范体系(背景
#191919,卡片#242424),柔和护眼; - 精致防裁剪滑块:SeekBar 两端预留 14dp 防裁剪内边距,配合定制的科技蓝描边白色圆球 Thumb,拖拽到极限边缘无任何切割;
- 纯净滚动交互:完全关闭系统默认垂直滚动条。
- 请检查 LSPosed Manager 中是否已正确勾选 QQ 作用域;
- 请检查是否已强行停止并重启 QQ 客户端;
- 确认当前使用的 QQ 版本是否为 8.9+ / 9.x 系列 NT 架构。
- 请确保当前会话中的图片在 QQ 界面中已经加载显示(确保本地磁盘已存在图片缓存文件);
- 在 QAI 设置中检查「排除上下文中的图片消息」开关是否处于关闭状态。
- QAI 优先采用 QQNT 底层静默内核消息通道;若目标会话窗口较为特殊未能命中 Contact 实例,插件将自动回退为填入并触发输入框发送按钮。请确保输入框未被其他第三方键盘或悬浮窗强行阻断。
- 本项目仅供移动安全研究、逆向工程学习及无障碍交互体验探索使用;
- 本项目不提供任何商业 API Key 或第三方服务商代理,所有接口调用产生的费用由使用者自行承担;
- 请遵守各平台的服务条款与政策,严禁利用本项目从事任何违法违规行为;
- 开发者不对因使用本插件所造成的任何直接或间接后果承担连带责任。
本项目采用 MIT License 开源协议,欢迎提交 Issue 与 Pull Request 共同改进!