feat: add Hermes Agent provider#46
Conversation
Adds a CodeBurn provider for the Hermes AI agent (https://github.com/AICodingJedi/hermes-agent). Hermes stores session data in a SQLite database (~/.hermes/state.db) with cumulative token counts at the session level. This provider distributes tokens proportionally across assistant turns: - Input tokens: equal split (shared conversation context) - Output tokens: proportional by assistant content length - Cache/reasoning tokens: proportional split Features: - Lazy-loaded via loadHermes() (same pattern as Cursor/OpenCode) - Maps 25+ Hermes tools to CodeBurn display names - Maps 11 model IDs to readable display names - Deduplication keys prevent duplicate entries on re-scan - Graceful fallback when better-sqlite3 is unavailable - Supports HERMES_HOME env var for custom data directories
|
Hey @AICodingJedi, thanks for adding Hermes support. The token distribution approach for cumulative session-level totals is a smart solve. A few things need fixing before we can merge: Must fix:
Style (per our CLAUDE.md):
The core logic (session parsing, tool mapping, model names, token distribution) is solid. Once the above is addressed it should merge cleanly. Happy to help if you have questions on any of these. |
Adds a CodeBurn provider for the Hermes AI agent (https://github.com/AICodingJedi/hermes-agent).
Hermes stores session data in a SQLite database (~/.hermes/state.db) with cumulative token counts at the session level. This provider distributes tokens proportionally across assistant turns:
Features: