Holo is a full-featured cross-platform private Retrieval-Augmented Generation (RAG) system that provides intelligent knowledge management, document processing, and AI Agent conversation capabilities.
- Web Application: Modern web interface built with Next.js
- Desktop Application: Native desktop experience powered by Tauri
- Mobile Friendly: Responsive design supporting mobile device access
- Consistent Experience: Unified user interface and functionality across platforms
- Multi-modal Information Extraction: Support for documents, images, audio, and video information extraction
- Smart Chunking: Automatically split documents into optimal knowledge blocks
- Vector Retrieval: Efficient semantic search and similarity matching
- Knowledge Graph: Build structured knowledge relationship networks
- Support for multiple document formats: PDF, Word, PowerPoint, CSV, HTML, Markdown
- Automatic content recognition and structured processing
- Intelligent Q&A generation and preview functionality
- Document chunking and vectorized storage
- Retrieval-augmented intelligent conversations
- Support for multiple AI model integrations
- Real-time Markdown rendering
- Code highlighting and syntax support
- Integrated Novel editor with rich text editing support
- AI-assisted writing and content generation
- Mathematical formulas and chart support
- Real-time collaboration and version control
- Planner Agent: Task planning and decomposition
- Coder Agent: Code generation and analysis
- Reporter Agent: Report generation and BI analysis
- Researcher Agent: Research and information gathering
- Framework: Next.js 14 + TypeScript
- UI Components: Tailwind CSS + shadcn/ui
- Editor: TipTap + Novel
- State Management: Zustand
- Form Handling: React Hook Form + Zod
- Framework: FastAPI + Python
- AI Integration: LlamaIndex + Ollama
- Vector Database: ChromaDB
- File Storage: Local storage + multi-format support
- Memory Management: File system caching
- Cross-Platform: Tauri + Rust
- Local Deployment: Completely offline operation
- System Integration: Native desktop experience
- Node.js 18+
- Python 3.12+
- Rust (for Tauri)
# Frontend dependencies
npm install
# Backend dependencies
cd backend
pip install -r requirements.txt
# Start frontend development server
npm run dev
# Start backend service
cd backend
uvicorn main:app --reload
# Start Tauri desktop application
npm run tauri dev
# Build frontend
npm run build
# Build desktop application
npm run tauri build
holo/
├── src/ # Frontend source code
│ ├── app/ # Next.js page routing
│ ├── components/ # Common components
│ ├── features/ # Feature modules
│ │ ├── extraction/ # Information extraction
│ │ ├── knowledge/ # Knowledge management
│ │ ├── editor/ # Editor
│ │ └── chunk/ # Chunking processing
│ └── services/ # API services
├── backend/ # Backend source code
│ ├── agent/ # Agent system
│ ├── prompt/ # Prompt templates
│ └── services/ # Business services
├── src-tauri/ # Tauri desktop application
└── public/ # Static assets
- Create and manage multiple knowledge bases
- Document upload and automatic processing
- Intelligent chunking and vectorization
- Retrieval testing and optimization
- Document information extraction:
DocInformationExtraction
- Image information extraction:
PictureInformationExtraction
- Multi-media processing:
MultiModalInformationExtraction
- Intelligent Q&A system
- Contextual understanding
- Multi-turn conversation support
- Markdown rendering:
MarkdownText
- Syntax highlighting
- Code completion
- Real-time preview
- Multi-language support
- 🖥️ Desktop: Windows 10+, macOS 10.15+, Linux (Ubuntu 18.04+)
- 🌐 Web: Modern browsers (Chrome 88+, Firefox 85+, Safari 14+)
- 📱 Mobile: iOS and Android support via PWA