VC067/MoveChat

21

stars

15

commits

TypeScript

primary language

Sep 2, 2026

updated

chromewebstore.google.com/detail/cgpfngggfccdpjppachknliainihkbdg?utm_source=item-share-cb

README

πŸš€ MoveChat

Seamlessly Transfer, Export, and Resume AI Conversations Across Platforms


MoveChat Demo


Version v1.1.0Β  Chrome Web StoreΒ  Firefox Add-onsΒ  License: MITΒ  Manifest V3Β  Open Source

Ever got stuck in a long Claude thread and wished you could instantly jump to ChatGPT, Gemini, or Perplexity without losing text, code blocks, images, or attached files?
MoveChat is a free, 100% open-source, privacy-first Chrome extension that lets you capture, transfer, and export your AI chats in 1-click.

Install MoveChat on Chrome


⭐ Give Us A Star!

If MoveChat helps you switch between AI platforms effortlessly, please consider giving this repository a ⭐ star! It helps other developers and AI users discover this open-source tool.


✨ Why MoveChat?

FeatureDescription
⚑ 1-Click Seamless TransferCapture chat threads on one AI platform and resume them instantly on another without losing context.
πŸ”’ 100% Local & SafeAll data stays strictly in your browser (chrome.storage.local). Zero tracking, zero telemetry, zero external servers.
πŸ–ΌοΈ Full Media & File SupportAutomatically extracts code blocks, inline images, generated artifacts, and attached documents during handoff.
πŸ“„ Multi-Format ExportExport any AI conversation to Markdown (.md), PDF, or raw JSON for offline notes & documentation.
🧠 Optional AI CompressionSummarize long, verbose chat histories using your own API key (OpenAI / Anthropic / Gemini) before transferring.
πŸ›‘οΈ Manifest V3 CompliantBuilt adhering strictly to Chrome Web Store MV3 security, privacy, and performance guidelines.

🌐 Supported Platforms

MoveChat offers full bidirectional capture and handoff across all major AI chat platforms:

PlatformCapture SessionResume ChatImages & MediaFile Attachments
ChatGPT (chatgpt.com)βœ…βœ…βœ…βœ…
Claude (claude.ai)βœ…βœ…βœ…βœ…
Gemini (gemini.google.com)βœ…βœ…βœ…βœ…
Perplexity (perplexity.ai)βœ…βœ…βœ…βœ…

πŸš€ How It Works

graph LR
    A[Active AI Chat<br/>Claude / ChatGPT / Gemini / Perplexity] -->|1-Click Capture| B(MoveChat Extension)
    B -->|Stored Locally| C[Browser Local Storage<br/>chrome.storage.local]
    C -->|1-Click Resume| D[Target AI Platform<br/>ChatGPT / Claude / Gemini / Perplexity]
    C -->|Export| E[Markdown .md / PDF / JSON]
  1. Capture: Click "Capture this session" in the MoveChat popup while viewing an active conversation. MoveChat safely reads the thread, extracting text, code blocks, images, and attachments.
  2. Store: Conversations are saved locally on your device in structured JSON format. You can search, review, or organize your session library anytime.
  3. Resume: Select any target AI platform and click "Resume in new chat". MoveChat automatically opens the target platform, populates the prompt, attaches your files/images, and lets you continue where you left off.

πŸ“¦ Installation

Get MoveChat directly from the official Chrome Web Store:

πŸ‘‰ Install MoveChat from Chrome Web Store


Option 2: Build & Load from Source (Developer Mode)

  1. Clone the repository:

    git clone https://github.com/VC067/MoveChat.git
    cd MoveChat
    
  2. Install dependencies:

    npm install
    
  3. Build the production extension:

    npm run build
    
  4. Load into Google Chrome:

    • Open chrome://extensions in your browser.
    • Enable Developer mode (toggle switch in top right corner).
    • Click Load unpacked and select the generated dist/ directory.

πŸ› οΈ Development & Scripts

# Start Vite development server
npm run dev

# Type-check and build production bundle (outputs to /dist)
npm run build

# Lint source files
npm run lint

πŸ—οΈ Project Architecture

