Local Voice Dictation, Project-Aware Backups & a Better Chat Experience
LLM Controller CE v1.4 brings fully local voice dictation directly into Chat, introduces Project-aware backup and restore, strengthens chat and streaming reliability, and delivers a completely rebuilt documentation experience.
Local Voice Dictation
LLM Controller CE can now turn speech into text locally using a dedicated Speech-to-Text model.
- Added microphone control directly to the Chat composer.
- Transcriptions are inserted into the composer so they can be reviewed or edited before sending.
- Added dedicated Speech-to-Text model designation and model selection.
- Added explicit Start and Stop controls for the speech runtime.
- Speech models remain loaded between dictations until stopped.
- Speech runs in its own Python environment, separate from the main CE runtime.
- Added dedicated Speech-to-Text status, logging, health checks, startup timeout handling, and failure cleanup.
Local Voice Dictation was validated on Windows with NVIDIA Nemotron 3.5 ASR Streaming 0.6B and NVIDIA CUDA.
Project-Aware Backup & Restore
JSON backups now understand more than individual conversations.
The new versioned backup format can preserve:
- Chats
- Projects
- Project Instructions
- Chat-to-Project membership
- Empty Projects
- Unassigned chats
Restoring conversations after clearing chat history can return them to their surviving Projects. Missing Projects can also be recreated during restore and their conversations remapped automatically.
Existing older JSON chat backups remain importable.
Chat & Streaming Reliability
v1.4 includes substantial work around active generations, navigation, interruption handling, and streaming.
- Deleted conversations no longer reappear when an active generation finishes afterward.
- New Chat and Project New Chat navigation is safely handled while generation is active.
- Page reload behavior during active generation has been improved.
- Interrupted partial responses are clearly marked as interrupted and not saved.
- Premature backend stream termination is no longer treated as successful completion.
- Streaming parsing now preserves literal
data:content and data URLs correctly. - API tracking can distinguish interrupted backend responses from successful completions.
Reasoning Streaming
Reasoning-aware responses received additional streaming fixes.
- Improved handling when
<think>tags are split across streaming chunks. - Added consistent handling for mixed-case reasoning tags.
- Prevented reasoning text from leaking into the final answer.
- Prevented normal answer text from becoming trapped inside reasoning output.
Attachments & Imports
Attachment configuration and large import handling have both been improved.
- Per-file attachment limits can now be configured up to 10 MiB.
- Combined attachment limits can now be configured up to 40 MiB.
- Improved MIME handling for supported macro-enabled Office formats including DOCM, XLSM, PPTM, and related variants.
- Removed the previous fixed 25,000-row chat import ceiling.
- Large imports now use the configurable Maximum Chat Import Size setting.
- Large CSV fields are supported so attachment-bearing CE exports can be imported correctly.
Model & Interface Refinements
Several smaller improvements make model and account management clearer.
- Improved model-picker selection behavior.
- Running models are visually distinguished from ordinary selected models.
- Added dedicated Speech-to-Text model designation and filtering.
- Added clearer feedback when no Speech-to-Text model is loaded.
- Restyled Speech-to-Text controls to match the current CE interface.
- Reorganized Account Settings into Instructions, Email, and Password tabs.
- Added the signed-in user's email directly to Account Settings.
- Clarified how System Instructions apply to subsequent browser chat requests.
- Added an Enabled only model filter to Analytics.
Password & Debug Hardening
v1.4 also tightens several administrative and validation paths.
- Password policy configuration is now bounded to 6 through 72 characters.
- Added validation for bcrypt's 72-byte UTF-8 input limit.
- Temporary-password generation follows the same boundary.
- Improved Debug response cleanup, validation, and safe client-facing error handling.
- Debug is now explicitly documented in source as an intentional supported CE feature.
Documentation Rebuilt
The LLM Controller CE documentation has been reorganized around a much simpler product-first experience.
The main README is now a concise overview, with detailed information moved into dedicated guides for:
- Chat, Projects, and Files
- Models
- Monitoring
- API
- Administration
- Voice
- Installation
v1.4 also adds a dedicated Local Voice Dictation setup guide, updates backup documentation for the new Project-aware JSON format, and refreshes documentation screenshots throughout the project.
Release Validation
v1.4 received repeated release-candidate testing and final read-only source audits.
Large backup imports, local Speech-to-Text operation, model controls, attachment limits, navigation during generation, streaming interruption handling, and the updated documentation set were all included in final validation.
The final release audit found no release-blocking issues.