A local, dependency-light WebUI for full-power management of Hermes Agent profiles — the visual operating surface for everything a profile really is: identity, instructions, auth, env, skills, skill groups, toolsets, MCP servers, providers, delegation authority, team topology, backups, and audit.
Built for two audiences at once: beginners get readiness verdicts, guided flows, and one-click safety (every write confirms, backs up, and audits); power users get the complete config surface, live route/MCP tests, a system-wide interactive graph, and raw-file editing — without ever being reduced to a read-only dashboard.
Requirements: Python 3.10+ on macOS or Linux (Windows works for most flows).
git clone https://github.com/MaverickKB/hermes-advanced-profile-manager.git
cd hermes-advanced-profile-manager
./scripts/profile-manager startThat's it. The first run creates a virtualenv, installs PyYAML, starts the
server in the background (no terminal occupied), opens
http://127.0.0.1:5194/, and prints how to stop it.
./scripts/profile-manager status # running? where?
./scripts/profile-manager stop # shut down (or use the ⏻ button in the UI)
./scripts/profile-manager run # foreground mode for debugging
./scripts/profile-manager start --port 6001 --hermes-home ~/.hermes./scripts/profile-manager updateOne command: pulls the latest release into your checkout (git pull --ff-only), refreshes dependencies, and restarts the server if it is
running. If you prefer the manual path, it is exactly that — git pull
then ./scripts/profile-manager restart. Your profiles, backups, and
audit history are untouched by updates: Hermes config lives in your
Hermes home, and manager state lives in .profile-manager/, which the
repo ignores.
./scripts/profile-manager install-skillinstalls an agent-launchable skill into your Hermes home, pinned to this
checkout. Agents can then start/stop/check the manager themselves
(scripts/launch-profile-manager start|stop|status).
- Overview — an evidence-backed readiness verdict: can this profile safely operate right now? (live route tests, MCP handshakes with tool counts, auth/env state, secret hygiene — never config presence alone)
- Purpose & intent — build profiles from the job, not YAML
- Identity & instructions — SOUL.md / HERMES.md / AGENTS.md with provenance, plus the system prompt
- Domains & roles — live library with inline creation
- Skill groups — Hermes-native capability manifests
(
~/.hermes/skill_groups/*.yaml,skill_groups.enabled[]config refs) - Skills selector — dual-list assignment with why-selected provenance
- Toolsets & tools — real registry inspection with per-tool risk
- MCP servers — provenance, live handshake tests, discovered tool surfaces with risk classification
- Providers & routes — usage maps, auth/completion tests, safe route replacement
- Auth & secrets — auth source policy and a masked
.enveditor (values never displayed except a single audited reveal) - Delegation & team — the live delegation authority list with grant/revoke, stale-name fixes, and gate status, plus a draft team planner
- ChangeSet — generated plans with bounded, reported apply
- Validate & dry-run — schema/secret checks, diff, live smoke
- Backups & audit — backup now, compare, restore, rollback-last-apply, secret-free export
- Raw files — the power editor, last (where it belongs)
- ✦ Explorer — an interactive graph of your whole installation (constellation / mind map / flow views) that surfaces broken delegation targets, stale aliases, and orphaned profiles at a glance
Most of what this manager edits is upstream-native Hermes config: model
routes, providers/fallbacks/auxiliary, MCP servers, toolsets,
agent.disabled_toolsets, skills.disabled, the system prompt, identity
files, auth/env.
Three surfaces are extensions — designed in hermes-agent's own planning docs or pioneered in forks, but not yet implemented by the official runtime:
profile_delegation.allowed_profiles(delegation authority)discord.channel_profiles(channel → profile routing)skill_groups.enabled[]+~/.hermes/skill_groups/*.yamlmanifests
The manager detects at runtime whether your installed hermes-agent implements each surface (by scanning its source) and labels the relevant tabs: native support when implemented, or extension — config is forward-compatible but inert on this runtime when not. Writing these keys is always safe (official Hermes ignores unknown config), and this tool is intended as the working reference for upstreaming them.
- Binds
127.0.0.1only. - Every write requires an explicit confirm, takes a backup first, and appends an audit record (key names only — never secret values).
- Exports exclude
.envandauth.jsonby design. - No system-specific paths in the runtime: the Hermes home resolves via
PROFILE_MANAGER_HERMES_HOME→HERMES_HOME(with profile-scoped ancestor walk) →~/.hermes.
./scripts/profile-manager run # foreground server
.venv/bin/pip install pytest
.venv/bin/python -m pytest # test suiteAgent contributors using the
AetherMind Hermes plugin
get a curated head start: the repo ships a clean .aethermind/ continuity
seed (mission, architecture, invariants, safety model) to reorient from.
MIT — see LICENSE.