#!/usr/bin/env python3 """Quick Hermes Agent environment collector - dumps runtime state to JSON.""" import json import os import platform import subprocess from pathlib import Path def collect(): data = { "platform": { "system": platform.system(), "node": platform.node(), "release": platform.release(), "version": platform.version(), "machine": platform.machine(), }, "hermes": { "profile_dir": str(Path.home() / ".hermes" / "profiles" / "spark"), "profile_exists": bool(Path.home().exists()), }, "environment": { "home": os.environ.get("HOME", ""), "user": os.environ.get("USER", ""), "pwd": os.getcwd(), }, "python": f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}" if (sys := __import__('sys')) else "unknown", "shell": None } # Get shell PID try: data["shell"] = {"pid": os.getpid(), "ppid": os.getppid()} except: pass # Check hermes cli try: result = subprocess.run(["which", "hermes"], capture_output=True, text=True, timeout=5) data["hermes"]["cli_path"] = result.stdout.strip() or None except: data["hermes"]["cli_path"] = None return data if __name__ == "__main__": print(json.dumps(collect(), indent=2))