hermes-guide
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Self-diagnosis and troubleshooting for Hermes Agent.
Hermes Guide
Package / slug:
hermes-guide· Catalog: curated Hermes plugin catalog (community tier)

Hermes usage and self-diagnosis guide for Hermes Agent.
It is an independent community project: not a Hermes core component, and it does
not ask upstream to change for this plugin's benefit. Genuine Hermes defects
found during diagnosis may still be reported upstream.
It complements — never replaces — Hermes's own diagnostics (hermes doctor, hermes verify, and the per-surface helpers): it covers the gaps they leave. The plugin is read-only (no config writes; empty capabilities:). It ships two independent things:
- A plugin.
/hermes-doctorin a session,hermes guidein a terminal. Read-only health checks acrossconfig,mcp,skills,commands,hooks,plugins,memories,sessions,storage,update
- A skills tap.
Thirty-one troubleshooting skills — one install guide, one configuration map, twenty-seven per-surfacediagnosing-*playbooks, two other skills (hermes-post-update,plugin-authoring).
Enabling the plugin additionally registers one router skill (hermes-guide:start) in
model sessions: it routes "something is wrong" reports to hermes guide and, once
the tap is installed, to the matching playbook. The playbooks themselves ship only
via the tap.
Who it's for. A session helping someone who does not read Hermes's source: the
plugin gives it a deterministic picture of the host, the tap gives it the per-surface
playbook, and each finding gives a reason and, where the check has one, the path or
output behind it. That is what lets a problem be triaged before an upstream fix
lands — and what lets an upstream maintainer act on a report without re-deriving
the user's environment. Read-only throughout: no config writes, no auto-fix.
[!NOTE]
Thehookscheck inspects hook configuration in-process by default — it
reads the config, consent state and exec bit without running anything. Add--deepto runhermes hooks doctor, which executes each approved shell
hook once with a synthetic payload; that is how it verifies a hook actually
runs. Proactive runs always stay in-process.
Install the plugin
From the curated catalog (preferred):
hermes plugins install hermes-guide
hermes plugins enable hermes-guide
Catalog installs land disabled — the enable step is what registers/hermes-doctor and hermes guide. (Owner/repo installs pass --enable
inline instead.)
From GitHub by owner/repo (same package; useful to pin a SHA):
hermes plugins install iap/hermes-guide --enable
hermes plugins install iap/hermes-guide --ref <40-char-SHA> --enable
Requires Hermes >=0.21 — declared as requires_hermes in plugin.yaml and
enforced by the plugin loader (a build without it records-and-skips at load).
See hermes plugins info hermes-guide for the
catalog pin and disclosure text.
Manual install
Alternatively, clone this repo into your Hermes plugins directory:
# POSIX / WSL: $HERMES_HOME is ~/.hermes
git clone --depth 1 https://github.com/iap/hermes-guide ~/.hermes/plugins/hermes-guide
hermes plugins adopt hermes-guide
hermes plugins enable hermes-guide
Adopting registers the self-cloned directory in provenance tracking sohermes plugins update covers it. Prefer a fresh clone over cp -r .: it leaves working-tree caches and build
artifacts (__pycache__, venvs) behind. Keep the clone's .git — Hermes
updates Git-managed plugins in place, and deleting it breaks those updates.
Only delete .git for a standalone archive copy that will never be updated
as a plugin.
[!NOTE]
On native Windows$HERMES_HOMEis%LOCALAPPDATA%\hermes, not~/.hermes. Runhermes config pathto confirm where yours is.
Use the plugin
- In a session:
/hermes-doctorfor every surface, or/hermes-doctor mcpfor one. - In a terminal:
hermes guide. Exits1if any surface is broken or unknown,2for an unrecognized scope name,0when healthy. On a degraded host — where everyhermeslaunch replays a minutes-long update tail —hermes guide --fastruns all ten checks in-process with no subprocess. - Deep hooks:
hermes guide hooks --deep(or/hermes-doctor hooks --deep) runshermes hooks doctor, which executes each approved hook once. The default hooks check runs nothing. - Machine-readable:
hermes guide mcp --jsonprints one JSON document instead of the report — envelopes unchanged, top-levelstatusderived, update notice suppressed (exit codes above still apply). Agents and scripts parse that document; plaingrep-style consumers keep the text output. - Finding ids: every broken or unknown result carries a stable
id,impact, andfix; the finding catalog lists scope separately, and--jsonemits those keys in each finding envelope under its scope key.
Proactive mode (opt-in)
Add to config.yaml:
plugins:
entries:
hermes-guide:
settings:
proactive: true
Drift findings are then logged at session start/end — watch hermes logs --follow.
Install the skills
Installing the plugin does not install the skills; they ship as separate, opt-in reference material. Add the repo as a skills tap, then install what you want:
hermes skills tap add iap/hermes-guide
hermes skills install iap/hermes-guide/skills/diagnosing-mcp
[!IMPORTANT]
The identifier must include theskills/prefix — it is the repo-relative path to the skill'sSKILL.md. The shorteriap/hermes-guide/<name>form does not resolve.
Install all skills at once
for s in diagnosing-auth diagnosing-backup diagnosing-bot-mode diagnosing-browser diagnosing-cli-tui diagnosing-commands diagnosing-config diagnosing-cron diagnosing-desktop diagnosing-gateway diagnosing-hooks diagnosing-host-pressure diagnosing-mcp diagnosing-memories diagnosing-memory diagnosing-path diagnosing-plugins diagnosing-profiles diagnosing-providers diagnosing-runtime diagnosing-secrets diagnosing-sessions diagnosing-skills diagnosing-storage diagnosing-triage diagnosing-update diagnosing-voice hermes-configuration-guide hermes-post-update installing-hermes plugin-authoring; do hermes skills install "iap/hermes-guide/skills/$s"; done
Each skill still passes its own scan and consent individually, so it stays individually updatable. Every installed skill is also available as a slash command (e.g. /diagnosing-mcp).
What's included
| Skill | Purpose |
|---|---|
installing-hermes |
Install routes — install.sh/Desktop/Nix, what each creates on disk, config bootstrap, update/uninstall, and the gotchas (PM-era runtime layout, NixOS specifics) |
hermes-configuration-guide |
The map: resolving $HERMES_HOME, where each surface is configured, instruction files, orphaned/legacy settings, and routing to the diagnostic skills |
hermes-post-update |
Verify and clean up after a Hermes update — gateway restart, plugin migrations, config changes, health checks, cleanup opportunities |
plugin-authoring |
Author Hermes plugins (plugin.yaml + register(ctx), commands, hooks, capabilities, read-only contract) and skills (SKILL.md frontmatter, versioning, provenance, verification) |
diagnosing-mcp |
MCP servers that won't connect, expose no tools, fail OAuth, or ignore mcp_servers: config |
diagnosing-skills |
Skills not discovered, shadowed, hidden by platform/toolset conditions, or stuck "user-modified" |
diagnosing-commands |
Missing or overridden slash commands — skills-as-commands, bundles, plugin commands, per-platform permissions |
diagnosing-hooks |
Hooks that don't fire — the four hook systems, shell-hook consent, hermes hooks doctor |
diagnosing-plugins |
Plugins that don't load — the plugins.enabled gate, capability consent, discovery locations |
diagnosing-profiles |
Multi-profile issues — profile not found, config not isolated, profile switching failures, clone/sync-imports problems |
diagnosing-path |
Path issues — the dual-venv layout on older checkouts, the PM-era no-in-tree-venv case, detection, canonical resolution order, cross-platform best practices |
diagnosing-triage |
Route vague user descriptions to the correct diagnostic skill — a triage layer that maps symptoms to the right diagnosing-* playbook |
diagnosing-cli-tui |
CLI/TUI issues on native Windows — rendering artifacts, themes, busy indicators, mouse modes, encoding, launch/resume |
diagnosing-backup |
Backup and restore issues — backup creation failures, restore errors, checkpoint corruption, import/export problems |
diagnosing-auth |
Hub-install auth failures — dead/shadowing GITHUB_TOKEN in the profile .env, gh-cli fallback, 401 vs anonymous probes, rate-limit verdicts |
diagnosing-memory |
Memory problems — built-in MEMORY.md/USER.md stores, external providers configured but silently unavailable, missing plugins/keys, char-limit and approval gates |
diagnosing-desktop |
Desktop app build/launch failures — npm/Node issues, locked or torn builds, Electron download fallbacks, backend resolution, desktop.* config |
diagnosing-providers |
Model provider issues — custom endpoints flooding the picker with hundreds of models, discover_models misbehaving, persisted catalogs bloating config.yaml, provider/auth failures |
diagnosing-bot-mode |
Bot Mode issues — bots not appearing, profile conflicts, bot-to-bot messaging, model/memory/skill routing per bot |
diagnosing-voice |
Voice mode issues — STT/TTS provider failures, audio device problems, latency, ffmpeg missing, voice transcription |
diagnosing-config |
Config file missing, unparseable, or orphaned settings |
diagnosing-storage |
Storage and disk pressure — state.db bloat, cleanup opportunities |
diagnosing-sessions |
Session health — runaway sessions, loop signatures, context bloat |
diagnosing-update |
Update lock stale, dead owner, or update failures |
diagnosing-memories |
Memory store hygiene — over-limit, duplicates, mis-targeted entries |
diagnosing-browser |
Browser automation issues — CDP connection failures, Chrome 144+ compatibility, Playwright setup, agent-browser gating |
diagnosing-cron |
Cron job issues — jobs not firing, scheduler dead, wedged fire-claim, timezone issues, delivery failures |
diagnosing-gateway |
Gateway & messaging issues — bot not responding, platform allowlist, token validation, gateway connectivity |
diagnosing-host-pressure |
Host resource exhaustion presenting as multiple Hermes faults — load-vs-CPU, plugin load-budget discards, resolution order |
diagnosing-secrets |
Secret and credential management issues — secret sources not resolving, vault locked, egress firewall blocking, credential pool failures |
diagnosing-runtime |
Runtime failures — CLI produces no output, commands hang or return empty, stuck source updates, broken node deps, recovery routes |
Design principle
Complement, don't duplicate. When a built-in already answers the question, use it — hermes-guide exists for the gaps: deep per-surface playbooks, deterministic read-only health checks, and the routing map between surfaces. If a check here ever starts duplicating a built-in, the built-in wins and the check gets trimmed.
Every diagnosis resolves to a concrete action: a hermes <subcommand> command or a specific file + field edit, then a /reload-* or restart to apply.
Machine-readable diagnostics
Phase 4 shipped the machine-readable contract. hermes guide --json emits one
document per run, every broken or unknown finding carries a stable id with
plain-language impact and a concrete fix, and the
finding catalog is generated from that registry. The triage
and router skills consume the contract. Runtime repair stays
upstream with hermes doctor --fix; hermes doctor --live only runs bounded,
read-only health probes.
No next phase is scoped yet; open
issues carry the work.
Contributing
Skills track the Hermes Agent source and its shipped documentation (website/docs/ in hermes-agent). When Hermes changes behavior, update the affected skill and bump its version. See CONTRIBUTING.md.
| Audience | Start here |
|---|---|
| End users / catalog install | This README |
| Human contributors (skills, PRs, voice) | CONTRIBUTING.md |
| Agents working in this repo | AGENTS.md (always-on) → docs/agent/ (on demand) |
| Security / read-only contract | SECURITY.md |
| App builders / host integration | docs/embedding.md |
License
MIT — see LICENSE.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi