Adds an embedded web UI dashboard accessible via `hermes web`. Provides a
browser-based interface for:
- Monitoring agent status, gateway, and active/recent sessions
- Editing config.yaml with a schema-driven form editor
- Managing API keys in .env (set, clear, view redacted)
Backend: FastAPI server (hermes_cli/web_server.py) with REST endpoints.
Frontend: Vite + React + TypeScript + Tailwind v4 SPA (web/ directory).
Also adds:
- `/reload` slash command for hot-reloading .env variables
- `delete_env_value()` and `reload_env()` utilities in config.py
- `[web]` optional dependency extra (fastapi + uvicorn)
- Web build step in `hermes update` (both git and zip paths)
- hermes_cli/web_dist/ to .gitignore and package-data
Salvaged from PR #1813 by austinpickett onto current main.
Fixes applied during salvage:
- Replaced hardcoded CONFIG_SCHEMA with dynamic generation from DEFAULT_CONFIG
- Restricted CORS to localhost origins (was allow_origins=[*])
- Dropped _maybe_reload_env from model_tools.py (stale reverts to core dispatch)
- Dropped .python-version file
- Skipped all stale-branch reverts (pyproject.toml, model_tools.py, etc.)