I built a minimal chat interface specifically for testing and debugging local LLM setups. It’s a single HTML file – no installation, no backend, zero dependencies.
What it does:
Connects directly to any OpenAI-compatible endpoint (LM Studio, llama.cpp, Ollama or the known Cloud APIs) Shows you the complete message array as editable JSON Lets you manipulate messages retroactively (both user and assistant) Export/import conversations as standard JSON SSE streaming support with token rate metrics File/Vision support Works offline and runs directly from file system (no hosting needed)
Why I built this:
I got tired of the friction when testing prompt variants with local models. Most UIs either hide the message array entirely, or make it cumbersome to iterate on prompt chains. I wanted something where I could:
Send a message See exactly what the API sees (the full message array) Edit any message (including the assistant’s response) Send the next message with the modified context Export the whole thing as JSON for later comparison
No database, no sessions, no complexity. Just direct API access with full transparency.
How to use it:
Download the HTML file Set your API base URL (e.g., http://127.0.0.1:8080/v1) Click “Load models” to fetch available models Chat normally, or open the JSON editor to manipulate the message array
What it’s NOT:
This isn’t a replacement for OpenWebUI, SillyTavern, or other full-featured UIs. It has no persistent history, no extensions, no fancy features. It’s deliberately minimal – a surgical tool for when you need direct access to the message array.
Technical details:
Pure vanilla JS/CSS/HTML (no frameworks, no build process)
Native markdown rendering (no external libs)
Supports
Links:
Project URL (GitHub included): https://www.locallightai.com/scu More Infos: https://www.promptinjection.net/p/statelesschatui-a-single-html-file-llm-ai-api Open source, Apache 2.0 licensed
💬 Discussion r/LocalLLM (4 points, 0 commentaires)