fix(config): shipped template no longer enables session auto-reset (#67772)
#60194 flipped SessionResetPolicy's default to mode: none, but cli-config.yaml.example still shipped session_reset.mode: both. Every install path (install.sh, install.ps1, docker stage2-hook, hermes doctor) copies the template verbatim to ~/.hermes/config.yaml, so fresh installs got an EXPLICIT mode: both that overrides the code default — users hit 24h-idle resets with 'nothing' in their config enabling it. - cli-config.yaml.example: session_reset.mode both -> none, comments rewritten to describe auto-reset as opt-in - docs/session-lifecycle.md: appendix example updated to match - tests/gateway/test_config.py: invariant tests — template seed, absent config, and mode-less session_reset block all resolve to mode none; explicit opt-in still honored
This commit is contained in:
+16
-17
@@ -583,28 +583,27 @@ memory:
|
||||
# Session Reset Policy (Messaging Platforms)
|
||||
# =============================================================================
|
||||
# Controls when messaging sessions (Telegram, Discord, WhatsApp, Slack) are
|
||||
# automatically cleared. Without resets, conversation context grows indefinitely
|
||||
# which increases API costs with every message.
|
||||
# automatically cleared. Default is "none": sessions never auto-reset —
|
||||
# conversation context lives until you /reset or /new manually, or context
|
||||
# compression kicks in. Opt in to automatic resets if you prefer sessions to
|
||||
# clear on a schedule (long-lived context increases API cost per message,
|
||||
# though prompt caching and compression keep this manageable).
|
||||
#
|
||||
# When a reset triggers, the agent first saves important information to its
|
||||
# persistent memory — but the conversation context is wiped. The agent starts
|
||||
# fresh but retains learned facts via its memory system.
|
||||
#
|
||||
# Users can always manually reset with /reset or /new in chat.
|
||||
# When an automatic reset triggers, the agent first saves important
|
||||
# information to its persistent memory — but the conversation context is
|
||||
# wiped. The agent starts fresh but retains learned facts via its memory
|
||||
# system.
|
||||
#
|
||||
# Modes:
|
||||
# "both" - Reset on EITHER inactivity timeout or daily boundary (recommended)
|
||||
# "idle" - Reset only after N minutes of inactivity
|
||||
# "daily" - Reset only at a fixed hour each day
|
||||
# "none" - Never auto-reset; context lives until /reset or compression kicks in
|
||||
#
|
||||
# When a reset triggers, the agent gets one turn to save important memories and
|
||||
# skills before the context is wiped. Persistent memory carries across sessions.
|
||||
# "none" - Never auto-reset (default); context lives until /reset or compression
|
||||
# "idle" - Reset after N minutes of inactivity
|
||||
# "daily" - Reset at a fixed hour each day
|
||||
# "both" - Reset on EITHER inactivity timeout or daily boundary
|
||||
#
|
||||
session_reset:
|
||||
mode: both # "both", "idle", "daily", or "none"
|
||||
idle_minutes: 1440 # Inactivity timeout in minutes (default: 1440 = 24 hours)
|
||||
at_hour: 4 # Daily reset hour, 0-23 local time (default: 4 AM)
|
||||
mode: none # "none", "idle", "daily", or "both"
|
||||
idle_minutes: 1440 # Inactivity timeout in minutes (used by "idle"/"both")
|
||||
at_hour: 4 # Daily reset hour, 0-23 local time (used by "daily"/"both")
|
||||
|
||||
# Maximum number of simultaneously active chat sessions across CLI, TUI,
|
||||
# dashboard chat, and messaging gateway. Set to null, 0, or omit to allow
|
||||
|
||||
Reference in New Issue
Block a user