Files
jarvis/JARVIS.md
2026-03-24 00:11:34 -05:00

72 lines
2.3 KiB
Markdown

# JARVIS — Just A Rather Very Intelligent System
**Windows Port | Google Workspace Edition**
A voice-activated AI assistant powered by FastAPI, Anthropic Claude, Fish Audio TTS, and OpenAI Whisper — integrated with the full Google Workspace suite.
## Quick Start
### 1. Prerequisites
- Python 3.11+
- Google Cloud project with OAuth credentials (`credentials.json`)
- Anthropic API key
- Fish Audio API key
### 2. Install dependencies
```bash
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
```
### 3. Configure environment
```bash
cp .env.example .env
# Edit .env with your API keys
```
### 4. Google OAuth setup
- Place your `credentials.json` from Google Cloud Console in the project root
- On first run, a browser window will open for authorization
- Token is saved to `token.json` automatically
### 5. Run
```bash
uvicorn main:app --reload --host 0.0.0.0 --port 8000
```
### 6. Open dashboard
Navigate to `http://localhost:8000` in Chrome.
## Project Structure
```
jarvis-windows/
├── main.py # FastAPI entrypoint
├── requirements.txt
├── .env.example
├── .gitignore
├── core/
│ ├── google_auth.py # Shared Google OAuth handler
│ ├── voice_input.py # Whisper STT
│ ├── voice_output.py # Fish Audio TTS
│ ├── claude_agent.py # Claude API + tool use
│ └── websocket_manager.py # WebSocket connection manager
├── capabilities/
│ ├── screen_vision.py # mss + win32gui screen capture
│ ├── calendar_access.py # Google Calendar API
│ ├── email_access.py # Gmail API (read-only)
│ ├── notes_manager.py # Google Keep / gkeepapi
│ ├── task_manager.py # Google Tasks API
│ ├── file_system.py # os/pathlib file operations
│ ├── terminal_control.py # subprocess PowerShell/CMD
│ ├── browser_control.py # Selenium Chrome automation
│ └── git_manager.py # Git via subprocess
├── utils/
│ ├── audio_utils.py # PyAudio helpers
│ └── window_utils.py # win32gui active window
└── client/
└── jarvis-dashboard.html # Animated Three.js frontend
```
## Roadmap
See `ROADMAP.md`