Files

48 lines
1.4 KiB
Python

#!/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))