Skip to content

reza899/vault-mind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

VaultMind

🧠 Vault Mind

Transform your Obsidian vault into an AI-powered knowledge assistant

GitHub Docker FastAPI React ChromaDB

Vault Mind indexes your Obsidian notes into ChromaDB, enabling semantic search and AI interactions through Claude Code. Perfect for researchers, students, and knowledge workers who want to unlock the full potential of their note collections.

πŸš€ Quick Start

Prerequisites

  • Docker & Docker Compose
  • Node.js 22+ (for development)
  • Python 3.12+ (for development)

Run with Docker (Recommended)

git clone https://github.com/reza899/vault-mind.git
cd vault-mind
make quick-start  # Installs deps and starts development environment

Visit http://localhost:5173 to configure your first vault.

Available Commands

make help           # Show all available commands
make dev            # Start development environment
make test           # Run all tests  
make lint           # Check code quality
make claude-status  # Check Claude Code integration status
make clean          # Clean up containers and data

Claude Code Integration

The development environment automatically installs a powerful /vault slash command for Claude Code:

# Automatically installed with make install or make quick-start
/vault collection_name your query here

# Examples:
/vault my_notes "create a quiz on machine learning" 
/vault research_vault "summarize productivity frameworks"
/vault study_collection "analyze connections between AI and ethics"

Management Commands:

make claude-status     # Check installation status
make claude-update     # Update to latest command version  
make claude-test       # Test command functionality
make claude-uninstall  # Remove commands (with backup)

Local Development

# Install dependencies and start development servers
make install
make dev

# Or start locally without Docker
make dev-local

✨ Features

πŸš€ Enhanced Vault Management

  • πŸ“‹ Multi-vault Dashboard: Manage multiple Obsidian vaults simultaneously
  • πŸ“Š Real-time Progress: WebSocket-based indexing with live updates
  • ⚑ One-click Re-indexing: Easy vault refresh with confirmation dialogs
  • πŸ’Ύ Smart Size Calculation: Accurate vault size tracking and display
  • πŸ” Vault Status Monitoring: Health indicators, document counts, indexing status

🎯 Advanced Search & Discovery

  • πŸ” Semantic Search: Find notes by meaning, not just keywords
  • πŸ”§ Search Filters: Filter by file type, date range, folders, and tags
  • πŸ“š Search History: Automatic search history with export capabilities
  • πŸ’‘ Smart Suggestions: Intelligent query suggestions and auto-complete
  • πŸ“„ Pagination: Efficient result pagination for large datasets
  • πŸ“€ Result Actions: Copy, export, and share search results

βš™οΈ Configuration & Management

  • πŸŽ›οΈ Visual Settings Panel: GUI-based configuration management
  • πŸ”§ Advanced Settings: Chunk size, embedding models, performance tuning
  • ⏰ Schedule Configuration: Visual schedule builder for automatic re-indexing
  • πŸ“ Path Picker: Directory browser for vault path selection
  • πŸ‘οΈ Config Preview: Real-time preview of configuration changes

🎨 Modern User Experience

  • πŸŒ“ Dark/Light Theme: Automatic theme detection and manual toggle
  • πŸ“± Responsive Design: Mobile-friendly responsive layouts
  • ⚑ Loading States: Sophisticated loading spinners and skeleton screens
  • πŸ›‘οΈ Error Boundaries: Graceful error handling with user-friendly messages
  • πŸ”— Connection Status: Real-time WebSocket connection monitoring

πŸ€– Claude Code Integration

  • πŸ’¬ Direct Access: Query your notes directly in Claude Code
  • πŸ—‚οΈ Collection Management: Access indexed vaults via ChromaDB MCP
  • ⚑ Instant Results: Sub-second semantic search responses

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   React 19 SPA      β”‚    β”‚   FastAPI + WS      β”‚    β”‚   ChromaDB          β”‚
β”‚   TypeScript        │◄────   Python 3.12       │◄────   Vector Storage    β”‚
β”‚   Zustand + TanStackβ”‚    β”‚   Async/Await       β”‚    β”‚   Local Embeddings  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                           β”‚                           β”‚
    β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”                 β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”                 β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”
    β”‚ Modern  β”‚                 β”‚ Enhancedβ”‚                 β”‚ Sentenceβ”‚
    β”‚ Hooks & β”‚                 β”‚ Parser &β”‚                 β”‚ Transformers
    β”‚ Context β”‚                 β”‚ Chunker β”‚                 β”‚ + OpenAIβ”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                           β”‚                           β”‚
    WebSocket +                 REST API +               Semantic Search +
    Real-time UI               File Processing           Vector Similarity

Integration Points

  • Claude Code MCP: Direct ChromaDB access via /vault commands
  • Docker Development: Complete containerized development environment
  • Real-time Updates: WebSocket connection for live indexing progress
  • Multi-Vault Support: Concurrent management of multiple knowledge bases

