Olympus is a local Hermes dashboard plugin. It is designed to run behind the Hermes dashboard session-token middleware and should not be exposed directly to the public internet.
- Read-only by default.
- No mutation routes.
- No credential reveal routes.
- No direct shell execution from HTTP requests.
- SQLite reads use read-only connections.
- Secret-like error text is redacted before it is returned.
- Full local filesystem paths are not returned by public plugin responses.
- Session titles, Kanban task titles, cron names, and exact model/provider labels are hidden by default.
- Skill names from usage and hub metadata are hashed by default.
- Config policy responses expose only safe counts, booleans, and generic route evidence. Prompt text, personality text, base URLs, API keys, env values, and local paths are not returned.
Operators who want richer local labels can start Hermes with:
OLYMPUS_EXPOSE_LOCAL_LABELS=1 hermes dashboard --no-open --skip-buildOnly use this on a private machine. With this setting enabled, Olympus may show local session titles, task titles, cron names, and model/provider labels in the dashboard.
Before publishing or opening a PR:
- Run
npm run verify. - Run
npm run test:visual. - Run
npm run test:livefor live route, layout, or plugin mounting changes. - Run
npm run test:performancefor live/overviewand/tuningresponse budget checks. - Run
npm run test:securityfor payload, redaction, labels, config, skills, or evidence-source changes. - Run
npm audit --audit-level=moderate. - Search for private paths, tokens, usernames, private model names, and old project-specific references.
- Confirm generated files such as
.DS_Store,__pycache__, screenshots, and local database files are not staged. - Confirm Olympus still uses Hermes dashboard auth and does not add direct unauthenticated routes.
- Confirm any new write action is gated, explicit, and documented.