From b0953b6a7fe24f61b739d3b5217f4153c95590e4 Mon Sep 17 00:00:00 2001 From: Michael Lam Date: Mon, 4 May 2026 17:21:52 -0700 Subject: [PATCH] feat: link official Hermes dashboard --- api/dashboard_probe.py | 211 ++++++++++++++++++++++ api/routes.py | 26 +++ docs/pr-media/1459/dashboard-nav-link.png | Bin 0 -> 141620 bytes static/i18n.js | 18 ++ static/index.html | 14 ++ static/panels.js | 1 + static/style.css | 5 + static/ui.js | 90 +++++++++ tests/test_dashboard_link_ui.py | 61 +++++++ tests/test_dashboard_probe.py | 206 +++++++++++++++++++++ 10 files changed, 632 insertions(+) create mode 100644 api/dashboard_probe.py create mode 100644 docs/pr-media/1459/dashboard-nav-link.png create mode 100644 tests/test_dashboard_link_ui.py create mode 100644 tests/test_dashboard_probe.py diff --git a/api/dashboard_probe.py b/api/dashboard_probe.py new file mode 100644 index 00000000..cc15ef91 --- /dev/null +++ b/api/dashboard_probe.py @@ -0,0 +1,211 @@ +"""Safe server-side probe for the official Hermes Agent dashboard. + +The official `hermes dashboard` binds to 127.0.0.1:9119 by default and exposes +GET /api/status as a public, read-only identity/status endpoint. Keep all +probing server-side to avoid browser CORS/mixed-content failures, and only allow +loopback targets so a user-controlled setting cannot become an SSRF primitive. +""" + +from __future__ import annotations + +import json +import logging +import os +import urllib.request +from urllib.parse import urlparse + +logger = logging.getLogger(__name__) + +DEFAULT_DASHBOARD_PORT = 9119 +DEFAULT_DASHBOARD_TIMEOUT = 0.5 +DEFAULT_DASHBOARD_TARGETS = (("127.0.0.1", DEFAULT_DASHBOARD_PORT), ("localhost", DEFAULT_DASHBOARD_PORT)) +_DASHBOARD_ENABLED_VALUES = {"auto", "always", "never"} +_LOOPBACK_HOSTS = {"127.0.0.1", "localhost", "::1"} + + +def _base_url(host: str, port: int, scheme: str = "http") -> str: + display_host = f"[{host}]" if ":" in host and not host.startswith("[") else host + return f"{scheme}://{display_host}:{port}" + + +def normalize_dashboard_url(raw_url: str | None) -> tuple[str, int, str, str] | None: + """Return (host, port, scheme, base_url) for a safe loopback dashboard URL. + + Overrides intentionally accept only scheme + loopback host + explicit port. + Paths, query strings, fragments, and credentials are rejected: the probe + appends the official `/api/status` fingerprint itself and must not become an + arbitrary local URL fetcher. + """ + raw = str(raw_url or "").strip() + if not raw: + return None + parsed = urlparse(raw) + if parsed.scheme not in {"http", "https"}: + raise ValueError("invalid dashboard URL scheme") + if parsed.username or parsed.password: + raise ValueError("invalid dashboard URL credentials") + host = parsed.hostname or "" + normalized_host = host.strip().lower() + if normalized_host not in _LOOPBACK_HOSTS: + raise ValueError("invalid dashboard URL host") + try: + port = parsed.port + except ValueError as exc: + raise ValueError("invalid dashboard URL port") from exc + if not isinstance(port, int) or not (1 <= port <= 65535): + raise ValueError("invalid dashboard URL port") + path = parsed.path or "" + if path not in ("", "/") or parsed.params or parsed.query or parsed.fragment: + raise ValueError("invalid dashboard URL path") + base = _base_url(normalized_host, port, parsed.scheme) + return normalized_host, port, parsed.scheme, base + + +def _looks_like_official_dashboard(payload: object) -> bool: + if not isinstance(payload, dict): + return False + version = payload.get("version") + if not isinstance(version, str) or not version.strip(): + return False + # Verified against current Hermes Agent `hermes_cli.web_server.get_status()`: + # /api/status returns version plus these Hermes-specific fields. Requiring at + # least one avoids treating any generic {version: ...} local service as the + # official dashboard. + return any(key in payload for key in ("release_date", "hermes_home", "config_path", "gateway_running")) + + +def probe_official_dashboard( + host: str, + port: int, + timeout: float = DEFAULT_DASHBOARD_TIMEOUT, + scheme: str = "http", +) -> dict: + """Best-effort check that `hermes dashboard` is running on host:port.""" + try: + normalized_host = str(host or "").strip().lower() + if normalized_host not in _LOOPBACK_HOSTS: + raise ValueError("dashboard probe host must be loopback") + port = int(port) + if not (1 <= port <= 65535): + raise ValueError("dashboard probe port out of range") + if scheme not in {"http", "https"}: + raise ValueError("dashboard probe scheme must be http or https") + base = _base_url(normalized_host, port, scheme) + request = urllib.request.Request( + f"{base}/api/status", + headers={"Accept": "application/json", "User-Agent": "hermes-webui-dashboard-probe"}, + ) + with urllib.request.urlopen(request, timeout=timeout) as response: + if getattr(response, "status", None) != 200: + return {"running": False} + payload = json.loads(response.read().decode("utf-8")) + if not _looks_like_official_dashboard(payload): + return {"running": False} + result = {"running": True, "host": normalized_host, "port": port, "url": base} + version = payload.get("version") + if isinstance(version, str) and version.strip(): + result["version"] = version.strip() + return result + except Exception: + logger.debug("official Hermes dashboard probe failed", exc_info=True) + return {"running": False} + + +def _dashboard_config(config_data: dict | None = None) -> dict: + if config_data is None: + try: + from api.config import get_config + + config_data = get_config() + except Exception: + config_data = {} + webui_cfg = config_data.get("webui", {}) if isinstance(config_data, dict) else {} + dashboard_cfg = webui_cfg.get("dashboard", {}) if isinstance(webui_cfg, dict) else {} + return dashboard_cfg if isinstance(dashboard_cfg, dict) else {} + + +def get_dashboard_config(config_data: dict | None = None) -> dict: + """Return normalized profile config for the Settings → System controls.""" + dashboard_cfg = _dashboard_config(config_data) + enabled = str(dashboard_cfg.get("enabled", "auto") or "auto").strip().lower() + if enabled not in _DASHBOARD_ENABLED_VALUES: + enabled = "auto" + raw_url = str(dashboard_cfg.get("url") or "").strip() + if raw_url: + # Normalize before echoing so the UI never displays unsafe/stale values. + _host, _port, _scheme, raw_url = normalize_dashboard_url(raw_url) + return {"enabled": enabled, "url": raw_url} + + +def save_dashboard_config(payload: dict) -> dict: + """Persist dashboard link settings under webui.dashboard in config.yaml.""" + enabled = str((payload or {}).get("enabled", "auto") or "auto").strip().lower() + if enabled not in _DASHBOARD_ENABLED_VALUES: + raise ValueError("invalid dashboard enabled mode") + raw_url = str((payload or {}).get("url", "") or "").strip() + normalized_url = "" + if raw_url: + _host, _port, _scheme, normalized_url = normalize_dashboard_url(raw_url) + + from api import config as webui_config + + config_path = webui_config._get_config_path() + config_data = webui_config._load_yaml_config_file(config_path) + webui_section = config_data.get("webui") + if not isinstance(webui_section, dict): + webui_section = {} + config_data["webui"] = webui_section + dashboard_section = webui_section.get("dashboard") + if not isinstance(dashboard_section, dict): + dashboard_section = {} + webui_section["dashboard"] = dashboard_section + dashboard_section["enabled"] = enabled + if normalized_url: + dashboard_section["url"] = normalized_url + else: + dashboard_section.pop("url", None) + webui_config._save_yaml_config_file(config_path, config_data) + webui_config.reload_config() + return {"enabled": enabled, "url": normalized_url} + + +def _webui_bind_host_allows_auto_probe() -> bool: + raw_host = str(os.environ.get("HERMES_WEBUI_HOST") or "127.0.0.1").strip().lower() + host = raw_host.replace("[", "").replace("]", "") + return host in _LOOPBACK_HOSTS + + +def get_dashboard_status(config_data: dict | None = None) -> dict: + """Return the safe status payload consumed by GET /api/dashboard/status.""" + dashboard_cfg = _dashboard_config(config_data) + enabled = str(dashboard_cfg.get("enabled", "auto") or "auto").strip().lower() + if enabled not in _DASHBOARD_ENABLED_VALUES: + enabled = "auto" + if enabled == "never": + return {"running": False, "enabled": "never"} + + raw_url = dashboard_cfg.get("url") or dashboard_cfg.get("target") or "" + try: + override = normalize_dashboard_url(raw_url) + except ValueError: + return {"running": False, "enabled": enabled, "error": "invalid dashboard url"} + + targets: list[tuple[str, int, str, str]] + if override: + targets = [override] + else: + targets = [(host, port, "http", _base_url(host, port)) for host, port in DEFAULT_DASHBOARD_TARGETS] + + if enabled == "always": + host, port, scheme, base = targets[0] + return {"running": True, "enabled": enabled, "host": host, "port": port, "url": base} + + if not _webui_bind_host_allows_auto_probe(): + return {"running": False, "enabled": enabled} + + for host, port, scheme, _base in targets: + result = probe_official_dashboard(host, port, timeout=DEFAULT_DASHBOARD_TIMEOUT, scheme=scheme) + if result.get("running"): + result["enabled"] = enabled + return result + return {"running": False, "enabled": enabled} diff --git a/api/routes.py b/api/routes.py index 592431a1..8da4bc2b 100644 --- a/api/routes.py +++ b/api/routes.py @@ -1921,6 +1921,21 @@ def handle_get(handler, parsed) -> bool: if parsed.path == "/api/models/live": return _handle_live_models(handler, parsed) + if parsed.path == "/api/dashboard/status": + from api import dashboard_probe + + j(handler, dashboard_probe.get_dashboard_status()) + return True + + if parsed.path == "/api/dashboard/config": + from api import dashboard_probe + + try: + j(handler, dashboard_probe.get_dashboard_config()) + except ValueError as exc: + bad(handler, str(exc), status=400) + return True + # ── Providers (GET) ── if parsed.path == "/api/providers": return j(handler, get_providers()) @@ -2631,6 +2646,17 @@ def handle_post(handler, parsed) -> bool: from api.kanban_bridge import handle_kanban_post return handle_kanban_post(handler, parsed, body) + if parsed.path == "/api/dashboard/config": + from api import dashboard_probe + + try: + j(handler, dashboard_probe.save_dashboard_config(body)) + except ValueError as exc: + bad(handler, str(exc), status=400) + except Exception as exc: + logger.exception("dashboard config save failed") + bad(handler, str(exc), status=500) + return True if parsed.path == "/api/session/new": try: diff --git a/docs/pr-media/1459/dashboard-nav-link.png b/docs/pr-media/1459/dashboard-nav-link.png new file mode 100644 index 0000000000000000000000000000000000000000..85b68084a879b87e18756399d6b68672728f84d7 GIT binary patch literal 141620 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

