Skip to content

feat(hermes): file-based config + updated docs#686

Merged
nicoloboschi merged 3 commits intomainfrom
feat/hermes-config-file
Mar 25, 2026
Merged

feat(hermes): file-based config + updated docs#686
nicoloboschi merged 3 commits intomainfrom
feat/hermes-config-file

Conversation

@nicoloboschi
Copy link
Collaborator

Summary

  • Replace the old dataclass/configure() singleton with a plain dict config loaded from ~/.hindsight/hermes.json
  • Same field names and conventions as the openclaw and claude-code integrations (camelCase, same loading order)
  • Full rewrite of README and docs integration page

Changes

  • config.py: load_config() returns a plain dict, DEFAULTS matching openclaw/claude-code fields, ENV_OVERRIDES with typed casting
  • tools.py: register() uses load_config() instead of raw env vars
  • init.py: Clean exports (removed configure/get_config/reset_config)
  • README.md: Config file examples, tables by category, troubleshooting
  • docs/hermes.md: Quick start, architecture diagram, all config tables, gateway section
  • tests: Updated for new config pattern, 46 tests pass

Config example

{
  "hindsightApiUrl": "http://localhost:9077",
  "bankId": "hermes",
  "autoRecall": true,
  "autoRetain": true,
  "recallBudget": "mid"
}

Test plan

  • All 46 tests pass
  • Pre-commit hooks pass

Replace the old dataclass/configure() singleton with a plain dict
config loaded from ~/.hindsight/hermes.json — same field names and
conventions as the openclaw and claude-code integrations.

Loading order: defaults → config file → env var overrides.

- config.py: rewritten with load_config() returning a plain dict,
  DEFAULTS matching openclaw/claude-code fields, ENV_OVERRIDES with
  typed casting
- tools.py: register() uses load_config() instead of raw env vars
- __init__.py: clean exports (removed configure/get_config/reset_config)
- README.md: full rewrite with config file examples, tables by category
- docs/hermes.md: full rewrite with quick start, architecture, all
  config tables, gateway section, troubleshooting
- tests: updated for new config pattern, 46 tests pass
@nicoloboschi nicoloboschi force-pushed the feat/hermes-config-file branch from fa3479c to 30bdc2c Compare March 25, 2026 14:34
@nicoloboschi nicoloboschi merged commit 0ff3654 into main Mar 25, 2026
42 of 43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant