| --- |
| title: Friday Subconscious |
| emoji: π§ |
| colorFrom: blue |
| colorTo: indigo |
| sdk: docker |
| pinned: false |
| --- |
| |
| # Project Jarvis |
|
|
| > Personal AI Assistant β 100% Local, Zero Cloud Dependencies |
|
|
| Jarvis is a voice-first personal AI assistant that runs entirely on your Mac. No data leaves your machine. No API keys required for core functionality. |
|
|
| ## π§ What Powers Jarvis (All Local) |
|
|
| | Component | Technology | Purpose | |
| |---|---|---| |
| | **LLM Brain** | Ollama (llama3:8b) | Intent classification, reasoning, responses | |
| | **Speech-to-Text** | OpenAI Whisper (local) | Transcribes your voice commands | |
| | **Text-to-Speech** | Kokoro TTS + macOS native | Speaks responses back to you | |
| | **Wake Word** | openWakeWord | "Hey Jarvis" detection | |
| | **Memory** | ChromaDB + SQLite | Persistent memory and data storage | |
| | **Backend** | Python FastAPI | Service orchestration on localhost:7777 | |
|
|
| ## π Quick Start |
|
|
| ### 1. Run Setup (one-time) |
| ```bash |
| bash scripts/setup.sh |
| ``` |
| This installs all dependencies, downloads models, and configures everything. |
|
|
| ### 2. Start Jarvis |
| ```bash |
| bash scripts/start.sh |
| ``` |
|
|
| ### 3. Use Jarvis |
|
|
| - **Web Dashboard**: Open `http://localhost:7777` in your browser |
| - **CLI Mode**: `cd backend && source venv/bin/activate && python cli.py` |
| - **Voice Mode**: `cd backend && source venv/bin/activate && python cli.py --voice` |
| - **API Docs**: `http://localhost:7777/docs` |
|
|
| ### 4. Stop Jarvis |
| ```bash |
| bash scripts/stop.sh |
| ``` |
|
|
| ## π Project Structure |
|
|
| ``` |
| Jarvis/ |
| βββ backend/ # Python FastAPI server |
| β βββ app/ |
| β β βββ api/ # REST API endpoints |
| β β βββ core/ # Brain, intent routing, context management |
| β β βββ services/ # STT, TTS, LLM, wake word, audio |
| β β βββ models/ # Pydantic schemas |
| β βββ main.py # Server entry point |
| β βββ config.py # Configuration |
| β βββ cli.py # Terminal interface |
| βββ static/ # Web dashboard |
| βββ app/ # macOS Swift menu bar app (Phase 2) |
| βββ models/ # Downloaded AI models |
| βββ data/ # Runtime data (SQLite, ChromaDB) |
| βββ scripts/ # Setup, start, stop scripts |
| ``` |
|
|
| ## ποΈ Voice Commands (Phase 0) |
|
|
| | Say This | Jarvis Does | |
| |---|---| |
| | "Hey Jarvis, what time is it?" | Tells you the current time | |
| | "Good morning" | Greets you with daily context | |
| | "What can you do?" | Lists available capabilities | |
| | "Draft an email to the team" | Drafts content for you | |
| | "Tell me a joke" | Engages in conversation | |
|
|
| ## π£οΈ Roadmap |
|
|
| - **Phase 0** β
Core voice loop, LLM brain, web dashboard |
| - **Phase 1** π Expense tracking, SQLite database, ChromaDB memory |
| - **Phase 2** π Contact intelligence, Google Sheets integration |
| - **Phase 3** π OttoPilot CRM integration |
| - **Phase 4** π WhatsApp, Gmail, Calendar |
| - **Phase 5** π Call recording & memory |
| - **Phase 6** π Analytics & reporting |
| - **Phase 7** π macOS system intelligence |
| - **Phase 8** π Polish & hardening |
| - **Phase 9** π Mobile app (React Native) |
|
|
| ## βοΈ Configuration |
|
|
| Edit `backend/.env` to customize: |
| - `OLLAMA_MODEL` β Change the LLM model (default: llama3:8b) |
| - `WHISPER_MODEL` β STT model size (tiny/base/small/medium/large) |
| - `TTS_ENGINE` β kokoro (neural) or macos (system voice) |
| - `OPENAI_API_KEY` β Optional GPT-4 fallback |
|
|
| --- |
|
|
| *Built with β€οΈ by Antigravity β Confidential* |
|
|