πŸ”§ Configuration

Environment Variables

# Backend
CHROMA_PERSIST_DIR=./chroma_db
EMBEDDING_MODEL=all-MiniLM-L6-v2
OPENAI_API_KEY=sk-...  # Optional for OpenAI embeddings

# Frontend  
VITE_API_URL=http://localhost:8000
VITE_WS_URL=ws://localhost:8000

Default Settings

  • Chunk Size: 1000 tokens with 200 token overlap
  • Supported Files: .md, .txt
  • Ignored Folders: .obsidian, .trash, templates
  • Embedding Model: Local Sentence Transformers (no API required)

πŸ’‘ Use Cases

With Claude Code MCP Integration

Access your indexed vault through ChromaDB MCP tools:

# List your indexed collections
chroma_list_collections

# Query your vault semantically
chroma_query_documents --collection_name vault_your_name --query_texts ["explain quantum computing"]

# Get specific documents
chroma_get_documents --collection_name vault_your_name --limit 10

Via Web Interface

  • Configure vault paths and indexing schedules
  • Monitor indexing progress in real-time
  • Search through your knowledge base semantically
  • View collection statistics and metadata

πŸ› οΈ Development

Current Tech Stack

Backend (Python 3.12+)

  • FastAPI 0.116.1: Async web framework with auto-documentation
  • ChromaDB 1.0.17: Vector database for semantic search
  • Sentence Transformers 5.1.0: Local embedding generation
  • Pydantic 2.11.7: Modern data validation and serialization
  • pytest 8.4.1: Testing framework with 58% coverage
  • WebSocket Support: Real-time progress updates and live communication

Frontend (Node 22 LTS)

  • React 19.1.1: Latest React with modern concurrent features
  • TypeScript 5.8.3: Strict type checking and modern JS features
  • Vite 7.1.2: Fast build tool with optimized development server
  • TailwindCSS 3.4.17: Utility-first styling with dark mode support
  • Zustand 5.0.7: Lightweight state management
  • TanStack Query 5.85.3: Server state management and caching
  • Real-time WebSocket: Live indexing progress and status updates

Infrastructure & DevOps

  • Docker 27.0+: Development environment containerization
  • Make: 40+ development commands for complete workflow automation
  • Vitest 3.2.4: Fast unit testing (current 8% coverage, improving)
  • ESLint + Prettier: Code quality and formatting
  • GitHub Integration: Ready for CI/CD pipeline setup

Commands

# Development
make dev           # Start development environment
make dev-local     # Start without Docker
make install       # Install all dependencies

# Testing & Quality
make test          # Run all tests with coverage
make test-watch    # Run tests in watch mode
make lint          # Check code quality
make format        # Auto-format code
make ci            # Run CI checks locally

# Production & Deployment
make build         # Build Docker images
make prod          # Start production environment
make clean         # Clean up containers and volumes

# Utilities
make logs          # View service logs
make health        # Check service health
make help          # Show all available commands

πŸ“ Project Structure

vault-mind/
β”œβ”€β”€ frontend/                    # React 19 TypeScript SPA
β”‚   β”œβ”€β”€ src/components/         # Feature-organized React components
β”‚   β”œβ”€β”€ src/hooks/              # Custom React hooks library
β”‚   β”œβ”€β”€ src/stores/             # Zustand state management
β”‚   β”œβ”€β”€ src/services/           # API client and utilities
β”‚   └── package.json           # Frontend dependencies (Node 22)
β”œβ”€β”€ backend/                    # FastAPI Python 3.12 service
β”‚   β”œβ”€β”€ api/routes/            # REST API endpoints
β”‚   β”œβ”€β”€ database/              # ChromaDB integration layer
β”‚   β”œβ”€β”€ indexer/               # Markdown parsing & text chunking
β”‚   β”œβ”€β”€ services/              # Business logic layer
β”‚   β”œβ”€β”€ app.py                # FastAPI application entry point
β”‚   └── requirements.txt       # Python dependencies
β”œβ”€β”€ docs/                      # Comprehensive documentation
β”‚   β”œβ”€β”€ BROWNFIELD_ARCHITECTURE.md # Current system architecture
β”‚   └── SYSTEM.md              # Technical system reference
β”œβ”€β”€ docker-compose.yml         # Development environment setup
β”œβ”€β”€ Makefile                   # 40+ development commands
β”œβ”€β”€ CHANGELOG.md              # Version history and roadmap
└── README.md                 # You are here

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Write tests for your changes
  4. Ensure all tests pass (make test)
  5. Check code quality (make lint)
  6. Commit your changes (git commit -m 'feat: add amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

πŸ“œ License

This project is licensed under the MIT License.

πŸ™ Acknowledgments


Ready to unlock your knowledge? Get started in 5 minutes or join our community πŸš€

About

VaultMind turns your Obsidian vault into a searchable vector database using ChromaDB, with MCP integration for Claude Code slash commands

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors