- 31 new managed skills (anubis/arr/authentik/hermes/freetoken/podman/llm-swap runbooks etc.) now tracked. - Removed superseded skills: omp_harness_config, peon_ping_integration (replaced by user-authored peon-ping-* managed skills), rocmfp4-strix-benchmark-orchestration. - New memory-root skills: niri_compositor_ops, omp_git_workflow, omp_model_config, quadlet-media-migration, homelab-service-triage, hermes-dankclaw-ops, frank-default-large-ops, caddy-auth-dns-playbook.
2.5 KiB
2.5 KiB
name, description
| name | description |
|---|---|
| hermes-live-config-edit | Runbook for changing Hermes (Dankclaw) live config.yaml — model routing, providers, aux routes — including backup, apply, restart, and verification steps |
Editing live Hermes config on Dankclaw
Hermes-webui/gateway read /home/dank/Containers/hermes/data/config.yaml (dir is drwx------ uid 109999; all reads/edits need sudo). The repo file dankclaw/hermes/config.yaml.example is a sanitized backup and can lag live — always diff the live file first; never treat the example as truth.
Procedure
- Backup first:
sudo cp -a .../config.yaml .../config.yaml.bak-YYYYMMDD(in-dir trash.AGENTTRASH/also exists for removals). - Apply change with surgical
sudo sed -ior full-file write; YAML comments in the live file are tool-generated — preserve them. - Sweep stale references across the whole data dir, not just config.yaml:
sudo grep -rln "<old-id>" /home/dank/Containers/hermes/data --include="*.yaml" --include="*.json". Session files/MEMORY.md are historical — leave them. - Derived caches:
webui/models_cache.jsonis keyed by a config fingerprint (_source_fingerprint.config_yamlmtime/size); after edits it's stale. Either let it regenerate lazily or trash it (mv to data dir.AGENTTRASH/) — never hand-edit. - Restart the model-consuming units (they parse config at startup):
systemctl --user restart hermes-webui.service hermes.service.hermes-dashboard.serviceis unaffected by routing changes. - Verify behaviorally, not by status codes: one tiny completion per endpoint with the exact served id — POST
/v1/chat/completionson 7770 (Dankclaw, llama.cpp serves aliasfrank-large), on Dankserver 7770 (FreeToken REQUIRES an explicitmodelfield), and on 7771/v1 (FLM routes by exact registry tag, e.g.gemma4-it:e4b; unknown tags answer HTTP 200 with{"error":"Failed to load <tag> model!"}— status-code checks silently pass). - Sync the repo backup (
dankclaw/hermes/config.yaml.example) to the live shape, redacting secrets (password_hash, phone account stay live-only), then run./tests/run.shbefore commit.
Gotchas
provider: custom+base_urlentries route by base_url and send the model id verbatim; named providers (dankclaw-large,dankserver-small,dankclaw-npu) resolve via theirapi:URL.- Renaming a served alias anywhere (serve scripts, env ALIAS) MUST propagate to this config in the same change or Hermes requests 404 on nonexistent models — this exact gap caused the 2026-09-05 outage.