AI 聚合工具:Tauri 2 + React + Ant Design 的桌面实践
项目背景与目标
日常工作中需要同时对比多个 AI 的回答,但频繁切换网页和复制粘贴非常低效。本项目的目标是:
- 一键唤起:全局快捷键呼出置顶输入框。
- 一键投递:输入一次,自动投递到多个 AI。
- 统一管理:在设置中心集中管理工具与快捷键。
- 原生体验:跨平台桌面应用,轻量、快速、易分发。
开源地址
- GitHub:https://github.com/obo100/ai-aggregation
- Gitee:https://gitee.com/one-by-one100/ai-aggregation
技术栈
桌面端
- Tauri 2:Rust 驱动的轻量桌面框架。
- tauri-plugin-global-shortcut:全局快捷键注册。
- 托盘(Tray Icon):常驻后台入口与右键菜单。
- 多 Webview(单窗口多标签):同一窗口内加载多个 AI 页面。
前端
- React + Vite:快速开发、热更新。
- Ant Design:设置中心 UI 与表单。
- CSS 变量 + 跟随系统暗黑:统一主题风格。
其他
- 权限能力(capabilities):Tauri 2 的安全权限声明。
功能概览
- 快捷输入框(QuickPanel)
- 全局快捷键 Alt+Q 呼出置顶输入框。
- Enter 发送,Shift+Enter 换行。
- Esc 随时关闭。
- 主窗口(设置中心 + AI 标签页)
- 单窗口多标签页,按工具启用状态动态生成。
- 工具配置:URL、选择器、发送方式、启用开关。
- 自动投递
- 输入一次,自动注入到多个 AI 页面并发送。
- 托盘入口
- 左键打开主窗口。
- 右键菜单:设置中心 / 退出。

交互流程
- 用户按下 Alt+Q。
- 快速输入框置顶出现并聚焦。
- 输入内容后按下 Enter。
- 主窗口打开并切换到第一个启用的 AI 标签页。
- 系统将文本自动填充并发送到所有启用的 AI。
简单流程图(文字版):
Alt+Q 唤起
↓
输入内容
↓ Enter
主窗口打开并切到第一个工具
↓
多 Webview 注入与发送
运行与开发
前置依赖
- Node.js(建议 LTS)
- Rust(含 Cargo)
- 安装:https://rustup.rs/
- 验证:
rustc -V/cargo -V
启动开发
npm install
npm run tauri dev
打包
npm run tauri build
设置中心说明
1) 快捷键录制
点击输入框后直接按组合键,系统会自动填入格式(例如 Ctrl+Alt+Q),然后点“应用快捷键”立即生效。
2) AI 工具配置
- 名称:工具显示名称
- URL:工具入口地址
- 启用:控制是否参与投递
- 发送方式:
- 回车发送(默认)
- 按钮发送(需配置发送按钮选择器)
- 输入选择器/发送选择器:
- 可选项,未配置时使用通用策略

注入与发送机制说明
项目在每个 AI 页签中通过注入脚本完成以下动作:
- 定位输入框(优先使用自定义选择器)。
- 点击并聚焦输入框(激活发送逻辑)。
- 写入内容并触发 input/change 事件。
- 根据发送方式触发:
- 回车发送:模拟 Enter。
- 按钮发送:点击发送按钮。
注入失败通常与以下原因有关:
- 目标页面需要登录或有反自动化策略;
- 页面结构变更导致选择器失效;
- CSP 或脚本限制;
- 特定站点(如 ChatGPT)更偏向点击按钮发送。




常见问题与注意事项
1) 注入失败或发送不成功
- 先确认页面已登录并显示输入框。
- 尝试设置更精准的 inputSelector / sendSelector。
- 对 ChatGPT 建议使用 “按钮发送”:
- 输入选择器:
textarea#prompt-textarea - 发送选择器:
button[data-testid='send-button']
- 输入选择器:
2) Mac 构建报错(图标与透明)
- 图标要求:icon.png 必须是 RGBA PNG。
- 透明窗口:macOS 对透明窗口有私有 API 限制,当前实现会自动在 macOS 下关闭 transparent 以避免编译失败。
3) 快捷键冲突
如果快捷键注册失败,请换用更少冲突的组合,如 Ctrl+Alt+Q。
4) ESC 全局关闭
按 Esc 会关闭当前显示的主窗口或快速输入框,避免出现无法关闭的情况。
项目结构概览
src/
main/ # 设置中心与主窗口 UI{.alignnone}
quick/ # 快速输入框 UI
lib/ # 注入与窗口管理逻辑
src-tauri/
src/main.rs # Tauri 后端逻辑
capabilities/ # 权限配置

使用建议
- 将常用 AI 工具加入列表,并配置最稳定的选择器。
- 保留一个不常冲突的快捷键用于唤起。
- 多标签对比回答时,优先关闭不常用的工具以提升性能。
后续可扩展方向
- 不同工具的专属注入模板;
- 多轮上下文缓存与自动拼接;
- 输出结果汇总与对比视图;
- 可视化编辑器与快捷键冲突检测。