MoveChat/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ popup/                  # Extension Popup UI (React + Tailwind CSS)
β”‚   β”‚   β”œβ”€β”€ components/         # Header, LibraryView, SessionDetailView, SettingsView, etc.
β”‚   β”‚   └── hooks/              # Custom Chrome Storage Hooks
β”‚   β”œβ”€β”€ content/                # Content Scripts (Runs on AI web apps)
β”‚   β”‚   β”œβ”€β”€ scrapers/           # ChatGPT, Claude, Gemini & Perplexity scrapers
β”‚   β”‚   β”œβ”€β”€ injectors/          # Prompt & file injectors for each target platform
β”‚   β”‚   β”œβ”€β”€ dom.ts              # DOM parsing & HTML-to-Markdown converter
β”‚   β”‚   β”œβ”€β”€ index.ts            # Content script entry point & message listener
β”‚   β”‚   └── storage.ts          # Content script storage helper
β”‚   β”œβ”€β”€ background/             # Service Worker (Tab navigation & CORS image proxy)
β”‚   β”‚   └── index.ts
β”‚   └── shared/                 # Core Utilities & Types
β”‚       β”œβ”€β”€ types.ts            # Data interfaces (Session, Message, AttachedFile)
β”‚       β”œβ”€β”€ storage.ts          # Chrome storage wrapper
β”‚       β”œβ”€β”€ markdown.ts         # Markdown exporter
β”‚       β”œβ”€β”€ pdf.ts              # PDF exporter (jsPDF)
β”‚       └── compress.ts         # Optional AI summary/compression engine
└── public/
    └── manifest.json           # Chrome Manifest V3 configuration

πŸ›‘οΈ Privacy, Safety & Permissions

MoveChat is engineered with a strict privacy-first principle:

  • πŸ”’ Zero Remote Analytics or Tracking: We do not collect, track, or transmit any user data.
  • πŸ’Ύ 100% On-Device Storage: All captured sessions, images, settings, and optional API keys remain inside chrome.storage.local.
  • πŸ” Scoped Host Permissions: Host permissions are strictly restricted to supported AI web domains (chatgpt.com, claude.ai, gemini.google.com, perplexity.ai) and necessary image CDNs (*.googleusercontent.com, *.oaiusercontent.com).
PermissionPurpose
activeTabRead conversation elements on the active tab when requested by the user
storageStore chat sessions, settings, and exports locally on your machine
tabsOpen a new tab when resuming conversations on another platform
scriptingInject content scripts for chat scraping and prompt injection

For complete details, view our Privacy Policy.


πŸ“„ License

Distributed under the MIT License. See LICENSE for details.


Enjoying MoveChat? Don't forget to ⭐ star the repository!

Report Bug Β· Request Feature

Contributors

VC067

15 commits

VC067/MoveChat

21

stars

15

commits

TypeScript

primary language

Sep 2, 2026

updated

chromewebstore.google.com/detail/cgpfngggfccdpjppachknliainihkbdg?utm_source=item-share-cb

README

πŸš€ MoveChat

Seamlessly Transfer, Export, and Resume AI Conversations Across Platforms


MoveChat Demo


Version v1.1.0Β  Chrome Web StoreΒ  Firefox Add-onsΒ  License: MITΒ  Manifest V3Β  Open Source

Ever got stuck in a long Claude thread and wished you could instantly jump to ChatGPT, Gemini, or Perplexity without losing text, code blocks, images, or attached files?
MoveChat is a free, 100% open-source, privacy-first Chrome extension that lets you capture, transfer, and export your AI chats in 1-click.

Install MoveChat on Chrome


⭐ Give Us A Star!

If MoveChat helps you switch between AI platforms effortlessly, please consider giving this repository a ⭐ star! It helps other developers and AI users discover this open-source tool.


✨ Why MoveChat?

FeatureDescription
⚑ 1-Click Seamless TransferCapture chat threads on one AI platform and resume them instantly on another without losing context.
πŸ”’ 100% Local & SafeAll data stays strictly in your browser (chrome.storage.local). Zero tracking, zero telemetry, zero external servers.
πŸ–ΌοΈ Full Media & File SupportAutomatically extracts code blocks, inline images, generated artifacts, and attached documents during handoff.
πŸ“„ Multi-Format ExportExport any AI conversation to Markdown (.md), PDF, or raw JSON for offline notes & documentation.
🧠 Optional AI CompressionSummarize long, verbose chat histories using your own API key (OpenAI / Anthropic / Gemini) before transferring.
πŸ›‘οΈ Manifest V3 CompliantBuilt adhering strictly to Chrome Web Store MV3 security, privacy, and performance guidelines.

🌐 Supported Platforms

MoveChat offers full bidirectional capture and handoff across all major AI chat platforms:

PlatformCapture SessionResume ChatImages & MediaFile Attachments
ChatGPT (chatgpt.com)βœ…βœ…βœ…βœ…
Claude (claude.ai)βœ…βœ…βœ…βœ…
Gemini (gemini.google.com)βœ…βœ…βœ…βœ…
Perplexity (perplexity.ai)βœ…βœ…βœ…βœ…

