All your AI context in one place - A cross-platform AI memory layer
Singularity is a Chromium browser extension that aggregates user context across different AI chat platforms (Claude, ChatGPT, Gemini, Perplexity) and automatically injects relevant context into conversations.
When you mention preferences or information in one AI chat (e.g., "I prefer vegetarian food" in Claude), Singularity:
- Extracts and stores this context locally
- Automatically injects it into future conversations with other AI agents
- Makes every AI interaction more personalized and context-aware
Example:
- Chat with Claude: "I prefer vegetarian food"
- Later, ask ChatGPT: "Give me protein-rich recipes"
- ChatGPT receives context: "User prefers vegetarian food"
- Result: You get vegetarian protein-rich recipes without re-explaining
-
Browser Extension (Chromium Manifest v3)
- React-based popup UI
- Content scripts for each AI platform
- Background service worker
- IndexedDB for local storage
-
Python Backend (FastAPI + LlamaIndex)
- Context extraction using Claude Sonnet 4
- Semantic search with Voyage AI embeddings
- LlamaIndex workflows for intelligent processing
-
Privacy-First
- All data stored locally (IndexedDB)
- Backend runs on localhost
- No external data transmission
- Node.js 18+ and npm
- Python 3.9+
- Chromium-based browser (Chrome, Edge, Brave)
- Anthropic API key
- Voyage AI API key
cd backend
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Configure environment variables
cp .env.example .env
# Edit .env and add your API keys:
# ANTHROPIC_API_KEY=your_key_here
# VOYAGE_API_KEY=your_key_here
# Run the backend
python run.pyThe backend will start at http://localhost:8000
cd extension
# Install dependencies
npm install
# Build the extension
npm run build- Open Chrome/Edge and navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in top right)
- Click "Load unpacked"
- Select the
extension/distfolder - The Singularity extension should now be loaded
- Click the Singularity extension icon
- Check that "Backend Status" shows "Connected"
- Visit Claude.ai or ChatGPT
- Open browser console (F12) and look for "[Singularity]" logs
Backend (with auto-reload):
cd backend
python run.pyExtension (with hot-reload):
cd extension
npm run devAfter building, reload the extension in chrome://extensions/
singularity/
├── extension/ # Browser extension
│ ├── src/
│ │ ├── popup/ # React UI
│ │ ├── content/ # Platform content scripts
│ │ ├── background/ # Service worker
│ │ └── utils/ # Shared utilities
│ ├── manifest.json
│ └── package.json
│
├── backend/ # Python FastAPI backend
│ ├── app/
│ │ ├── agents/ # LlamaIndex workflows
│ │ ├── api/ # FastAPI routes
│ │ └── models/ # Data models
│ ├── main.py
│ └── requirements.txt
│
├── README.md
├── PRD.md # Product requirements
└── CLAUDE.md # Claude Code guidance
- ✅ Claude.ai (Anthropic)
- ✅ ChatGPT (OpenAI)
- ✅ Gemini (Google)
- 🚧 Perplexity (Coming soon)
- Enable the extension - Click the popup and ensure it's toggled on
- Browse normally - Chat with your favorite AI platforms
- Context is automatic - Singularity extracts and injects context seamlessly
- View your data - Click the extension icon to see stored facts
- Clear anytime - Use "Clear All Data" to reset
- Local-first: All data stored in your browser's IndexedDB
- No cloud sync: Data never leaves your machine
- API calls: Only to Anthropic and Voyage AI for processing
- Transparent: View all stored facts in the popup
- Control: Clear your data anytime
- Check that API keys are set in
.env - Verify Python virtual environment is activated
- Check port 8000 is not already in use
- Ensure backend is running (
python run.py) - Check http://localhost:8000/health in browser
- Verify CORS is properly configured
- Check browser console for errors
- Ensure extension is enabled
- Verify content script is loaded (look for "[Singularity]" logs)
- Platform selectors may have changed - see content script files
- Add Perplexity support
- Implement Neo4j graph database (currently using IndexedDB)
- Add context editing/management UI
- Export/import context data
- Privacy filters and controls
- Cross-device sync (optional, encrypted)
MIT
This is currently a personal project. Issues and PRs welcome!