Stop drowning in "Unsorted Bookmarks". Let AI organize your web life.
Smart Bookmarks is a cross-browser extension that intercepts new bookmarks and uses Large Language Models (LLMs) to automatically categorize them into a recursive folder structure. It transforms a flat list of links into a well-organized knowledge base.
- 🤖 Multi-LLM Support: Choose your brain. Supports OpenAI (GPT-4o), Anthropic Claude, Google Gemini (Free Tier available), DeepSeek, and Ollama (Local Privacy).
- 📂 Recursive Categorization: It doesn't just guess a category; it builds a path.
- Input: A tutorial on React Hooks.
- Output: Creates
Development > Web > Reactfolders automatically.
- 🔒 Privacy-First Architecture: Your API keys are stored in
chrome.storage.sync(encrypted by the browser) and are never sent to any intermediate server. - 🧪 Debug Playground: Includes a "Dry Run" mode in settings to test your prompts without cluttering your actual bookmarks.
This project uses Manifest V3 service workers to handle events asynchronously.
You will need an API Key from one of the following providers:
- Google Gemini: Get a Free Key (Recommended for free usage).
- Anthropic Claude: Get API Key.
- OpenAI: Get API Key (Requires credit).
- DeepSeek: Get API Key.
- Ollama: Download Ollama (Free, runs locally).
- Download the latest release from the Releases Page.
smart-bookmarks-chrome.zipfor Chrome/Edge/Brave.smart-bookmarks-firefox.zipfor Firefox.
- Unzip the file to a permanent location.
- Load the extension:
- Chrome: Enable "Developer mode" in
chrome://extensions, click "Load unpacked", and select the unzipped folder. - Firefox: Go to
about:debugging, click "This Firefox", "Load Temporary Add-on...", and select themanifest.json.
- Chrome: Enable "Developer mode" in
- Clone this repository:
git clone https://github.com/Savitar608/smart-bookmarks.git
cd smart-bookmarks- Build the extension:
# Make scripts executable
chmod +x build-chrome.sh build-firefox.sh
# Build for your browser
./build-chrome.sh # Output: dist/chrome
./build-firefox.sh # Output: dist/firefox- Load the extension from the
dist/folder:- Chrome: Load
dist/chrome. - Firefox: Load
dist/firefox.
- Chrome: Load
- Click the Smart Bookmarks icon in your toolbar and select Options.
- Select Provider: Choose between OpenAI, Claude, Gemini, DeepSeek, or Ollama.
- Enter API Key: Paste your key.
- Note for Ollama Users: Ensure your local server is running (
ollama serve). The default URL ishttp://localhost:11434.
- (Optional) Test It: Use the "Debug Playground" at the bottom of the page to categorize a test URL and see the result.
- Click Save.
To change the default models (e.g. gpt-4o vs gpt-3.5), API endpoints, or the System Prompt used for classification, edit src/config.js. This allows you to customize the extension's behavior without diving into the core logic.
| Issue | Possible Cause | Solution |
|---|---|---|
| Nothing happens when I bookmark | Extension sleeping | The service worker might be idle. Reload the extension in settings. |
| "API Error" in Console | Invalid Key | Check if your API Key has quota/credit remaining. |
| Ollama connection failed | CORS / Server Down | Ensure Ollama is running and start it with OLLAMA_ORIGINS="*" environment variable. |
| Folders created in wrong place | Root ID Mismatch | The extension defaults to "Other Bookmarks". You can drag folders manually if needed. |
- Context Menu: Right-click a page to "Bookmark with Custom Note".
- History Organizer: Batch organize past bookmarks (Caution: destructive action).
- Local LLM Embedding: Use Chrome's experimental built-in Nano model (Zero API keys).
Contributions are welcome! Please open an issue to discuss major changes.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