πŸš€ How It Works

graph LR
    A[Active AI Chat<br/>Claude / ChatGPT / Gemini / Perplexity] -->|1-Click Capture| B(MoveChat Extension)
    B -->|Stored Locally| C[Browser Local Storage<br/>chrome.storage.local]
    C -->|1-Click Resume| D[Target AI Platform<br/>ChatGPT / Claude / Gemini / Perplexity]
    C -->|Export| E[Markdown .md / PDF / JSON]
  1. Capture: Click "Capture this session" in the MoveChat popup while viewing an active conversation. MoveChat safely reads the thread, extracting text, code blocks, images, and attachments.
  2. Store: Conversations are saved locally on your device in structured JSON format. You can search, review, or organize your session library anytime.
  3. Resume: Select any target AI platform and click "Resume in new chat". MoveChat automatically opens the target platform, populates the prompt, attaches your files/images, and lets you continue where you left off.

πŸ“¦ Installation

Get MoveChat directly from the official Chrome Web Store:

πŸ‘‰ Install MoveChat from Chrome Web Store


Option 2: Build & Load from Source (Developer Mode)

  1. Clone the repository:

    git clone https://github.com/VC067/MoveChat.git
    cd MoveChat
    
  2. Install dependencies:

    npm install
    
  3. Build the production extension:

    npm run build
    
  4. Load into Google Chrome:

    • Open chrome://extensions in your browser.
    • Enable Developer mode (toggle switch in top right corner).
    • Click Load unpacked and select the generated dist/ directory.

πŸ› οΈ Development & Scripts

# Start Vite development server
npm run dev

# Type-check and build production bundle (outputs to /dist)
npm run build

# Lint source files
npm run lint

πŸ—οΈ Project Architecture

MoveChat/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ popup/                  # Extension Popup UI (React + Tailwind CSS)
β”‚   β”‚   β”œβ”€β”€ components/         # Header, LibraryView, SessionDetailView, SettingsView, etc.
β”‚   β”‚   └── hooks/              # Custom Chrome Storage Hooks
β”‚   β”œβ”€β”€ content/                # Content Scripts (Runs on AI web apps)
β”‚   β”‚   β”œβ”€β”€ scrapers/           # ChatGPT, Claude, Gemini & Perplexity scrapers
β”‚   β”‚   β”œβ”€β”€ injectors/          # Prompt & file injectors for each target platform
β”‚   β”‚   β”œβ”€β”€ dom.ts              # DOM parsing & HTML-to-Markdown converter
β”‚   β”‚   β”œβ”€β”€ index.ts            # Content script entry point & message listener
β”‚   β”‚   └── storage.ts          # Content script storage helper
β”‚   β”œβ”€β”€ background/             # Service Worker (Tab navigation & CORS image proxy)
β”‚   β”‚   └── index.ts
β”‚   └── shared/                 # Core Utilities & Types
β”‚       β”œβ”€β”€ types.ts            # Data interfaces (Session, Message, AttachedFile)
β”‚       β”œβ”€β”€ storage.ts          # Chrome storage wrapper
β”‚       β”œβ”€β”€ markdown.ts         # Markdown exporter
β”‚       β”œβ”€β”€ pdf.ts              # PDF exporter (jsPDF)
β”‚       └── compress.ts         # Optional AI summary/compression engine
└── public/
    └── manifest.json           # Chrome Manifest V3 configuration

πŸ›‘οΈ Privacy, Safety & Permissions

MoveChat is engineered with a strict privacy-first principle:

  • πŸ”’ Zero Remote Analytics or Tracking: We do not collect, track, or transmit any user data.
  • πŸ’Ύ 100% On-Device Storage: All captured sessions, images, settings, and optional API keys remain inside chrome.storage.local.
  • πŸ” Scoped Host Permissions: Host permissions are strictly restricted to supported AI web domains (chatgpt.com, claude.ai, gemini.google.com, perplexity.ai) and necessary image CDNs (*.googleusercontent.com, *.oaiusercontent.com).
PermissionPurpose
activeTabRead conversation elements on the active tab when requested by the user
storageStore chat sessions, settings, and exports locally on your machine
tabsOpen a new tab when resuming conversations on another platform
scriptingInject content scripts for chat scraping and prompt injection

For complete details, view our Privacy Policy.


πŸ“„ License

Distributed under the MIT License. See LICENSE for details.


Enjoying MoveChat? Don't forget to ⭐ star the repository!

Report Bug Β· Request Feature

Contributors

VC067

15 commits

Languages

TypeScript

93.0%

CSS

3.6%

JavaScript

3.2%