Sessions on disk
Each session is a JSON file underdata/chats/, named by a sanitized session id. Session ids are UUIDs and are sanitized to prevent path-traversal.
A session payload holds its session_id, a title, timestamps, and the full list of
messages.
What the manager does
get_all_sessions returns lightweight metadata (id, title, timestamps) for the chat list,
while get_session returns the complete message history for one conversation.
The API
The shell drives history through these endpoints:History vs. memory
They’re complementary:Chat history
The verbatim transcript of each conversation, grouped into sessions you can browse
and delete. Stored as JSON in
data/chats/.Memory
Distilled facts extracted from conversations and stored as vectors in a vector database, then
injected into future prompts for personalization.