Teddy is a privacy-first, offline-capable desktop assistant built with a hybrid architecture. It combines the performance of a Go (Wails) desktop shell with the rich AI ecosystem of Python (FastAPI) to deliver powerful Retrieval-Augmented Generation (RAG) and multimodal analysis, entirely on your local machine.
-
🔒 Privacy-First & Offline
Runs fully on your local machine using Ollama. No data leaves your device. -
🧠 Advanced RAG System
Context-aware answers from your local documents (PDF, TXT, MD, DOCX).- Intelligent Routing: Automatically decides whether a query requires document context or general reasoning.
- Hybrid Search: Semantic embedding-based retrieval for high-precision results.
-
👁️ Multimodal Vision
Drag-and-drop images for real-time analysis using Qwen 2.5-VL. -
🎙️ Voice Interaction
Integrated Speech-to-Text for hands-free interaction. -
⚡ Hybrid Architecture
- Frontend: React + Vite, wrapped in Go using Wails for a native desktop UI.
- Backend: FastAPI (Python) for AI orchestration and heavy processing.
- Wails: Go-based framework for building native desktop applications
- React: UI layer
- TailwindCSS: Styling
- Python + FastAPI: REST API for AI workflows
- Ollama: Local LLM runtime
- LangChain: RAG orchestration
- ChromaDB: Vector store for document embeddings
- Text / Chat:
gemma3:12b(configurable) - Vision:
qwen2.5vl:7b
Ensure the following are installed:
- Go (v1.23+)
- Node.js (v18+)
- Python (v3.10+)
- Ollama
Pull the required models:
ollama pull gemma3:12b
ollama pull qwen2.5vl:7bgit clone https://github.com/yourusername/teddy.git
cd teddycd backend
python -m venv venvActivate the virtual environment:
Windows
.\venv\Scripts\activatemacOS / Linux
source venv/bin/activateInstall dependencies:
pip install -r requirements.txtcd ../frontend
npm installwails devcd backend
python ../start_fastapi.pywails buildTeddy/
├── backend/
├── frontend/
├── build/
├── app.go
├── main.go
└── wails.json
MIT License