Try the app online: https://dx2102.github.io/ooolchat/
This is a simple web app to call LLM APIs.
It aims to create a clean and fast UI baseline, while remaining a single-HTML file with vanilla JS.
Simply paste the code into LLMs to safety-check/customize it.
Main Goals:
- Concise, single-file code
- Easy to customize with LLMs or check for safety
- Design:
- Consistent layout and color (tailwind)
- Readable, high-contrast text
- Streaming output
- Multi-line input bar
- Markdown rendering (markdown-it)
- Code highlighting (highlight.js)
- Math rendering (katex)
- Store chat history locally (IndexedDB)
- Search bar
- Full text search
- Optimized DB operations
- Resize / Hide sidebar
- Responsive UI / Phone support
- CDN library caching
- Load large libraries in the background
- Auto-scrolling (disabled by default)
- Auto-focus
- Scroll chaining
- Memorize scrolling position
- Command+Click for a new window
- Copy button
- Correct LaTeX Copying
- Markdown tables
- Support the checklist syntax
- Skip CJK "Enter" button in input box
- Fix CJK characters bolding in markdown
- Delete / Pin / Rename chat
- Stop generation
- Edit message
- Retry
- Branching
- Allow parallel generation
- Change API Keys
- Manage models (api keys, base url, system prompts, temperature, top_p, max_tokens)
- Manage appearance (font, color, padding, darkmode preset)
- Slash commands
- Shortcut keys
- Export data
- Delete all images
- List and jump to messages
- Metadata (pricing, token count, raw json)
- Image uploads
- Show thinking trace
- Code Execution (WebAssembly)
- SVG / Mermaid rendering
- Print page