diff --git a/cli.py b/cli.py index 89a9af4f022..c61d08d254a 100644 --- a/cli.py +++ b/cli.py @@ -415,6 +415,12 @@ def load_cli_config() -> Dict[str, Any]: "display": { "compact": False, "resume_display": "full", + # Recap tuning for /resume — see hermes_cli/config.py DEFAULT_CONFIG. + "resume_exchanges": 10, + "resume_max_user_chars": 300, + "resume_max_assistant_chars": 200, + "resume_max_assistant_lines": 3, + "resume_skip_tool_only": True, "show_reasoning": False, "streaming": True, "busy_input_mode": "interrupt", diff --git a/hermes_cli/config.py b/hermes_cli/config.py index f3ee2632b86..9f457d741d0 100644 --- a/hermes_cli/config.py +++ b/hermes_cli/config.py @@ -1008,6 +1008,19 @@ DEFAULT_CONFIG = { "compact": False, "personality": "kawaii", "resume_display": "full", + # Recap tuning for /resume and startup resume. The defaults match the + # historical hardcoded values; expose them as config so power users can + # widen or tighten the snapshot to taste. + "resume_exchanges": 10, # max user+assistant pairs to show + "resume_max_user_chars": 300, # truncate user message text + "resume_max_assistant_chars": 200, # truncate non-last assistant text + "resume_max_assistant_lines": 3, # truncate non-last assistant lines + # When True (default), assistant entries that are *only* tool calls + # (no visible text) are skipped in the recap. This prevents the recap + # from being dominated by `[2 tool calls: terminal, read_file]` lines + # when an exchange was tool-heavy. Set False to restore the legacy + # behavior of showing tool-call summaries inline. + "resume_skip_tool_only": True, "busy_input_mode": "interrupt", # interrupt | queue | steer # When true, `hermes --tui` auto-resumes the most recent human- # facing session on launch instead of forging a fresh one.