Environment • SQLite Persistence
installed
Databasedatabase.sqlite present
AdminConfigured
API KeyAQ.Ab8RN6I••••yqsQ
Modelgemini-flash-lite-latest
Chats / Messages2 / 4
Tableschat_sessions, conversations, admins, settings
How SQLite Persistence Works (v2.5)
Tables (only these, no v3 projects/worker):
- chat_sessions: session_id UNIQUE, title, created_at, updated_at, message_count, last_message
- conversations: id, session_id, role (user/assistant), content, created_at
- admins, settings
Flow:
1. create_chat -> INSERT INTO chat_sessions (session_id, title) -> returns session_id like chat_a1b2c3_171...
2. chat -> INSERT INTO conversations (session_id, role, content) x2 + upsert chat_sessions (update title from first message if New Chat, update message_count, last_message, updated_at)
3. list_chats -> SELECT * FROM chat_sessions ORDER BY updated_at DESC -> sidebar recovers all chats after reload
4. history -> SELECT * FROM conversations WHERE session_id=? ORDER BY id ASC -> full chat recovers
5. Different chats = different session_id. Continue any chat by loading its history.
6. delete_chat -> DELETE FROM conversations WHERE session_id=? + DELETE FROM chat_sessions WHERE session_id=?
7. All stored in database.sqlite, survives logout, browser close, server restart.
No v3 features included: no projects, no project_messages, no project_files, no jobs, no worker.php, no multi-agent.