# JARVIS Omega v24

Production-ready local AI assistant + Telegram command bot for developer workflows.

## Visual Setup Page

For a user-friendly guided setup UI, open:
- index.html

This repository is sanitized for public GitHub upload:
- No hardcoded API keys in code.
- No real secrets in tracked files.
- Placeholder-based secrets template included.

## Project Structure

- src/jarvis_ai.py: Main JARVIS engine (AI providers, system tools, Telegram bot logic).
- src/telegram_bot.py: Telegram daemon bootstrapper that runs JARVIS bot mode.
- jarvis_ai.py: Root launcher for src/jarvis_ai.py.
- telegram_bot.py: Root launcher for src/telegram_bot.py.
- config/zshrc.template: Shell automation and developer command suite template.
- config/zshrc.secrets.example: Template for your secrets.
- docs/: OS-specific setup guides.
- .gitignore: Prevents accidental secret/runtime commits.

## Security Before First Commit

1. Ensure these files are NOT tracked with real values:
   - .zshrc.secrets
   - Any .env files
2. Rotate any token that was previously exposed.
3. Verify with a quick scan before push:
   - grep -R "ghp_\|nvapi-\|AIza\|TELEGRAM_BOT_TOKEN=.*[A-Za-z0-9]" .

## Quick Start

1. Clone repo.
2. Copy secret template:
   - cp config/zshrc.secrets.example ~/.zshrc.secrets
3. Open ~/.zshrc.secrets and replace placeholders with your own keys.
4. Reload shell:
   - source ~/.zshrc
5. Test status:
   - python3 jarvis_ai.py --status

## Run Modes

- CLI mode:
  - python3 jarvis_ai.py --text
- Voice mode:
  - python3 jarvis_ai.py --voice
- Telegram bot daemon:
  - python3 jarvis_ai.py --telegram-bot

## Telegram Setup

1. Create bot via @BotFather and copy token.
2. Get your chat ID via @userinfobot.
3. Set in ~/.zshrc.secrets:
   - TELEGRAM_BOT_TOKEN
   - TELEGRAM_CHAT_ID
4. Start bot:
   - python3 jarvis_ai.py --telegram-bot

## Platform Setup Guides

Use the OS-specific guide for dependencies and shell setup:
- macOS: see docs/README.macOS.md
- Linux: see docs/README.linux.md
- Windows: see docs/README.windows.md

## Recommended Git Workflow

1. git init
2. git add .
3. git status (verify no local secret file is staged)
4. git commit -m "chore: initial sanitized jarvis upload"
5. git branch -M main
6. git remote add origin <your-repo-url>
7. git push -u origin main

## Troubleshooting

- Telegram not configured:
  - Confirm TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID are non-empty in ~/.zshrc.secrets.
- Provider auth errors (401/403):
  - Re-check key validity and key scope.
- Command not found in shell functions:
  - Run source ~/.zshrc and retry.

## License

This project is licensed under the MIT License.
See LICENSE for details.
