// docs
Chat History
Nothing S.E.N.T.R.I says or does is lost. Conversations come back when ServerEngine starts, past ones can be searched in the Logs tab, and every turn is written to disk as a record you can audit.
Where history is kept
| Kept as | What it gives you |
|---|---|
| Your sessions | The main chat and every agent in the Agent Workspace, saved and restored with their context when ServerEngine starts. |
| The history view | A S.E.N.T.R.I view in the Logs tab where past conversations can be read back and searched. |
| Transcript files | Plain-text records under Logs\Sentri: one chat file per user per day, and one file for every unattended run. |
Sessions survive a restart
Closing ServerEngine does not cost you a conversation. The main chat and every agent in the Agent Workspace come back with their context when the app starts, so you pick up where you left off.
- Swap the model in the middle of a conversation and the history stays.
- The main agent can hold chats on more than one provider at a time.
- New chat, or
/newchatin the prompt line, starts a fresh conversation and resets the context. The old one is not deleted: it stays in the history, and the transcript file marks the break with New conversation started. - Messages you send from WhatsApp go to the main chat, so they are part of its history too.
The history view
The Logs tab has its own S.E.N.T.R.I history view. Open it to read back an earlier conversation, or search it to find the one where something was decided.
Transcript files
Alongside the view, every turn is written to plain-text files under C:\ProgramData\ServerEngine\Logs\Sentri. They are there for audit: readable in any editor, easy to archive, and independent of the app.
Interactive chat
Chat in the app goes to Chat-<USERNAME>-yyyy-MM-dd.txt, one file per user per day. The username is in the name because the folder is shared machine-wide, so on a shared admin box every operator keeps their own history. Each turn is stamped with the time, who spoke, and which model and provider answered:
[hh:mm:ss] ── User [<USERNAME>] ──
patch my servers
[hh:mm:ss] ── S.E.N.T.R.I (<model> / <provider>) ──
Checking 12 hosts for pending updates…
[hh:mm:ss] ── System ──
New conversation startedEmpty or interrupted turns are skipped, so a reply you stopped with Esc leaves no half-written block behind.
Unattended runs
A scheduled or API-triggered prompt is a job, and its output is the transcript: it is written while the run happens, so you can watch the agent work live in the console. When the run ends, a durable copy is saved as yyyy-MM-dd_hhmm_<jobId>.txt in the same folder, with the provider, model, effort and allowed skills at the top. The full format is on the Logs page.
Masking
Transcripts follow the mask sensitive data setting, which is on by default: chat history is masked before every write, and an unattended transcript when its file is written.
The live transcript is not masked
GET /api/v1/jobs/<id>/output is unmasked, because masking happens when the file is written. Keep that in mind before putting the endpoint on a shared dashboard.Retention
Nothing under Logs\Sentri is deleted automatically. The files grow until you archive or remove them, so point your backup or archiving job at that folder if the record matters to you.
History is not memory