mirror of
https://github.com/myronblair/jarvis
synced 2026-06-30 17:50:23 -05:00
ca66152f452f730c99a24b5f7dc3a2673a662522
Three issues caused periodic worker saturation: 1. Network section pinged 5 private LAN IPs (10.48.200.x) unreachable from DO — each failed after 1s timeout = 5s wasted per run. Replaced with a fast DB query on registered_agents. 2. pve_api_get() had no CURLOPT_CONNECTTIMEOUT — added 3s limit so unreachable Proxmox fails fast instead of blocking the full 8s. 3. Ollama curl timeout reduced from 5s→3s total, added 2s connect limit. Cron interpreter also changed from lsphp85 to php8.3 in crontab (done directly on server) — lsphp85 adds ~8s LSAPI startup overhead and consumes a PHP worker slot; php8.3 runs standalone. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
JARVIS
Iron Man-style AI assistant for home and network management.
Features
- Home Assistant control (lights, climate, scenes, switches)
- Proxmox VM management (start/stop/status)
- 4-tier chat: KB intents > Groq cloud > Ollama local > Claude API
- Real-time status bar (HA, Proxmox, DigitalOcean)
- Iron Man HUD at jarvis.orbishosting.com
Stack
- PHP 8.x / Apache / MySQL on Ubuntu 24.04
- Ollama VM at 10.48.200.95 (llama3.2:1b)
- Groq API (llama-3.3-70b / compound-mini with web search)
- Claude API (Anthropic) final fallback
Setup
cp api/config.example.php api/config.php Fill in all credentials in config.php before running.
Key Files
- public/index.html Iron Man HUD frontend
- public/api.php API router
- api/config.example.php Config template
- api/endpoints/chat.php 4-tier chat handler
- api/endpoints/facts_collector.php HA entity sync cron
- api/lib/kb_engine.php KB intent engine
- api/lib/db.php PDO database wrapper
Description
Languages
PHP
43.3%
Python
29.9%
JavaScript
14.9%
CSS
6.2%
Shell
2.2%
Other
3.5%