DeepSeek chat-demo: Run the App UI in the Browser With No Backend DeepSeek published chat-demo, an MIT-licensed static chat client that calls api.deepseek.com directly from the browser with no application server, and the GitHub repository passed 2,500 stars in roughly three days after its November 12, 2026 creation date. The TypeScript, Rspack and pnpm project defaults to the deepseek-flash model via the Messages and Files APIs, stores API keys in localStorage and chats in IndexedDB, and ships features including SSE streaming, message branches, deep thinking, smart search, link reading, voice input, Mermaid rendering, and ZIP history import/export. DeepSeek positions chat-demo as a reference UI for the full application API suite it released on November 13, 2026, and builders can self-host the dist/ bundle or reconfigure the API origin through createConfig in rspack.config.ts. DeepSeek published chat-demo on GitHub — a static, MIT-licensed chat client that calls api.deepseek.com from the browser with no application server. The repository https://github.com/deepseek-ai/chat-demo?ref=explainx went from zero to more than 2,500 stars in roughly three days after its November 12, 2026 creation date. You can also open a hosted build https://deepseek-ai.github.io/chat-demo/?ref=explainx or a Release zip without running pnpm install . This guide explains what the UI includes , how storage works , and how it lines up with the November 13 application API drop https://explainx.ai/blog/deepseek-full-suite-application-apis-web-search-file-url-asr-tts-pricing-2026 . TL;DR | Piece | Detail from README, November 15, 2026 | |---|---| | License | MIT | | Stack | TypeScript , Rspack , pnpm | | Default API | https://api.deepseek.com | | Default model | deepseek-flash via Messages / Files APIs | | Backend required? | No — static site in dist/ | | Local data | localStorage for keys; IndexedDB for chats | | Notable features | Branches, deep think, search, link read, voice, Mermaid | What problem does chat-demo solve? Consumer chat apps hide protocol details — tool calls, branch pointers, speech endpoints. DeepSeek's README positions chat-demo as the reference skin for everything the API already exposes after the full application API release https://api-docs.deepseek.com/updates?ref=explainx . For builders comparing stacks: - You get a working reference for SSE streaming , message branches , and attachment upload without writing React from scratch. - You can fork the UI while keeping parity with DeepSeek pricing https://explainx.ai/blog/deepseek-full-suite-application-apis-web-search-file-url-asr-tts-pricing-2026 for search, URL read, and safety flags. - You can self-host the static bundle beside internal gateways using createConfig { apiOrigin, devServer } in rspack.config.ts . A terminal-style alternate path beside gears, illustrating the DeepSeek chat-demo static browser client for API chat Features listed in the README DeepSeek documents the following in the GitHub README https://github.com/deepseek-ai/chat-demo?ref=explainx : Conversations - Multiple chats with auto titles , rename, delete. - Edit prompts , regenerate , and switch message branches . Model capabilities - Streaming replies. - Deep thinking , smart search , link reading , and citations . - Stop generation or continue eligible replies. Input modalities - Upload, paste, or drag attachments . - Voice input and read aloud , with a mobile recording spectrum in the input row. Rendering - Markdown , syntax highlight, KaTeX , Mermaid . UX - English and Simplified Chinese , light/dark themes, mobile layouts, history import/export as ZIP. Those features assume the configured API implements DeepSeek extensions search , link reading , titles , latest reminder . That matches the same week’s API documentation refresh https://api-docs.deepseek.com/?ref=explainx . How to install and build Requirements: - Node.js 22.12+ - pnpm Commands from the README: git clone https://github.com/deepseek-ai/chat-demo.git cd chat-demo pnpm install pnpm dev Development serves http://localhost:8090 http://localhost:8090/?ref=explainx . Production: pnpm build Output lands in dist/ . You can deploy to any static host or open dist/index.html locally. The README warns that file:// use needs browser support for storage on local files and an API that allows the page’s origin. Maintenance scripts also include pnpm type , pnpm lint oxlint , and pnpm format oxfmt . Storage, privacy, and import/export The README is explicit about data boundaries: | Data | Where it lives | |---|---| | API key and settings | localStorage | | Conversations and attachment originals | IndexedDB | | Unsent drafts | Cleared when you delete all chats | Import/export uses ZIP archives. Import replaces all local conversations and attachments after validation. Exports include conversations and local image originals , but exclude API keys, settings, and non-image attachment originals . Delete all chats in Settings stops in-flight replies, wipes IndexedDB conversations and drafts, and keeps API keys and settings. Files already on DeepSeek’s servers are not deleted. That model is great for personal trials and poor for shared machines without disk encryption — the key is only as safe as the browser profile. Code layout The README tree: - src/app/ — layout, themes, global styles - src/components/ — chat, settings, Markdown UI - src/i18n/ — EN/ZH strings - src/services/api/ — requests, SSE, protocol types - src/services/chat/ — branches, storage, ZIP history - src/services/markdown/ — parsing and diagrams - src/services/speech/ — record and playback Speech uses separate ASR / TTS endpoints documented on DeepSeek’s pricing page, which we summarized in the application API post https://explainx.ai/blog/deepseek-full-suite-application-apis-web-search-file-url-asr-tts-pricing-2026 . Is DeepSeek chat-demo open source? Yes. The repo ships under MIT , copies LICENSE into dist/ , and lists third-party dependency licenses separately. That makes it distinct from closed consumer apps and from heavier self-hosted chat shells that need their own backend — except this one tracks DeepSeek-first protocol extensions in a static-only bundle. DeepSeek also documents a Chinese README README.zh-CN.md and a GitHub Actions workflow folder for CI. How it compares to other DeepSeek tooling | Option | When to use it | |---|---| | chat-demo | Official UI reference, static hosting, MIT fork base | | DeepSeek API only | Headless agents, your own front end | | DeepSeek V4.1 Flash weights https://explainx.ai/blog/deepseek-v4-1-flash-1017-open-weights-mit-terminal-bench-4-42-benchmarks-pricing-2026 | Self-host models; chat-demo still needs a compatible API | | Frontier comparison tables https://explainx.ai/blog/frontier-ai-models-compared-fable-5-2-gpt-6-astra-gemini-4-carbon-grok-4-7-kimi-k3-1-deepseek-2026 | Pick models, not UI shells | Stars ~2,524 on the trending card when candidates were collected show developer curiosity , not enterprise adoption. Treat the repo as documentation you can run , similar to how labs ship Claude Code skills https://explainx.ai/blog/claude-bughunter-red-team-skills-bug-bounty-github-install-2026 beside APIs. Troubleshooting local and static deploys The README flags three common failures: 1. file:// without storage — Browsers block or reset IndexedDB on some profiles. Prefer pnpm dev or a static host with HTTPS. 2. CORS from static hosting — Your dist/ origin must be allowed by the API gateway. For internal labs, set apiOrigin in createConfig to a same-site reverse proxy. 3. Missing API capabilities — Search, link read, and speech need server endpoints beyond bare chat completions. If a button does nothing, compare your deployment to the November 13 capability list https://explainx.ai/blog/deepseek-full-suite-application-apis-web-search-file-url-asr-tts-pricing-2026 . For teams already on DeepSeek Harness https://explainx.ai/blog/deepseek-harness-1-54-million-dau-creator-mode-marketplace-2026 , chat-demo is the lightweight fork-friendly alternative : no marketplace shell, just chat UX you can white-label. chat-demo versus Harness and raw API | Surface | Backend | Best for | |---|---|---| | chat-demo | Browser → DeepSeek API | Reference UI, MIT fork, static CDN | | Harness | DeepSeek product stack | Creator mode, marketplace, daily-driver app | | Raw API | Your server | Headless agents, compliance middleware | None of these replace open-weight self-host if your policy requires weights on prem — pair this client with V4.1 Flash on your GPUs https://explainx.ai/blog/deepseek-v4-1-flash-1017-open-weights-mit-terminal-bench-4-42-benchmarks-pricing-2026 only if you stand up a compatible API front. Forking for internal pilots Because the repo is MIT: - Replace branding in src/i18n and themes. - Point apiOrigin at Azure, Together, or Fireworks only if their proxy speaks the same extension headers DeepSeek documents — do not assume drop-in compatibility without integration tests. - Strip voice features if your SOC forbids microphone upload paths. Document those forks in internal runbooks the same way you would for Cursor or Claude desktop clients https://explainx.ai/blog/connect-myfitnesspal-apple-health-strava-to-claude-chatgpt-mcp-2026 talking to third-party APIs. Security and compliance checklist Before you paste production data into chat-demo: 1. Rotate keys if the browser profile is shared. 2. Read outbound traffic : attachments and voice audio go to DeepSeek’s configured API. 3. Check employer policy — especially US government contractors after DHS removal guidance https://explainx.ai/blog/dhs-orders-deepseek-removed-federal-civilian-agencies-procurement-ban-2026 cited in our API post. 4. Do not treat model safety flags as legal compliance ; DeepSeek’s docs say they are basic risk control, not a substitute for product-level review. Related reading What to watch on the repo roadmap With only two commits on main when we cloned, chat-demo is young . Stars moved fast because developers wanted a known-good UI the same week DeepSeek opened search and speech APIs. Expect rapid PRs around i18n , accessibility , and corporate SSO — none of which appear in v1. Watch these signals before you bet a product on a fork: - Release zips on GitHub — DeepSeek already ships downloadable archives for air-gapped trials. - Workflow YAML — CI will tell you whether DeepSeek treats this as a long-lived reference or a demo stub . - Issue velocity — attachment limits and speech errors are usually where first-wave users file bugs. If DeepSeek slows updates, you still own the MIT snapshot — but you inherit security patches for pnpm dependencies yourself. Measuring API spend while dogfooding chat-demo Because the client streams by default, it is easy to burn search and think tokens during casual testing. Add habits early: 1. Create a dev API key with spend caps in the DeepSeek console. 2. Turn off deep think until you need citations for a feature test. 3. Log per-conversation token estimates if you wire a corporate proxy — the README does not ship analytics. Compare spend against Small models comparison https://explainx.ai/blog/small-models-comparison-haiku-5-5-gpt-6-luna-deepseek-v4-1-flash-gemini-3-7-flash-glm-5-3-flash-2026 if you route the same UI at cheaper endpoints for internal staff. When this is the wrong tool Skip chat-demo if you need multi-tenant auth , audit logs on the server , or HIPAA-grade BAAs — this is a browser-trust architecture. Reach for Harness , Open WebUI with a backend , or your own Next.js shell instead. For agent benchmarks , keep using vals cyber range posts https://explainx.ai/blog/vals-ai-cyberoffense-gpt-6-sol-daybreak-deepseek-v4-1-flash-open-weight-cyber-range-2026 or internal harnesses; chat-demo does not evaluate models, it displays them. Is DeepSeek chat-demo open source? Yes — fully MIT on GitHub. Do you need a backend? No for the stock build; yes if your security team requires server-side key custody, centralized audit logs, or SSO. Star count and feature list follow the GitHub README as read on November 15, 2026. API behavior can change on DeepSeek’s side without a repo bump — check api-docs.deepseek.com https://api-docs.deepseek.com/?ref=explainx before you ship.