OpenCode può davvero gestire il lavoro di design?
Sì — con una skill estetica, un design system e immagini di riferimento reali nel contesto, OpenCode produce UI responsive di qualità production e può verificarla in un browser. Essendo model-agnostic, può eseguire qualsiasi modello attualmente migliore per il frontend. Senza questo contesto curato, tende a produrre un aspetto generico, e questo è il vuoto che OpenDesign colma.
Quale modello dovrei usare con OpenCode per il design?
Quello che preferisce — OpenCode è provider-agnostic tramite models.dev, quindi può eseguire Anthropic, OpenAI, Google, OpenRouter o modelli locali nello stesso workflow e cambiare in qualsiasi momento. La qualità del risultato di design dipende molto più dalla skill, dal design system e dai riferimenti che dal modello in sé.
OpenDesign è realizzato dal team di OpenCode (SST)?
No. OpenDesign è un progetto open-source indipendente che integra OpenCode come agente. Completa OpenCode con una libreria di skill e design system open e local-first.
È necessario un abbonamento speciale per progettare con OpenCode?
No — OpenCode è BYOK. Porta la propria API key del provider del modello, e OpenDesign non fa mai da proxy per le sue credenziali. Non c'è alcun vendor lock-in.
OpenCode, Codex o Claude Code per il design frontend?
Tutti sono validi, e molti team li combinano. Il vantaggio di OpenCode è essere completamente open-source e model-agnostic; Codex eccelle nelle build delegate e sandboxed; Claude Code è noto per decisioni di design specifiche e consapevoli della codebase. OpenDesign le consente di cambiare agente senza modificare il proprio workflow di design.
Che cos'è OpenCode, esattamente
OpenCode è un agente di coding AI open-source pensato per il terminale, mantenuto dal team dietro SST (Anomaly Innovations). Legge il tuo repository, esegue comandi, modifica file e dialoga con un large language model — ma a differenza degli agenti legati a un fornitore, non include un modello proprio. Lo indirizzi verso il provider e il modello che vuoi, portando la tua chiave.
Funziona come terminal UI (TUI), con un'app desktop ed estensioni IDE sopra lo stesso motore. Sotto il cofano usa un'architettura client/server, così l'agente che svolge il lavoro è disaccoppiato dalla superficie da cui lo governi. Due agenti integrati — build e plan — si alternano con il tasto Tab.
Indipendente dal modello: modelli e provider provengono da models.dev, un catalogo aperto. Li configuri in opencode.json con una stringa provider/model-id e puoi disattivare i provider che non vuoi caricare — così lo stesso flusso di lavoro di design gira su Anthropic, OpenAI, Google, OpenRouter, modelli locali e altro ancora.
File di istruzioni: OpenCode legge un file AGENTS.md nel tuo progetto (lo standard cross-tool, compatibile anche con CLAUDE.md) per le regole di progetto — il luogo naturale dove codificare le tue convenzioni di design. Esegui /init per generarne uno.
Estensibile: supporta l'integrazione LSP, i server MCP, temi, keybind e comandi personalizzati, oltre a link di sessione condivisibili per la collaborazione.
Maintainer: SST / Anomaly Innovations (progetto open-source)
Credenziali: le tue chiavi API del provider di modelli — BYOK, nessun vendor lock-in
Licenza: MIT, open source
Perché un agente aperto e indipendente dal modello si adatta al lavoro di design
OpenCode non ha un singolo “modello di design” come ce l'ha un agente di un fornitore — e questo è il punto. Poiché è indipendente dal modello e aperto, puoi eseguire lo stesso flusso di lavoro di design sul modello che al momento è il migliore per il frontend, cambiarlo più tardi o ripiegare su un modello locale, tutto senza modificare la tua configurazione.
Ma la sola scelta del modello non compra il gusto. Come ogni agente di coding, OpenCode produce UI generica se non gli dai dei vincoli. Un buon output di design nasce da tre input che fornisci tu.
Un design system: token, primitive e convenzioni reali che l'agente riutilizza, così l'output rispecchia un brand invece di ripiegare su un aspetto generico.
Una skill estetica: una skill curata che impone vero gusto — movimento misurato, gerarchia brand-first, al massimo due caratteri tipografici e un colore d'accento — e fa sì che l'agente si impegni su una direzione prima di costruire.
Riferimenti concreti: immagini di riferimento reali e più stati (desktop e mobile, hover, vuoto, caricamento), non un singolo hero shot.
Il gusto nasce da tre input che fornisci tu: un design system, una skill e immagini di riferimento reali — indipendentemente dal modello che usi.
La lezione: OpenCode ti dà libertà sul modello, ma il gusto nasce comunque da un contesto di design curato. OpenDesign impacchetta esattamente quegli input, ed è per questo che i due si integrano bene — entrambi sono open-source e local-first (altro più avanti).
Configurare OpenCode per il design partendo da zero
La sequenza di configurazione: installazione → autenticazione (la tua chiave del provider) → configurazione di AGENTS.md → aggiunta di una skill → verifica in un browser reale.
Codifica le tue regole di design: metti i tuoi token, le primitive e le convenzioni in AGENTS.md (o in un DESIGN.md richiamato da esso) così l'output rispecchia un brand invece di ripiegare su un aspetto generico. L'opzione instructions in opencode.json può puntare a file di regole aggiuntivi tramite glob.
Scegli un modello capace: poiché OpenCode è indipendente dal modello, scegli il provider/modello che al momento è il più forte sul frontend per la passata di design — e mantieni invariato il resto del tuo flusso di lavoro.
Usa la sezione sulla configurazione attuale per i comandi e i dettagli specifici della versione, che possono cambiare.
# 1. Install OpenCode
curl -fsSL https://opencode.ai/install | bash
# or: npm i -g opencode-ai@latest
# or: brew install sst/tap/opencode
# 2. Start the TUI in your project, then authenticate your provider
opencode # then run /login and pick your provider + paste your key
# 3. Generate project context
opencode # inside your project, run /init to create AGENTS.md
# 4. Pick your model (any provider, via models.dev)
# set "provider/model-id" in opencode.json or switch in the TUI
# 5. Add an MCP server (optional, e.g. for design handoff)
# configure it under the "mcp" key in opencode.json
Esempio di comando storico tratto dalla guida precedente; verifica la sintassi attuale nella documentazione del fornitore linkata.
Flusso di lavoro da screenshot a UI in OpenCode
Il ciclo di design con la leva più alta con qualsiasi agente consiste nel trasformare un'immagine di riferimento in una UI funzionante e responsive, iterando finché non combacia. La stessa struttura in cinque passaggi vale in OpenCode.
Parti dai riferimenti visivi più chiari che hai — e includi più stati (desktop e mobile, hover, vuoto, caricamento), non solo un hero shot.
Sii specifico nel prompt; i prompt vaghi producono UI generica.
Prepara un design system e indica a OpenCode dove vivono i token e le primitive canoniche (in AGENTS.md).
Avvia un dev server e fai renderizzare l'agente in un browser reale, ridimensionando ai breakpoint per controllare il risultato.
Itera facendo confrontare a OpenCode la propria implementazione con gli screenshot — non limitandoti a confermare che compila.
Fai riferimento ai file con @ nella TUI per una ricerca fuzzy della tua working directory, esegui comandi shell inline con un ! iniziale e aziona le azioni con i comandi /. Poi fornisci un prompt con vincoli concreti:
Mantieni i prompt piccoli e mirati, committa le iterazioni buone e annulla quelle cattive (dicendo a OpenCode quando annulli), così ogni passata parte da una base pulita.
opencode
# in the TUI:
> @reference-desktop.png @reference-mobile.png
Implement this design in React + Vite + Tailwind + TypeScript.
Reuse my existing design-system components and tokens from AGENTS.md.
Match spacing, layout, and hierarchy; make it responsive.
Run the dev server, open it in a browser, and iterate until the
UI matches the references across breakpoints.
Esempio di comando storico tratto dalla guida precedente; verifica la sintassi attuale nella documentazione del fornitore linkata.
AGENTS.md, MCP e sessioni condivisibili
Tre punti di estensione rendono OpenCode pratico per un lavoro di design continuativo, e tutti e tre si mappano in modo pulito su un flusso di lavoro di design aperto.
Regole in AGENTS.md: le regole di progetto vivono in un AGENTS.md nella radice del repo (o regole globali in ~/.config/opencode/AGENTS.md). È la casa duratura delle tue convenzioni di design, letto a ogni esecuzione, ed è compatibile con i file CLAUDE.md usati da altri agenti.
Server MCP: OpenCode supporta sia i server MCP locali (command) sia quelli remoti (URL), configurati sotto la chiave mcp — il modo portabile per introdurre contesto di design e strumenti esterni che funzionano tra agenti diversi, non solo in OpenCode.
Sessioni condivisibili: il comando /share crea un link pubblico a una conversazione per collaborazione o revisione, e /unshare lo revoca — utile per ottenere feedback su una passata di design.
Queste sono capacità portabili e multi-agente — esattamente il tipo di cose che OpenDesign è costruito per orchestrare, invece di ricrearle progetto per progetto.
OpenCode vs Codex vs Claude Code vs Cursor per il design
Non esiste un unico vincitore per il lavoro di design — ogni agente ha un punto di forza diverso, e i team esperti li combinano. Un riepilogo equo:
OpenCode — Open-source e indipendente dal modello; esegui qualsiasi provider dietro un unico flusso di lavoro da terminale — libertà BYOK, cambio di modello, configurazioni completamente aperte e local-first
Codex — Forte rifinitura visiva con una skill per il frontend; comprensione delle immagini — Build asincrone delegate, build in sandbox, regole AGENTS.md portabili
Claude Code — Decisioni di design specifiche (hex, spaziatura, tipografia) e UX consapevole del codebase — Ragionamento sul frontend e refactoring su contesti ampi
Cursor — Ciclo visuale costruisci-e-vedi con anteprima live e modifiche inline — Lavoro di UI serrato di iterazione e osservazione dentro un IDE
Il verdetto ricorrente della community è che il gusto viene dagli esseri umani: tutti quanti ripiegano su un'estetica generica senza skill, riferimenti e vincoli. Questo è il vero problema da risolvere — ed è un problema di forma degli strumenti di design, non dei modelli, ed è proprio per questo che un agente aperto come OpenCode si abbina così bene a uno strato di design aperto.
Agente — Punti di forza nel design — Ideale per
Insidie ed evitare l'aspetto da “AI Slop”
La lamentela più comune sul design generato dall'AI è che sembra generico — gradienti tenui, pannelli fluttuanti, angoli arrotondati sovradimensionati, ombre drammatiche, un'atmosfera Inter-e-viola che “urla che l'ha fatto un'AI”. Altri problemi segnalati includono layout mobile rotti e istruzioni che finiscono nel copy della UI. Nessuno di questi è esclusivo di OpenCode; sono ciò che accade quando qualsiasi agente gira senza un contesto di design curato.
Aggiungi una skill estetica: una skill di design curata obbliga l'agente a impegnarsi su una direzione reale invece che sull'aspetto predefinito.
Verifica in un browser reale: renderizza e autocontrolla attraverso i breakpoint, così i layout non si rompono silenziosamente su mobile.
Fornisci token e riferimenti: token di design reali e screenshot di riferimento sono la singola leva più grande sulla qualità dell'output.
Codifica le regole in AGENTS.md: metti regole nello stile “niente hero card, massimo due caratteri tipografici, gerarchia brand-first” dove l'agente le legge a ogni esecuzione.
Nota che ogni mitigazione consiste nel dare all'agente un contesto di design curato — indipendentemente dal modello che usi. Mantenere quel contesto a mano, progetto per progetto, è la fatica che OpenDesign elimina.
Progettare con OpenCode dentro OpenDesign
OpenDesign è lo strato di design open-source che il flusso di lavoro sopra continua a richiedere. Tratta OpenCode come adapter first-party e lo avvolge in una skill curata e una libreria di design system, una pipeline di rendering strutturata e una UI desktop locale — così il contesto di design che rende buono qualsiasi agente c'è fin dalla prima esecuzione, invece di essere montato a mano ogni volta. Entrambi i progetti sono open-source e local-first, il che rende l'abbinamento naturale.
Autenticati con la tua chiave API del provider di modelli (BYOK) — le credenziali restano sulla tua macchina e non passano mai attraverso di noi.
Scegli qualsiasi provider e modello, più un design system e una skill, poi genera presentazioni, prototipi e landing page con un gusto coerente.
Ogni artefatto e ogni file DESIGN.md vive nel tuo repo, non in un cloud ospitato.
Lo stesso agente OpenCode, la stessa libertà di modello — più un flusso di lavoro di design reale, portabile e open-source attorno a esso. È local-first e Apache-2.0, quindi nulla del tuo lavoro o delle tue credenziali lascia la tua macchina.
Installa OpenDesign e seleziona OpenCode come tuo agente.
Quale OpenCode è questo?
L'agente open-source da terminale su github.com/anomalyco/opencode (precedentemente sst/opencode), mantenuto da Anomaly. Da non confondere con strumenti dal nome simile.
OpenDesign è lo stesso progetto di OpenCode?
No. Entrambi sono open-source, ma sono progetti separati. OpenDesign integra OpenCode come adapter di agente first-party.