opencode
remotionui/opencodeFreeBlock
OpenCode TUI composer with agent and model status
Live preview
live · rendered by the registry
Rendered by remotionui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://remotionui.com/r/opencode.jsonSource
1import { loadFont } from "@remotion/google-fonts/JetBrainsMono";2import { AbsoluteFill, useCurrentFrame, useVideoConfig } from "remotion";3import {4 AI_TYPING_START_TUI,5 Caret,6 fadeUpAt,7 introBounceIn,8 stageScale,9 useTypewriter,10} from "@/remotion/lib/ai-composer-utils";1112const { fontFamily } = loadFont("normal", {13 weights: ["400", "600", "700"],14 subsets: ["latin"],15});1617export type OpencodeProps = {18 placeholder?: string;19 query?: string;20 agentName?: string;21 modelName?: string;22 provider?: string;23 accentColor?: string;24 theme?: "light" | "dark";25 speed?: number;26};2728type Theme = {29 page: string;30 boxBg: string;31 fg: string;32 fgMuted: string;33 fgQuery: string;34};3536export const THEMES: Record<"light" | "dark", Theme> = {37 light: {38 page: "#FFFFFF",39 boxBg: "#F2F2F2",40 fg: "#111111",41 fgMuted: "#888888",42 fgQuery: "#555555",43 },44 dark: {45 page: "#000000",46 boxBg: "#161616",47 fg: "#EDEDED",48 fgMuted: "#6B6B6B",49 fgQuery: "#9A9A9A",50 },51};5253const TYPING_CPS = 20;5455function Wordmark() {56 return (57 <svg width={468} height={84} viewBox="0 0 234 42" fill="none">58 <title>opencode</title>59 <clipPath id="opencode-wordmark-clip">60 <rect width={234} height={42} fill="#ffffff" />61 </clipPath>62 <g clipPath="url(#opencode-wordmark-clip)">63 <path d="M18 30H6V18H18V30Z" fill="#4B4646" />64 <path d="M18 12H6V30H18V12ZM24 36H0V6H24V36Z" fill="#B7B1B1" />65 <path d="M48 30H36V18H48V30Z" fill="#4B4646" />66 <path d="M36 30H48V12H36V30ZM54 36H36V42H30V6H54V36Z" fill="#B7B1B1" />67 <path d="M84 24V30H66V24H84Z" fill="#4B4646" />68 <path69 d="M84 24H66V30H84V36H60V6H84V24ZM66 18H78V12H66V18Z"70 fill="#B7B1B1"71 />72 <path d="M108 36H96V18H108V36Z" fill="#4B4646" />73 <path74 d="M108 12H96V36H90V6H108V12ZM114 36H108V12H114V36Z"75 fill="#B7B1B1"76 />77 <path d="M144 30H126V18H144V30Z" fill="#4B4646" />78 <path d="M144 12H126V30H144V36H120V6H144V12Z" fill="#F1ECEC" />79 <path d="M168 30H156V18H168V30Z" fill="#4B4646" />80 <path d="M168 12H156V30H168V12ZM174 36H150V6H174V36Z" fill="#F1ECEC" />81 <path d="M198 30H186V18H198V30Z" fill="#4B4646" />82 <path83 d="M198 12H186V30H198V12ZM204 36H180V6H198V0H204V36Z"84 fill="#F1ECEC"85 />86 <path d="M234 24V30H216V24H234Z" fill="#4B4646" />87 <path88// … truncated
More from remotionui
All 127 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| ai-composer-showcaseai-composer-showcase | remotionui | Blocks | Free | no deps | |
| ai-generation-canvasai-generation-canvas | remotionui | Blocks | Free | no deps | |
| animated-bar-chartanimated-bar-chart | remotionui | Blocks | Free | no deps | |
| audiogram-sceneaudiogram-scene | remotionui | Blocks | Free | no deps | |
| auto-fit-titleauto-fit-title | remotionui | Blocks | Free | no deps | |
| b-roll-stackb-roll-stack | remotionui | Blocks | Free | no deps | |
| bento-panbento-pan | remotionui | Blocks | Free | no deps | |
| browser-flowbrowser-flow | remotionui | Blocks | Free | no deps |
