myron b19ce85d84 Windows agent: run as background Windows Service (Win 8.1+)
Replace the scheduled-task approach (required user to stay logged in) with a
proper Windows Service using pywin32. The service runs as LocalSystem, starts
at boot, and auto-restarts on failure — no PowerShell window needed.

Agent changes (jarvis-agent-windows.py):
- Add Windows Service class via pywin32 (JarvisAgentService)
- Cleanly handles SvcStop by setting a threading.Event
- main() loop uses _stop_event.wait() instead of time.sleep() so stop is immediate
- self_update() signals the stop event when running as a service (SCM restarts it)
- __main__ block dispatches to SCM entry point or HandleCommandLine (install/stop/remove)
- Falls back to direct run if pywin32 not installed (for debugging)

Installer changes (install-windows.ps1):
- pip install pywin32 + postinstall (registers service runner DLLs)
- Python search prefers system-wide install (accessible by LocalSystem)
- Downloads Python 3.11 directly from python.org for Win 8.1 machines without winget
- Removes legacy JARVIS-Agent scheduled task if present
- Registers JARVISAgent service with --startup auto
- Configures sc.exe failure recovery (restart at 5s/10s/30s)
- Updated management commands in summary (Start-Service, Stop-Service, etc.)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 12:11:38 +00:00

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
S
Description
Mirror of github.com/myronblair/jarvis
Readme 856 KiB
Languages
PHP 43.3%
Python 29.9%
JavaScript 14.9%
CSS 6.2%
Shell 2.2%
Other 3.5%