AI Parallel

AI Parallel 是一个 Chrome / Edge Manifest V3 扩展:在一个工作区中打开多个 AI 网页,一次输入,并行发送,并按需收集、比较和导出回答。

No API keys. No proxy server. AI Parallel reuses your existing provider web sessions locally in the browser.

功能

  • 多模型网页工作区:ChatGPT、DeepSeek、智谱清言、Qwen、Kimi、Claude、Gemini、Grok
  • 一次输入并行发送到多个 Provider
  • Compare Drawer:收集当前回答并安全显示为纯文本
  • 导出 Markdown、JSON,或下载 .md 文件
  • Agent Handoff:把问题和多模型回答交给目标模型继续处理
  • 本地 Prompt Library
  • 布局切换与 Provider 独立刷新/打开

默认启用 ChatGPT、DeepSeek、智谱清言、Qwen 和 Kimi。Claude、Gemini 与 Grok 可按需开启。

Provider 运行模式

Provider 运行方式 说明
ChatGPT 工作区 iframe 使用原站页面和当前登录会话
DeepSeek 工作区 iframe 使用原站页面和当前登录会话
智谱清言 工作区 iframe 使用原站页面和当前登录会话
Qwen 工作区 iframe 使用原站页面和当前登录会话
Kimi 工作区 iframe 使用原站页面和当前登录会话
Claude 工作区 iframe DOM Adapter 为 best effort
Gemini 工作区 iframe DOM Adapter 为 best effort
Grok 受控顶层标签页 避免登录 iframe 与 WebSocket timeout

Grok 官网依赖已登录的实时 WebSocket,认证页也禁止 iframe。AI Parallel 会打开或复用正常的 grok.com 标签页,然后通过受限消息桥完成 Prompt 发送、回答收集和 Handoff。

从 GitHub Release 安装

  1. 打开 Releases
  2. 下载 ai-parallel-browser-extension-vX.Y.Z.zip
  3. 解压 ZIP,保留解压目录,不要在安装后删除或移动它。
  4. Chrome 打开 chrome://extensions/Edge 打开 edge://extensions/
  5. 开启右上角“开发者模式”。
  6. 点击“加载已解压的扩展程序”。
  7. 选择解压得到的 ai-parallel-browser-extension 文件夹。
  8. 固定 AI Parallel 图标,点击即可打开工作区。

Chrome 不能直接把普通 ZIP 当成未打包扩展安装,必须先解压。

校验下载文件

每个 Release 都提供 SHA-256 文件:

sha256sum -c ai-parallel-browser-extension-vX.Y.Z.zip.sha256

首次使用

  1. 先在各 Provider 官网完成登录。
  2. 点击 AI Parallel 图标打开工作区。
  3. 在顶部选择 Provider。
  4. 在底部输入 Prompt,按 Ctrl+Enter / Cmd+Enter 或点击“发送”。
  5. 等待原站生成回答,点击 Compare 收集结果。

Grok 第一次参与发送时会打开或复用官网标签页。扩展升级后,如果旧 Grok 标签页没有新版桥接脚本,AI Parallel 会自动刷新该标签页一次。

更新

手动更新

下载新 Release,解压并覆盖原目录,然后在 chrome://extensions/ / edge://extensions/ 中点击 AI Parallel 的“重新加载”。如果替换了目录位置,需要删除旧扩展后重新“加载已解压的扩展程序”。

Linux:使用 ai-parallel-sync

从 Release 下载 ai-parallel-sync 后安装:

install -Dm755 ai-parallel-sync ~/.local/bin/ai-parallel-sync
ai-parallel-sync

首次运行会把扩展同步到:

~/.local/share/ai-parallel/browser-extension

第一次在浏览器中加载这个固定目录。以后只需运行 ai-parallel-sync,再到扩展管理页点击“重新加载”。命令默认同步最新 v* Release 标签,需要 gitnodenpmrsync

常见问题

accounts.x.ai refused to connect

不要在 iframe 中登录 Grok。当前版本会让 Grok 在正常顶层标签页中运行。请确认已更新扩展,并完全关闭后重新打开旧的 AI Parallel 工作区标签页。

Grok 显示 WebSocket timeout

确认普通 https://grok.com/ 标签页可以聊天。AI Parallel v2.1.4 起不再把 Grok 嵌入 iframe;如果仍看到旧 iframe,请在扩展管理页重新加载扩展并重新打开工作区。

ERR_BLOCKED_BY_CLIENT

这通常来自广告或隐私扩展。若被阻止的是 Provider 的核心接口,请暂时关闭对应站点的拦截后重试;单纯的统计/广告请求失败通常不影响聊天。

Provider 显示“未就绪”或发送失败

  • 重新加载对应面板。
  • 确认已经登录原站。
  • 在扩展管理页重新加载 AI Parallel,并重新打开工作区。
  • Provider 网页 DOM 会更新;选择器 Adapter 属于 best effort,需要随原站变化维护。

权限与隐私

AI Parallel 请求:

  • storage:保存 Provider 选择、草稿和 Prompt Library。
  • tabs:打开/聚焦工作区和 Grok 顶层标签页。
  • declarativeNetRequest*:仅对已配置 Provider 的 sub_frame 响应移除 iframe 限制头。
  • Provider host permissions:注入本地 Adapter,并与原站页面交互。

扩展不保存 Provider 密码,不请求 Cookie 权限,不把 Prompt 放进目标 URL,也不把回答发送到 AI Parallel 自有服务器。回答只在用户点击 Compare 后收集到当前扩展页面,并按纯文本渲染。

本地开发

要求 Node.js 18+

git clone https://github.com/CoderLambert/ai-parallel.git
cd ai-parallel
npm run check
npm test

需要真实 Provider 登录态时,使用独立的手动、受保护 authenticated smoke 流程;默认 Browser Smoke 仍不读取凭据。配置和保留边界见 Authenticated Provider Smoke

从源码加载时,在扩展管理页选择 apps/browser-extension

生成 Release 包:

npm run package:extension

产物位于 dist/

架构

AI Parallel Workspace
  ├─ iframe Providers ─ postMessage ─ Provider Adapter
  └─ Grok top-level tab ─ service worker ─ tabs.sendMessage ─ Grok Adapter

Provider Adapter 统一提供 sendPrompt()collectResponse()newChat()。详细设计见 docs/architecture.md。第三方架构参考和署名见 ATTRIBUTION.md

项目状态

AI Web UI 不是稳定 APIProvider DOM 或安全策略变化可能导致 Adapter 暂时失效。欢迎通过 GitHub Issues 提交复现步骤、页面截图和控制台错误。

S
Description
browser plugin
Readme
425 KiB
2026-09-14 18:36:23 +08:00
Languages
JavaScript 85.3%
CSS 8.9%
HTML 4.2%
Shell 1.6%