Bookmark Manager
Transform your browser bookmarks into interactive knowledge graphs 🕸️
A powerful Rust toolkit that turns your browser bookmarks and history into interactive visual knowledge graphs. Discover hidden patterns, explore relationships between domains, and visualize your browsing activity.
✨ Key Feature: Knowledge Graph Generation
Generate stunning interactive visualizations of your bookmark collection:
- 🎨 Interactive HTML graphs with D3.js force-directed layouts
- 🔍 Smart filtering: Domains, folders, tags, categories, and bookmarks
- 🎯 Multiple detail levels: Overview, Standard, or Detailed views
- 🧠 Automatic insights: Tag extraction, categorization, similarity detection
- 📊 Multiple formats: HTML (interactive), DOT (Graphviz), JSON, GEXF (Gephi)
- ⚡ Optimized for scale: Handle 15K+ bookmarks with adaptive detail levels
Quick Example
# Generate interactive knowledge graph (opens in browser)
# Standard view with optimized node count
# Domain-only overview (fastest)
Result: An interactive visualization showing:
- Bookmark nodes (clickable to open)
- Domain clusters (grouped by website)
- Folder hierarchy (your organization structure)
- Tag connections (auto-extracted keywords)
- Category grouping (Development, Shopping, News, etc.)
Features
Knowledge Graph Generation
- 🕸️ Interactive visualizations with D3.js (zoom, pan, drag nodes)
- 🎨 Multiple formats: HTML, DOT (Graphviz), JSON, GEXF (Gephi)
- 🧠 Smart analysis: Tag extraction, auto-categorization, similarity detection
- ⚡ Scalable: Optimized for large collections (15K+ bookmarks)
- 🔒 Privacy-first: Data processed in-memory, temp files only
Bookmark Management
- Multi-browser support: Chrome, Firefox, Safari, Edge
- Search and open bookmarks instantly
- Export to YAML for backup/migration
- Remove duplicates intelligently
- Auto-organize into folders by domain/category
Three Usage Modes
- CLI: Command-line tool for daily use
- Library API: Embed in your Rust projects
- MCP Server: AI assistant integration
Installation
CLI Tool (Default)
MCP Server
Library
Add to your Cargo.toml:
[]
= "0.1.2"
Quick Start
# Run the demo
# Or try specific examples
Usage Modes
1. CLI Mode (Default)
Command-line interface for interactive use:
# Export bookmarks
# Search bookmarks
# Generate interactive knowledge graph
# Optimized graph for large collections
2. Library API
Use as a Rust library in your projects:
use ;
See examples/library_usage.rs for a complete example.
3. MCP Server
Model Context Protocol server for AI assistants:
# Build and run MCP server
Available MCP Tools:
export_bookmarks- Export bookmarks from browserssearch_bookmarks- Search bookmarks by querylist_browsers- List available browsersprocess_bookmarks- Deduplicate and organizegenerate_graph- Generate knowledge graphs
Basic Usage
# Export bookmarks from all browsers
# Search bookmarks by keyword
# Open first matching bookmark
# Process (dedupe + organize)
# Generate interactive knowledge graph
Commands
export - Export bookmarks/history
list - List browsers
search - Search bookmarks
open - Open in browser
process - Dedupe and organize
graph - Generate knowledge graphs
# Basic usage
# Performance optimization
# Different formats
# Advanced options
config - Manage settings
Knowledge Graph Generation
🎯 Why Knowledge Graphs?
Transform your flat bookmark list into a visual exploration tool:
- See which domains you visit most
- Discover related content through tag connections
- Understand your bookmark organization structure
- Find clusters of related bookmarks
- Identify patterns in your browsing behavior
📊 Graph Features
Node Types:
- 📌 Bookmarks: Your saved links (clickable to open)
- 🌐 Domains: Websites grouped together
- 📁 Folders: Your organization structure
- 🏷️ Tags: Auto-extracted keywords
- 📂 Categories: Auto-classified groups
Edge Types:
- Bookmark → Domain (belongs to)
- Bookmark → Folder (in folder)
- Domain ↔ Domain (same domain connections)
- Bookmark → Tag (has tag)
- Bookmark → Category (in category)
- Bookmark ↔ Bookmark (similar content)
Analysis Features:
- Tag extraction: Auto-detects keywords from titles/URLs
- Auto-categorization: Classifies into Development, Shopping, News, etc.
- Similarity detection: Finds related bookmarks using Jaccard similarity
- Domain clustering: Groups by website
🎨 Output Formats
| Format | Use Case | Tools |
|---|---|---|
| HTML | Interactive visualization (default) | Browser |
| DOT | Static diagrams, printing | Graphviz |
| JSON | Web applications, custom viz | D3.js, Cytoscape.js |
| GEXF | Advanced network analysis | Gephi |
⚡ Performance Optimization
For large bookmark collections (10K+ items), use these options:
# Standard detail (balanced)
# Overview (fastest)
# Recent bookmarks only
# Limit total nodes
# Adjust minimum threshold
| Setting | Effect | Use Case |
|---|---|---|
--detail overview |
Domains + folders only | Quick overview |
--detail standard |
Top N per domain (default: 10) | Balanced view |
--detail detailed |
All bookmarks | Complete picture |
--max-per-domain N |
Limit bookmarks per domain | Reduce clutter |
--max-total N |
Limit total nodes | Performance |
--domain-only |
Skip bookmark nodes | Domain analysis |
--since DATE |
Only recent bookmarks | Current activity |
--min-threshold N |
Min bookmarks per domain | Filter noise |
🔒 Privacy & Security
Your data stays private:
- ✅ All processing happens in-memory
- ✅ Graph data stored in system temp folder
- ✅ No personal data in your project directory
- ✅ Temp files auto-cleaned by OS
# Files created in temp (not in your project)
🎮 Interactive HTML Features
The HTML visualization includes:
- Force-directed layout with physics simulation
- Zoom & pan for navigation
- Drag nodes to rearrange
- Dark/light theme toggle
- Node type filters (show/hide types)
- Adjustable physics (charge, distance)
- Hover tooltips with details
- Click-to-open bookmarks
📝 Examples
# Quick interactive graph (recommended)
# Generate DOT for Graphviz (customizable)
# Generate GEXF for Gephi analysis
# JSON for custom visualization
Safari Export
On macOS, Safari bookmarks are protected. Export manually:
- Copy
~/Library/Safari/Bookmarks.plistto Desktop - Run:
cargo run -- export --browser safari --profile-dir ~/Desktop/Bookmarks.plist
Options
| Option | Values |
|---|---|
--browser |
chrome, firefox, safari, edge, all |
--data-type |
bookmarks, history, both |
--format |
html, dot, json, gexf (graph) |
--mode |
dedupe, organize, both |
--strategy |
first, last, recent, merge |
--org-strategy |
domain, category, custom |
Development
# Build all modes
# Build specific modes
# Test all modes
# Run tests individually
# Debug logging
RUST_LOG=debug
Build Features
- default: CLI mode with
clap,dialoguer,open - cli: Command-line interface dependencies
- mcp: MCP server support
Examples
See examples/ directory for demo scripts:
- demo.sh - Full feature demo (interactive)
- examples/quick-start.sh - Export, search, graph generation
- examples/knowledge-graph.sh - Graph generation with multiple formats
- examples/processing.sh - Deduplication and organization
- examples/search-open.sh - Search patterns and opening
Knowledge Graph Example
#!/bin/bash
# Generate optimized knowledge graph
# 1. Export bookmarks from all browsers
# 2. Generate interactive HTML (opens in browser)
# 3. Files are created in temp directory (not in your project!)
# HTML opens automatically in your default browser
# 4. For analysis, generate GEXF for Gephi
See examples/README.md for detailed documentation.
Changelog
See CHANGELOG.md for version history and release notes.
License
Apache-2.0