AI Parallel Browser Extension
一个本地 Chrome / Edge Manifest V3 扩展:输入一次 Prompt,同时打开多个主流 AI Web Chat,新建会话并自动发送。
支持站点
- ChatGPT —
https://chatgpt.com/ - DeepSeek —
https://chat.deepseek.com/ - 智谱清言 —
https://chatglm.cn/ - Qwen —
https://chat.qwen.ai/ - Kimi —
https://www.kimi.com/ - Claude —
https://claude.ai/new - Gemini —
https://gemini.google.com/app
设计
Popup
│ LAUNCH_PARALLEL(prompt, providers)
▼
Service Worker
├─ chrome.tabs.create(...)
├─ session storage: tabId -> prompt/job
└─ tab group: AI Compare
│
▼
Content Script (目标站点)
├─ 根据 sender.tab.id 领取 job
├─ 尝试进入新会话
├─ 等待 textarea / contenteditable
├─ 写入 Prompt
└─ 点击 Send / Enter 兜底
Prompt 不放在 URL,不发送到第三方中转服务。扩展只使用你浏览器里已经登录的各站账号。
安装
Chrome
- 解压此目录。
- 打开
chrome://extensions/。 - 开启右上角 开发者模式。
- 点击 加载已解压的扩展程序。
- 选择仓库中的
apps/browser-extension/。 - 固定扩展图标。
Edge
打开 edge://extensions/,开启开发者模式,然后加载已解压扩展。
使用
- 先分别登录需要使用的 AI 网站。
- 点击扩展图标。
- 勾选模型。
- 输入 Prompt。
- 点击 并行发送,或按
Ctrl/Cmd + Enter。 - 扩展会把本轮标签页放进一个
AI Compare标签组。
为什么不直接 iframe 多站点
主流 AI 站点通常通过 X-Frame-Options / CSP 禁止第三方 iframe,而且跨域页面也不能被扩展 Popup 的普通 JS 直接操作。本扩展使用 Manifest V3 Content Script,在已授权的站点上下文中完成输入与发送。
稳定性说明
各 AI 网站的 DOM 经常更新。本项目采取两层策略:
- 每个 Provider 有一组站点级 selector。
- selector 失效时使用可见
textarea/contenteditable和 Send/Submit 语义进行兜底。
如果某个网站升级后失败,Popup 的“最近一次”会显示错误。通常只需修改 content/runner.js 对应 Provider 的 selector,不需要改整体架构。
权限
storage:保存勾选项、草稿和本轮一次性任务。tabs:创建模型页面。tabGroups:把本轮页面整理到同一个标签组。host_permissions:仅限清单中的 AI Web Chat 域名。
没有 webRequest、Cookie、History、Downloads 等权限。
开发
这是 monorepo 中的零构建 app,目前没有运行时依赖。
在仓库根目录执行:
npm run check
修改扩展文件后,在扩展管理页点击 重新加载 即可。