myron 26b501b600 fix: address 8 code-review findings in KB topic manager
- Fix 1 (ORDER BY): use table alias t.id to force integer PK ordering;
  topic_id alias was causing alphabetical sort, breaking rotation offsets
- Fix 2 (PDOException): wrap INSERT/UPDATE in try/catch in kb_topic_save;
  duplicate topic_id now returns clean JSON error instead of HTTP 500
- Fix 3 (XSS/onclick): DEL button passes only t.id; tmDelete looks up
  name from _topicsData, removing JSON.stringify from onclick attribute
- Fix 4 (validation): topic_id must contain at least one [a-z0-9] after
  sanitization; "@@@" to "___" no longer passes required-field check
- Fix 5 (stale logs): guard comment and log messages updated from 20h to
  4h to match the actual 14400s threshold
- Fix 6 (dedup): tmEsc() replaced with existing esc() throughout; removed
  duplicate function definition
- Fix 7 (toggle rollback): tmToggle uses inline fetch to revert el.checked
  on API failure instead of leaving the UI in wrong state
- Fix 8 (confirm): tmDelete uses openModal confirmation instead of
  confirm() dialog, consistent with project live-popup convention

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014p87VFec84hNaf2WpvmLrW
2026-07-02 10:26:47 -05: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 12 MiB
Languages
PHP 49.7%
Python 21.8%
JavaScript 15.6%
CSS 6.4%
Shell 3.1%
Other 3.4%