开源 Chrome 扩展 MoveChat 实现 AI 对话跨平台一键迁移
MoveChat 是一款开源 Chrome 扩展,可在 Claude、ChatGPT、Gemini、Perplexity…
随着 Claude、ChatGPT、Gemini、Perplexity 等大模型对话产品并行使用越来越常见,许多人遇到过这样的对话——在一个平台上积累了大量上下文,却因为效果、成本或功能差异需要切换到另一个平台。MoveChat 是一款在 Hacker News 上以 Show HN 形式发布的开源 Chrome 扩展,试图用「一键操作」解决跨平台迁移 AI 对话的问题。
核心功能与定位
MoveChat 的核心目标是在不同 AI 聊天平台之间无缝搬运会话,且尽量保留原始内容形态。其主打能力包括:
- 一键捕获当前 AI 对话,包括文本、代码块、内联图片、生成产物与附件。
- 一键恢复到目标平台,自动填充提示词并附带文件/图片。
- 多格式导出,支持 Markdown(.md)、PDF 与原始 JSON,便于离线归档与笔记整理。
- 可选的 AI 压缩功能:使用用户自备的 OpenAI / Anthropic / Gemini API 密钥,对冗长会话进行摘要后再传输。
整个扩展在 Chrome Web Store 上以 Manifest V3 标准发布,遵守 Chrome 最新的安全与隐私规范。
支持的平台与兼容性
MoveChat 在四个主流 AI 对话平台上提供双向捕获与恢复支持,覆盖目前最常用的几款 Web 端 AI 产品:
- ChatGPT(chatgpt.com)
- Claude(claude.ai)
- Gemini(gemini.google.com)
- Perplexity(perplexity.ai)
对于每个平台,扩展都同时支持会话捕获、恢复对话、图片与媒体处理以及文件附件转移。
工作流程
MoveChat 的运行流程可以概括为三个步骤:
- 捕获:在当前对话页面打开扩展弹窗,点击「Capture this session」,扩展读取当前线程并提取文本、代码块、图片与附件。
- 存储:会话以结构化 JSON 格式保存在本地 chrome.storage.local 中,用户可随时检索、整理或回顾历史会话。
- 恢复或导出:选择目标 AI 平台并执行「Resume in new chat」,扩展会打开目标站点、自动写入提示词并附带文件图片;也可直接将当前会话导出为 Markdown、PDF 或 JSON。
这一流程完全在本地完成,不需要额外的服务器中转。
隐私与权限设计
MoveChat 在设计上强调「隐私优先」,主要措施包括:
- 零远程分析或追踪,不收集、不上传任何用户数据。
- 全部会话、图片、设置与可选的 API 密钥都存储在 chrome.storage.local 中。
- 主机权限严格限定在支持列表中的 AI 域名(chatgpt.com、claude.ai、gemini.google.com、perplexity.ai)以及必要的图片 CDN(.googleusercontent.com、.oaiusercontent.com)。
扩展申请的主要权限包括 activeTab、storage、tabs、scripting,分别用于读取当前页面会话、本地存储、跳转目标 Tab 以及注入抓取脚本,开发者还公开了完整的 Privacy Policy 供查阅。
安装方式与项目结构
MoveChat 提供两种安装途径:
- 直接从 Chrome Web Store 安装(推荐方式)。
- 从 GitHub 仓库克隆源码,自行 npm install、npm run build 后以「加载已解压扩展」方式安装,适合开发者或需要自行审计代码的用户。
项目采用 React + Tailwind CSS 编写弹窗 UI,使用 Vite 构建,内容脚本针对每个平台分别实现 scraper 与 injector,background service worker 负责标签页导航与跨域图片代理。代码以 MIT 协议开源,仓库地址为 VC067/MoveChat。
适用场景与局限
对于经常在多个 AI 平台之间切换、需要在不同模型间延续同一段上下文,或希望把对话作为长期知识库沉淀下来的用户来说,MoveChat 提供了一种较为轻量的本地化方案。它的优势在于本地存储、开源可审计、支持文件附件和图片搬运;局限则在于依赖 Web 端的 DOM 结构,一旦对应网站改版,scraper 需要同步更新,且仅覆盖官方 Web 端,不直接支持桌面客户端或 API 调用。
