72 lines
2.3 KiB
Markdown
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`
|