rtk-hermes v1.2.0
rtk-hermes v1.2.0
This release hardens rtk-hermes as a production Hermes plugin while keeping the core behavior conservative: rewrite terminal commands through RTK before execution, fail open, and avoid post-tool output mutation.
Added
- Runtime config through environment variables:
RTK_HERMES_MODE=rewrite|suggest|offRTK_HERMES_TIMEOUT_MS=<milliseconds>RTK_HERMES_PREVIEW_MARKER=true|false
- Visible RTK preview marker: rewritten commands default to
: RTK && <rewritten-command>so Hermes tool previews make RTK activity obvious. /rtkslash command support when the active Hermes version supports plugin command registration:/rtk status/rtk stats/rtk reset-stats/rtk config
- Process-local metrics for attempts, applied rewrites, suggestions, no-equivalent decisions, denies, timeouts, errors and unexpected exit codes.
- CI for Python 3.9 through 3.13 plus package build validation.
CHANGELOG.md,CONTRIBUTING.md,SECURITY.md, andMANIFEST.in.
Changed
- Documentation now uses the GitHub release wheel as the primary install path until PyPI is updated beyond
1.0.0. - The plugin skips commands that are already
rtk ...or already marked with: RTK &&. - Metrics no longer store raw commands.
- Warnings do not include raw command strings or raw RTK stderr, reducing the chance of leaking secrets into persistent Hermes logs.
- The
/rtkstatus command is registered even if RTK is not currently inPATH, so users can diagnose missing RTK from inside Hermes.
Not included by design
This release does not add transform_terminal_output or transform_tool_result compaction. Those hooks can save tokens, but they can also hide debugging evidence or alter structured tool results. If added later, they should be explicit opt-in behavior with dedicated tests.
Verification
- Local tests:
50 passed - Local build:
python -m buildsucceeded - Distribution check:
twine check dist/*passed - GitHub Actions CI passed on Python 3.9, 3.10, 3.11, 3.12 and 3.13
- Hermes entry point verified as
rtk-rewrite rtk_hermes 1.2.0 True