A powerful Chrome extension that enables intelligent semantic memory storage and retrieval using AI technology. The extension analyzes web page form fields and provides contextually relevant memory suggestions to enhance your browsing and form-filling experience.
- ๐ง Semantic Memory Storage: Store and organize textual memories with vector embeddings for intelligent retrieval
- ๐ Smart Form Analysis: Automatically analyze form fields on web pages and suggest relevant stored memories
- ๐ฏ Contextual Suggestions: Get AI-powered suggestions based on form field context and your stored memories
- ๐ Similarity Scoring: Advanced cosine similarity matching to find the most relevant memories
- ๐ง Chrome Built-in AI: Leverage Chrome's experimental on-device AI capabilities
- ๐ OpenRouter Support: Integrate with OpenRouter for access to various LLM models
- ๐ฑ Smart Fallback: Automatic fallback from Chrome AI to OpenRouter when needed
- โก Real-time Processing: Fast vector similarity computation with WebGPU acceleration
- ๐จ Modern Interface: Clean, intuitive popup and dashboard interfaces
- ๐ Theme Support: Light, dark, and auto theme modes
- ๐ Easy Management: Comprehensive dashboard for memory management and settings
- ๐ฌ AI Chat: Interactive AI assistant for natural language memory operations
- ๐ Local Processing: Optional local-only mode with Chrome's on-device AI
- โก WebGPU Acceleration: Hardware-accelerated vector operations for fast similarity search
- ๐๏ธ Efficient Storage: IndexedDB-based storage with namespace organization
- ๐ Import/Export: Easy data portability with JSON import/export
-
Clone this repository:
git clone https://github.com/Tensorcraft/Memora.git cd Memora -
Enable Developer Mode in Chrome:
- Open
chrome://extensions/ - Toggle "Developer mode" in the top right
- Open
-
Load the extension:
- Click "Load unpacked"
- Select the project directory
For the best privacy and performance, enable Chrome's experimental AI features:
- Update Chrome: Ensure you have Chrome 127 or newer
- Enable AI Features:
- Open
chrome://flags/ - Search for "Optimization Guide On Device Model"
- Set to "Enabled BypassPerfRequirement"
- Restart Chrome
- Open
- Download Model: The extension will guide you through downloading the AI model on first use
For broader model access or if Chrome AI is unavailable:
- Get API Key: Sign up at OpenRouter and get your API key
- Configure Extension:
- Right-click the extension icon โ Options
- Go to Settings tab
- Enter your OpenRouter API key
- Select your preferred model
- Visit a webpage with form fields
- Click the extension icon to analyze the page
- Review suggestions for relevant stored memories
- Copy or use the suggested content
- Open Dashboard: Right-click extension icon โ Options
- Add Memories: Click "New Memory" or import from files
- Organize: Use namespaces to categorize your memories
- Search: Use text or semantic search to find specific memories
- Open the dashboard and expand the AI chat panel
- Natural commands like:
- "Add a memory about my work address"
- "Find memories related to customer support"
- "Delete memories about old projects"
- Chrome Built-in AI: Local, private, fast
- OpenRouter: Cloud-based, multiple models available
- Local Privacy Mode: Forces all processing to use local AI only
- Per-feature Providers: Configure different AI providers for different features
- Top-K Results: Number of similar memories to retrieve (default: 10)
- Similarity Threshold: Minimum similarity score for relevance (default: 0.1)
- WebGPU Acceleration: Hardware acceleration for vector operations
- JSON Format: Standard export format for backup and sharing
- Text Files: Import documents as chunked memories
- Images: Basic image reference support (OCR coming soon)
src/
โโโ core/ # Core constants and utilities
โโโ ai/ # AI provider implementations
โ โโโ chrome-ai-manager.js # Chrome AI status management
โ โโโ chrome-builtin-provider.js # Chrome AI integration
โ โโโ openrouter-provider.js # OpenRouter API integration
โ โโโ providers.js # Provider management
โโโ storage/ # Data persistence layer
โโโ content/ # Content script for page analysis
โโโ popup/ # Extension popup interface
โโโ options/ # Settings and dashboard
โโโ ui/ # Reusable UI components
โโโ utils/ # Shared utilities
- Vector Embeddings: Text-to-vector conversion for semantic search
- WebGPU: Hardware acceleration for vector operations
- IndexedDB: Client-side storage for memories and metadata
- Chrome Extensions API: Integration with browser functionality
- ES6 Modules: Modern JavaScript module system
- Content Analysis: Content script extracts form field information
- Vector Generation: AI provider converts text to embeddings
- Similarity Search: Vector comparison to find relevant memories
- Result Presentation: Ranked results displayed in popup
- Chrome 127+ (for built-in AI features)
- Node.js 16+ (for development tools)
- Git
# Clone and setup
git clone https://github.com/Tensorcraft/Memora
cd Memora
# Install development dependencies (if any)
npm install
# Load extension in Chrome
# 1. Open chrome://extensions/
# 2. Enable Developer mode
# 3. Click "Load unpacked" and select this directoryโโโ manifest.json # Extension manifest
โโโ background.js # Service worker
โโโ content.js # Content script entry
โโโ popup.html # Popup interface
โโโ options.html # Options/dashboard page
โโโ src/ # Source code modules
โโโ docs/ # Documentation
โโโ README.md # This file
- Manual Testing: Load the extension and test on various websites
- Chrome DevTools: Use console for debugging
- Extension DevTools: Monitor background script and content scripts
import { getChromeAIManager } from './src/ai/chrome-ai-manager.js';
const manager = getChromeAIManager();
await manager.init();
const status = manager.status; // 'ready', 'downloading', etc.// Add memory
const response = await chrome.runtime.sendMessage({
action: 'ADD_MEMORY',
text: 'My important information',
namespace: 'work',
metadata: { type: 'contact' }
});
// Retrieve memories
const response = await chrome.runtime.sendMessage({
action: 'RETRIEVE_MEMORIES',
query: 'contact information',
topK: 5
});We welcome contributions! Please see our Contributing Guide for details.
- Follow the existing code style and architecture patterns
- Write clear commit messages describing your changes
- Test thoroughly on multiple websites and scenarios
- Update documentation for any API or feature changes
Please use the GitHub Issues to report bugs with:
- Steps to reproduce
- Expected vs actual behavior
- Chrome version and extension version
- Console error messages (if any)
We're open to new ideas! Please open an issue to discuss feature requests before implementing.
This project is licensed under the MIT License - see the LICENSE file for details.
- OCR Support: Extract text from images for memory storage
- Multi-language Support: Internationalization for global users
- Advanced Filtering: More sophisticated memory organization
- Cloud Sync: Optional cloud storage for memory synchronization
- Browser Import: Import bookmarks and browsing history as memories
- API Integration: Connect with popular note-taking and CRM tools
- Incremental Indexing: Faster memory updates and additions
- Compression: Optimize storage space usage
- Caching: Improve response times for frequent queries
- Documentation: GitHub Wiki
- Issues: GitHub Issues
- Chrome Team: For the experimental AI APIs
- OpenRouter: For providing access to various LLM models
- WebGPU Community: For hardware acceleration capabilities
- Open Source Community: For inspiration and foundations
Built with โค๏ธ by Tensorcraft
Enhance your browsing experience with intelligent semantic memory!
