A fully local desktop AI companion powered by llama.cpp.
Rivet combines natural conversation, speech, image understanding, notes, and desktop notifications into a companion that runs entirely on your own machine. The project is designed around a provider-based architecture, reusable model profiles, and a modern desktop interface while keeping inference local.
- Local inference using llama.cpp
- Provider-neutral LLM architecture
- Profile-based model management
- Fast Chat profile
- Fast Coder profile
- Deep Think profile
- Vision profile
- Runtime profile switching
- Image understanding
- Prompt Mode image attachments
- Browse image
- Paste image from clipboard
- Drag & drop image support
- PNG, JPEG, and WebP support
- Modern reusable Prompt Window
- Multi-line prompt editor
- Ctrl+Enter to submit
- Temporary workspace transcript
- Clear Workspace button
- Workspace geometry persistence
- Active profile shown in window title
- Kokoro text-to-speech
- Spoken AI responses
- Speech server architecture
- Local notes system
- Voice note support
- Note-aware AI Click responses
- Desktop companion avatar
- AI Click interactions
- Windows notifications
- Notification listener
- Startup greetings
- Preferred user name
- Personalized canned responses
- First-run setup wizard
- Provider abstraction
- ProfileManager
- ProviderLifecycle
- LLMService
- InteractionManager
- Modular desktop application design
AICompanion/
├── companion.py
├── companion_app/
├── speech_data/
│ ├── providers/
│ ├── profiles/
│ ├── personality.md
│ ├── notes_data.py
│ └── llm_service.py
├── runtime/
├── assets/
└── docs/
Companion
│
▼
InteractionManager
│
▼
LLMService
│
▼
ProviderFactory
│
▼
LlamaCppProvider
│
▼
llama.cpp
- Windows
- Python 3.12+
- llama.cpp server
- Compatible GGUF models
- Kokoro TTS
- Faster-Whisper (for voice features)
- Clone the repository.
- Create a Python virtual environment.
- Install the project requirements.
- Configure your llama.cpp server and model profiles.
- Launch Rivet.
- Local llama.cpp backend
- Provider-neutral architecture
- Vision support
- Prompt Workspace
- Working-memory transcript
- User personalization
- Image attachments
- Legacy Ollama removal
- Request logging sanitization
- Voice dictation
- Personality template placeholders
- Richer conversation context
- Media Manager integration
- Additional attachment types (PDFs, audio, screenshots)
- Plugin/extension system
- Fully local AI
- Fast desktop interactions
- Modular architecture
- Privacy-first
- Easy to extend
- Portable profile system
This project is licensed under the MIT License. See the LICENSE file for details.
Powered by the open-source AI ecosystem, including:
- llama.cpp
- Kokoro
- Faster-Whisper
- Flask
- PyQt