Mapify is a Chrome extension designed to enhance your experience with Large Language Model (LLM) chat interfaces. It adds a visual sidebar to your chat window, generating a dynamic mind map or tree view of your conversation structure, making it easier to navigate and understand long discussions.
- Visual Outline: Automatically generates a Mind Map or Linear Tree view of your chat history.
- Multi-Platform Support: Seamlessly integrates with popular LLM platforms:
- ChatGPT
- Claude
- Gemini
- DeepSeek
- Doubao
- Kimi
- Tongyi / Qwen
- Export Capabilities: Export your conversation structure as Markdown, JSON, or Image (PNG).
- Privacy & Security: Uses a local backend proxy to securely manage API keys, keeping your credentials safe.
- Frontend: React (Preact), Vite, TypeScript, Tailwind CSS
- Visualization: React Flow, Dagre
- Backend: Node.js (Proxy Server)
- Node.js (v16 or higher recommended)
- npm, yarn, or pnpm
- Google Chrome (or Chromium-based browser)
git clone https://github.com/your-username/Mapify.git
cd Mapifynpm install
# or
yarn install
# or
pnpm installThe backend proxy is required to handle API requests securely.
-
Set up your environment variables. You can export them directly in your terminal or create a
.envfile (if supported by your setup, or manually modify the script).Linux/macOS:
export OPENAI_API_KEY="your-api-key" # Optional: export OPENAI_BASE_URL="https://api.openai.com" # or your custom endpoint export PORT=8787
Windows (PowerShell):
$env:OPENAI_API_KEY="your-api-key"
-
Run the proxy server:
node server/proxy.mjs
The server will start at
http://localhost:8787by default.
-
Start the development build process:
npm run dev
This command will compile the code and watch for changes. It generates a
distfolder in the project root.
- Open Chrome and navigate to
chrome://extensions/. - Enable Developer mode in the top right corner.
- Click Load unpacked.
- Select the
distdirectory created in the previous step.
- Ensure the backend proxy is running (
node server/proxy.mjs). - Open a supported LLM website (e.g., chatgpt.com).
- The Mapify sidebar should appear on the right side of the screen.
- As you chat, the sidebar will update with a visual representation of your conversation.
If you need to change the backend proxy URL (e.g., if you deploy the proxy to a remote server), update the DEFAULT_PROXY_BASE_URL in src/services/LLMService.ts:
const DEFAULT_PROXY_BASE_URL = 'http://localhost:8787' // Update this URLThen rebuild the extension (npm run build or npm run dev).