← all repositories
OvidijusParsiunas/deep-chat

A chat widget that actually talks, listens, and runs LLMs in-browser

Deep Chat is a framework-agnostic component that drops AI chat into any site with one HTML tag, no backend required.

3.6k stars TypeScript Chat AssistantsApp Builders
deep-chat
Velocity · 7d
+3.0
★ / day
Trend
steady
star history

What it does

Deep Chat is a web component that renders a full-featured AI chat interface. Drop <deep-chat> into React, Vue, Svelte, Angular, Solid, Next.js, or plain HTML and you get message history, file uploads, webcam capture, voice input/output, and markdown rendering. It connects to 20+ APIs (OpenAI, Claude, Gemini, DeepSeek, Ollama, etc.) either through your own backend or—for quick demos—directly from the browser.

The interesting bit

The component is built as a standard web component, so it survives framework churn; the React wrapper is just a thin binding. More unusually, it can host an LLM entirely in the browser via webModel="true" using the companion deep-chat-web-llm module—no server, no API key, no network. The speech-to-speech pipeline (OpenAI Realtime API) and focus mode (showing only latest messages) suggest the author actually uses this for real conversational UIs, not just text boxes.

Key highlights

  • One-line install: <deep-chat> or npm install deep-chat-react
  • Direct browser connections to 20+ AI APIs for prototyping; proxy via request for production
  • Browser-hosted LLMs via deep-chat-web-llm module
  • Speech-to-text, text-to-speech, and speech-to-speech (OpenAI Realtime)
  • Camera, microphone, file upload, and markdown with custom HTML wrappers
  • browserStorage persists messages and scroll state locally
  • llms.txt file provided for AI-assisted installation

Caveats

  • Direct API connections from the browser expose keys; the README explicitly warns this is “local/prototyping/demo purposes ONLY”
  • The README contains a typo (browserStoarage in the 2.4.0 notes) that suggests either a hurried release or a copy-paste artifact
  • Custom backend integration requires matching Deep Chat’s request/response formats or writing interceptors

Verdict

Worth a look if you need a polished chat UI yesterday and don’t want to rebuild message bubbles for the nth time. Skip it if you need deep customization of the underlying LLM pipeline or if your security model can’t tolerate even prototype key exposure.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.