Conversations, History & Branching

Local history, branches and conversation backups.

1. Sidebar and history

The sidebar lets you create, search by title, open, export and delete conversations. On mobile, open it from the top menu. History is grouped by date.

A new conversation keeps the selected profile. When the local server is connected, new conversations are saved in both IndexedDB and local SQLite storage (~/zerochat/storage/zerochat.db). Existing local conversations remain in the browser without being uploaded to the server, and remote conversations from the server are downloaded on initial connection and when changing connection from the Connection panel.

While a response is being generated, the view follows the end of the conversation. If you scroll up, it stops moving so you can read; it follows the end again when you scroll back down or send a message. While you are not at the end, a button with a down arrow appears above the composer; it takes you to the end and resumes following it.

2. Conversation branches

The branch button on a response creates another conversation departing from that point. The original retains all its messages and remains intact in history. You can switch between both from the sidebar and explore different hypotheses, questions, or profiles.

When branching a conversation with accumulated history, ZeroChat offers the option to summarize earlier context via a synthesis checkpoint. This consolidates past turns, tools, and decisions into a streamlined block, launching the new branch with a clean context window (saving tokens and latency) while preserving the starting response. If you prefer to copy all verbatim messages, simply uncheck the summary option. While the summary is being generated you cannot send messages or switch conversations; the stop button cancels it without creating the branch. If summarization fails, ZeroChat offers to branch with the full history. The summary appears collapsed at the top of the branch.

RAG branches are document collections and are managed separately.

3. Exporting conversations

A conversation export is not a full application backup: profiles have their own export, and RAG collections and downloaded models are not included. Review a file before sharing: it may contain messages, attachments and tool results.

4. Importing and keeping backups

Use Import conversation in the sidebar and select JSON exported by ZeroChat. The application validates its structure; it does not import PDF or Markdown as chat history. Import is blocked during generation.

Export conversations you want to keep before clearing browser data. Deleting a session or the entire history requires confirmation and has no recovery bin. You can inspect conversations saved on the local server from the terminal with zerochat --list-conversations (or python3 zerochat.py --list-conversations). Deleting ~/zerochat/ resets the server SQLite storage, while preserving the browser IndexedDB copy.