LocalMode

registry.directory/LocalMode-AI/LocalMode

Local-first AI UI registry: copy-owned primitives and composed blocks (chat, RAG, transcription, CLIP search) that run entirely in the browser. No servers, no API keys.

4 types147 items
Install

npx shadcn@latest add https://localmode.ai/r/ui/local-first/device-badge.json

# works for any of the 147 items in this registry

Featured

component

ui/local-first/device-badge

A local-first capability badge. Detects WebGPU / WASM / IndexedDB support via a bundled useCapabilities() hook (copy-owned, reads navigator — no @localmode dependency) and renders a themed status pill. Use it to gate model-download UIs behind device support.

component

ui/artifacts/artifact

A Claude-style docked side-panel/canvas shell (header, title, description, copy/download/refresh/close toolbar, scrollable content) that renders generated code, docs, SVG, or HTML beside the chat. Presentational — driven by a local model via useGenerateText/useGenerateObject. No server, no sandbox.

component

ui/audio/waveform-activity-bars

A pure-CSS row of pulsing vertical bars (sinusoid-derived heights, staggered animation) that doubles as an active audio-processing indicator and an idle empty-state. Supports agent-state modes (connecting/listening/thinking/speaking), record/playback-scrub modes, and a live-volume mode that scales amplitude from a callback — decoupling the visual from the audio source. Ships its keyframe inline so it animates standalone after install.

component

ui/conversation/conversation

Scrollable message-display surface with first-class scroll-anchoring: auto-pins to the newest content while tokens stream, releases on scroll-up with a scroll-to-bottom control, and re-pins on return. Presentational; renders useChat().messages.

block

ui/blocks/chat

The flagship on-device chat: a 76-model multi-provider selector (transformers, WebLLM, wllama GGUF, LiteRT) with capability gating, vision attachments, DeepSeek-R1 reasoning display, semantic response caching, agent mode with tools, custom GGUF URLs, system prompt + parameter controls, and slash commands — everything runs in the browser.

component

ui/data-documents/file-dropzone

A generic, format-agnostic drag-and-drop + click-to-browse upload zone for non-image files (PDF/CSV/JSON/vector exports). Validates each file with a bundled validateFile helper (copy-owned — no @localmode dependency) against an accept MIME list and maxSize, emitting only valid files via onUpload; rejected files go to onReject. Disabled/processing overlay blocks input. Distinct from media-vision's MediaDropzone (no image-preview semantics).

Browse by type

Tags

blocks37local-first25conversation24audio16results12input11media-vision7data5security5artifacts4devtools4writing-tools4text-insights4knowledge4photo4internal3image-studio3device3vision2privacy2agents2chat1devtools-drawer1text1