rOj*EQ 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

!3htj5k+SqG_?FZG5a`M&j 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 +

@@ -105,6 +106,7 @@ + @@ -998,6 +1000,18 @@ +
+ +
Show a nav-rail link when the official hermes dashboard is reachable. Overrides are restricted to loopback URLs.
+ + + +
+
diff --git a/static/panels.js b/static/panels.js index 767c4f0e..1244baf9 100644 --- a/static/panels.js +++ b/static/panels.js @@ -4272,6 +4272,7 @@ async function loadSettingsPanel(){ if(disableBtn) disableBtn.style.display='none'; } _syncHermesPanelSessionActions(); + if(typeof loadDashboardSettings==='function') loadDashboardSettings(); loadProvidersPanel(); // load provider cards in background switchSettingsSection(_settingsSection); }catch(e){ diff --git a/static/style.css b/static/style.css index fe5cbcee..6b435070 100644 --- a/static/style.css +++ b/static/style.css @@ -627,6 +627,11 @@ .rail .nav-tab{flex:0 0 auto;padding:0;font-size:inherit;border-bottom:none;overflow:visible;} .rail .nav-tab:hover::after{content:none;} .rail .nav-tab.active::before{content:'';position:absolute;left:-6px;top:50%;bottom:auto;transform:translateY(-50%);width:3px;height:16px;background:var(--accent);border-radius:0 2px 2px 0;} + .dashboard-link{position:relative;} + .dashboard-link-visible{display:flex!important;} + .dashboard-external-badge{position:absolute;right:5px;top:5px;width:9px;height:9px;border-radius:2px;border:1px solid var(--accent);background:var(--sidebar);box-shadow:0 0 0 2px var(--sidebar);opacity:.95;} + .dashboard-external-badge::after{content:'';position:absolute;right:-2px;top:-2px;width:5px;height:5px;border-top:1.5px solid var(--accent);border-right:1.5px solid var(--accent);} + .sidebar-nav .dashboard-external-badge{right:8px;top:7px;width:8px;height:8px;} @media(min-width:641px){.rail{display:flex;}.sidebar > .sidebar-nav{display:none;}} /* Sidebar navigation tabs */ .sidebar-nav{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 8px 0;gap:2px;} diff --git a/static/ui.js b/static/ui.js index c45ab3da..610efeb8 100644 --- a/static/ui.js +++ b/static/ui.js @@ -90,6 +90,96 @@ function _renderUserFencedBlocks(text){ return s; } +const DASHBOARD_STATUS_TTL_MS=60000; +let _dashboardStatusCache=null; +let _dashboardStatusFetchedAt=0; + +function _dashboardIsBrowserLoopback(){ + const host=(window.location.hostname||'').replace(/^\[|\]$/g,'').toLowerCase(); + return host==='127.0.0.1'||host==='localhost'||host==='::1'; +} +function _dashboardBrowserUrl(status){ + if(!status||!status.running||!status.port) return ''; + let source; + try{source=new URL(status.url||('http://127.0.0.1:'+status.port));} + catch(_){source=new URL('http://127.0.0.1:'+status.port);} + const browserHost=window.location.hostname||source.hostname; + const displayHost=browserHost.includes(':')&&!browserHost.startsWith('[')?'['+browserHost+']':browserHost; + return source.protocol+'//'+displayHost+':'+status.port; +} +function _applyDashboardStatus(status){ + const running=!!(status&&status.running); + const url=running?_dashboardBrowserUrl(status):''; + const warning=running&&!_dashboardIsBrowserLoopback()?t('dashboard_loopback_warning'):''; + document.querySelectorAll('[data-dashboard-link]').forEach(btn=>{ + btn.classList.toggle('dashboard-link-visible',running); + btn.style.display=running?'':'none'; + btn.dataset.dashboardUrl=url; + btn.title=warning||t('tab_dashboard'); + btn.setAttribute('aria-label',warning||t('tab_dashboard')); + }); +} +async function refreshDashboardStatus(force=false){ + const now=Date.now(); + if(!force&&_dashboardStatusCache&&(now-_dashboardStatusFetchedAt)', INDEX_HTML, re.DOTALL).group(0) + assert rail.index('data-panel="insights"') < rail.index('id="dashboardRailBtn"') < rail.index('rail-spacer') + + +def test_dashboard_frontend_fetches_status_with_sixty_second_cache(): + assert "DASHBOARD_STATUS_TTL_MS=60000" in UI_JS + assert "function refreshDashboardStatus" in UI_JS + assert "api('/api/dashboard/status')" in UI_JS + assert "setInterval(refreshDashboardStatus,DASHBOARD_STATUS_TTL_MS)" in UI_JS + assert 'fetch("/api/dashboard/status"' not in UI_JS + assert "fetch('/api/dashboard/status'" not in UI_JS + + +def test_dashboard_probe_initializes_after_shared_api_helper_is_loaded(): + assert "function _initDashboardLinkProbe" in UI_JS + assert "document.addEventListener('DOMContentLoaded',_initDashboardLinkProbe,{once:true})" in UI_JS + assert "else _initDashboardLinkProbe();" not in UI_JS + + +def test_dashboard_frontend_opens_external_tab_safely_and_derives_browser_host_url(): + assert "function openHermesDashboard" in UI_JS + assert "window.open" in UI_JS + assert "noopener,noreferrer" in UI_JS + assert "window.location.hostname" in UI_JS + assert "_dashboardBrowserUrl" in UI_JS + assert 'id="dashboardRailBtn"' in INDEX_HTML + assert re.search(r'id="dashboardRailBtn"[^>]*onclick="openHermesDashboard\(event\)"', INDEX_HTML) + + +def test_dashboard_loopback_warning_and_external_badge_are_present(): + assert "dashboard_loopback_warning" in UI_JS + assert "dashboard-external-badge" in INDEX_HTML + assert ".dashboard-external-badge" in STYLE_CSS + assert "dashboard-link-visible" in STYLE_CSS + + +def test_dashboard_settings_controls_live_in_system_panel(): + assert 'id="settingsDashboardMode"' in INDEX_HTML + assert 'id="settingsDashboardUrl"' in INDEX_HTML + assert "function saveDashboardSettings" in UI_JS + assert "api('/api/dashboard/config'" in UI_JS diff --git a/tests/test_dashboard_probe.py b/tests/test_dashboard_probe.py new file mode 100644 index 00000000..d65b3f26 --- /dev/null +++ b/tests/test_dashboard_probe.py @@ -0,0 +1,206 @@ +import json +from urllib.parse import urlparse + + +class _FakeHandler: + def __init__(self): + self.status = None + self.sent_headers = [] + self.body = bytearray() + self.wfile = self + + def send_response(self, status): + self.status = status + + def send_header(self, name, value): + self.sent_headers.append((name, value)) + + def end_headers(self): + pass + + def write(self, data): + self.body.extend(data) + + def json_body(self): + return json.loads(bytes(self.body).decode("utf-8")) + + +class _FakeResponse: + def __init__(self, payload, status=200): + self.status = status + self._payload = payload + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc, tb): + return False + + def read(self): + return json.dumps(self._payload).encode("utf-8") + + +def test_probe_uses_official_dashboard_status_fingerprint(monkeypatch): + calls = [] + + def fake_urlopen(request, timeout): + calls.append((request.full_url, timeout)) + return _FakeResponse({"version": "0.12.0", "release_date": "2026-05-01", "hermes_home": "/tmp/hermes"}) + + from api import dashboard_probe + + monkeypatch.setattr(dashboard_probe.urllib.request, "urlopen", fake_urlopen) + result = dashboard_probe.probe_official_dashboard("127.0.0.1", 9119, timeout=0.25) + + assert result["running"] is True + assert result["host"] == "127.0.0.1" + assert result["port"] == 9119 + assert result["url"] == "http://127.0.0.1:9119" + assert result["version"] == "0.12.0" + assert calls == [("http://127.0.0.1:9119/api/status", 0.25)] + + +def test_probe_rejects_non_dashboard_json(monkeypatch): + def fake_urlopen(request, timeout): + return _FakeResponse({"version": "1.2.3"}) + + from api import dashboard_probe + + monkeypatch.setattr(dashboard_probe.urllib.request, "urlopen", fake_urlopen) + result = dashboard_probe.probe_official_dashboard("localhost", 9119, timeout=0.25) + + assert result == {"running": False} + + +def test_probe_failure_and_timeout_are_safe_false(monkeypatch): + def fake_urlopen(request, timeout): + raise TimeoutError("slow dashboard") + + from api import dashboard_probe + + monkeypatch.setattr(dashboard_probe.urllib.request, "urlopen", fake_urlopen) + result = dashboard_probe.probe_official_dashboard("127.0.0.1", 9119, timeout=0.01) + + assert result == {"running": False} + + +def test_dashboard_target_validation_allows_only_loopback_base_urls(): + from api.dashboard_probe import normalize_dashboard_url + + assert normalize_dashboard_url("") is None + assert normalize_dashboard_url("http://127.0.0.1:9120") == ("127.0.0.1", 9120, "http", "http://127.0.0.1:9120") + assert normalize_dashboard_url("https://localhost:9443") == ("localhost", 9443, "https", "https://localhost:9443") + assert normalize_dashboard_url("http://[::1]:9119") == ("::1", 9119, "http", "http://[::1]:9119") + + for bad in ( + "http://example.com:9119", + "http://169.254.169.254:80", + "http://127.0.0.1:9119/api/status", + "http://user:***@127.0.0.1:9119", + "file:///etc/passwd", + "http://127.0.0.1:99999", + ): + try: + normalize_dashboard_url(bad) + except ValueError: + pass + else: + raise AssertionError(f"unsafe dashboard override accepted: {bad}") + + +def test_status_tries_default_loopback_targets_until_dashboard_found(monkeypatch): + from api import dashboard_probe + + attempts = [] + + def fake_probe(host, port, timeout=0.5, scheme="http"): + attempts.append((host, port, timeout, scheme)) + if host == "localhost": + return {"running": True, "host": host, "port": port, "url": "http://localhost:9119", "version": "0.12.0"} + return {"running": False} + + monkeypatch.setattr(dashboard_probe, "probe_official_dashboard", fake_probe) + result = dashboard_probe.get_dashboard_status(config_data={}) + + assert result["running"] is True + assert result["host"] == "localhost" + assert attempts == [("127.0.0.1", 9119, 0.5, "http"), ("localhost", 9119, 0.5, "http")] + + +def test_status_honors_never_and_strict_override(monkeypatch): + from api import dashboard_probe + + def fail_probe(*args, **kwargs): + raise AssertionError("disabled dashboard must not probe") + + monkeypatch.setattr(dashboard_probe, "probe_official_dashboard", fail_probe) + assert dashboard_probe.get_dashboard_status(config_data={"webui": {"dashboard": {"enabled": "never"}}}) == { + "running": False, + "enabled": "never", + } + + result = dashboard_probe.get_dashboard_status(config_data={"webui": {"dashboard": {"url": "http://example.com:9119"}}}) + assert result["running"] is False + assert "invalid" in result["error"] + + + + +def test_status_skips_auto_probe_when_webui_bind_host_is_non_loopback(monkeypatch): + from api import dashboard_probe + + def fail_probe(*args, **kwargs): + raise AssertionError("auto mode must not probe dashboard when WebUI binds non-loopback") + + monkeypatch.setenv("HERMES_WEBUI_HOST", "0.0.0.0") + monkeypatch.setattr(dashboard_probe, "probe_official_dashboard", fail_probe) + + result = dashboard_probe.get_dashboard_status(config_data={}) + + assert result == {"running": False, "enabled": "auto"} + + +def test_dashboard_status_route_returns_safe_payload(monkeypatch): + from api import dashboard_probe + from api.routes import handle_get + + monkeypatch.setattr( + dashboard_probe, + "get_dashboard_status", + lambda: {"running": True, "host": "127.0.0.1", "port": 9119, "url": "http://127.0.0.1:9119", "version": "0.12.0"}, + ) + + handler = _FakeHandler() + parsed = urlparse("http://example.com/api/dashboard/status") + handled = handle_get(handler, parsed) + + assert handled is True + assert handler.status == 200 + assert handler.json_body() == { + "running": True, + "host": "127.0.0.1", + "port": 9119, + "url": "http://127.0.0.1:9119", + "version": "0.12.0", + } + + +def test_dashboard_config_roundtrip_writes_profile_config_yaml(tmp_path, monkeypatch): + monkeypatch.setenv("HERMES_CONFIG_PATH", str(tmp_path / "config.yaml")) + + from api.dashboard_probe import get_dashboard_config, save_dashboard_config + + assert get_dashboard_config() == {"enabled": "auto", "url": ""} + saved = save_dashboard_config({"enabled": "never", "url": ""}) + assert saved == {"enabled": "never", "url": ""} + + saved = save_dashboard_config({"enabled": "auto", "url": "http://127.0.0.1:19119"}) + assert saved == {"enabled": "auto", "url": "http://127.0.0.1:19119"} + assert "dashboard:" in (tmp_path / "config.yaml").read_text(encoding="utf-8") + + try: + save_dashboard_config({"enabled": "auto", "url": "http://example.com:9119"}) + except ValueError: + pass + else: + raise AssertionError("external dashboard URL override must be rejected")