Commands at a glance
What the agent remembers
OpenSRE keeps durable knowledge across sessions so you never repeat yourself:- Who you are — your name, role, and how you like to work
- Your infrastructure — cluster names, naming conventions, known-flaky services
- Your preferences — report formats, notification choices, defaults
- Investigation learnings — root causes and lessons worth keeping
Saving memories
Talk normally — no special phrasing:Viewing and deleting memories
/memory forget prod-cluster-conventions, or ask the agent:
“forget what you know about the prod cluster”.
Where memories live
On a laptop, memories are plain markdown files under~/.opensre/memory/ — one
file per memory plus a generated MEMORY.md index. OpenSRE creates that folder
(and an empty index) the first time memory is used in a chat or via /memory.
They are stored locally and unencrypted. On a Slack silo each member
instead gets a private memory folder inside the organization’s mounted context
volume (<org root>/users/<slack_user_id>/memory/), not a shared host folder.
Every chat and action turn includes the stored facts (summaries plus bodies,
within a size budget) in prompts sent to your configured LLM provider. You can
open, edit, or delete the files directly at any time; the index rebuilds on the
next write.
Turning memory off
The per-turn extraction makes one lightweight LLM call when durable facts may
have appeared (coalesced across rapid turns) and saves at most five memories
per pass. On shell exit that pass runs to completion after resources are
released so durable facts are not dropped. Never share secrets or credentials
expecting them to be remembered — the memory ingestion path blocks obvious
tokens, passwords, private keys, and credential-shaped values, and redacts
matching spans before the extraction LLM call.
Gateway (Slack / Telegram)
On Slack, memory is per-user scoped — each member’s facts live under their ownusers/<id>/memory/ folder inside the org volume, so one user’s memories
cannot appear in another’s prompts or channel replies. Telegram turns are
unbound and stay host-global. Because of that (and to keep memory off by
default on shared hosts), the gateway path is off by default; opt in with
OPENSRE_MEMORY_GATEWAY_ENABLED=1.