Chat list
The sidebar lets users create a new chat, switch chats, rename a chat, or delete a chat. On mobile, selecting or creating a chat closes the full-screen sidebar.
The chat screen is the primary CE workspace. A signed-in user selects or creates a chat, sends a prompt to the currently loaded main model, watches the answer stream back, and keeps the result in their own history.
Admin model controls decide which local model is loaded. Normal users work with that loaded model rather than choosing or launching models themselves.
The sidebar lets users create a new chat, switch chats, rename a chat, or delete a chat. On mobile, selecting or creating a chat closes the full-screen sidebar.
The prompt is sent over Socket.IO. The assistant response streams into the active chat and is saved when generation completes and the session is still valid.
During generation, the Send button changes to Stop. The active assistant bubble can also show an in-bubble Stop button. Both request cancellation for the active generation.
New user messages over 20,000 characters are rejected with a message asking the user to shorten the prompt or attach content as a file.
Streaming text appears as it arrives. After completion, Markdown is rendered through the app's sanitizer path, code blocks are enhanced, and math notation is passed to local MathJax assets when available.
When the model stream provides reasoning content or recognizable thought tags, the UI can show a separate reasoning/thoughts section apart from the final answer.
| Area | Behavior |
|---|---|
| Supported content | Users can attach common text and code files, including txt, markdown, Python, JavaScript, TypeScript, HTML, CSS, JSON, XML, YAML, CSV, logs, shell scripts, SQL, Java, C/C++, C#, Go, and Rust files. |
| Default limits | Seeded settings allow 8 files, 1 MB per file, 4 MB total, and an 80,000 character attachment context budget. |
| Validation | The server checks filename shape, extension, text content, null bytes, per-file size, total size, and the configured context limit. |
| Model context | Attachment text is chunked by lines and added to the model request. Truncation notices are included when configured limits are reached. |
Users can edit the latest prompt. The edit creates a new prompt version instead of rewriting older saved rows.
Regenerate uses the latest active prompt in the selected session and creates another response version for that turn.
Previous and next controls switch between latest-turn variants. The selected variant is saved for that user's session.