Open Design

Quickstart

Três comandos. Sem cadastro.

O Open Design tem um único ponto de entrada: pnpm tools-dev. O daemon cria sozinho uma pasta oculta .od/ pra DB SQLite de projetos e os artifacts por projeto. Não tem passo od init.

Requisitos

  • · Node ~24nvm install 24 && nvm use 24 ou fnm install 24 && fnm use 24
  • · pnpm 10.33.xcorepack enable && corepack pnpm --version
  • · Pelo menos um coding-agent CLI suportado no seu PATH — Claude Code, Codex, Cursor, Gemini, OpenCode, Qwen, Copilot, Devin, Hermes, Kimi, Kiro, Vibe ou Pi (ou nenhum, se for usar o proxy BYOK)

Três comandos

git clone https://github.com/nexu-io/open-design.git
cd open-design
corepack enable
pnpm install
pnpm tools-dev run web

Abra a URL web que o tools-dev imprime. Faça aparecer o diálogo de boas-vindas, cole uma chave da Anthropic (só precisa pro fallback BYOK), digite um prompt, dê Enviar.

Estado no primeiro start

O daemon é dono de uma única pasta oculta.

.od/
├── app.sqlite                 ← projetos · conversas · mensagens · abas abertas
├── artifacts/                 ← renders pontuais «Save to disk» (com timestamp)
└── projects/<id>/             ← diretório de trabalho por projeto, também o cwd do agente
Quero… Faça isso
Dar uma olhada no que tem ls -la .od && sqlite3 .od/app.sqlite '.tables'
Voltar à estaca zero pnpm tools-dev stop && rm -rf .od && pnpm tools-dev run web
Mover pra outro lugar Ainda não suportado — o caminho está hardcoded relativo ao repo

Comandos de ciclo de vida

Tudo sob pnpm tools-dev.

pnpm tools-dev start       # sobe daemon + web (em segundo plano)
pnpm tools-dev run web     # equivalente em primeiro plano
pnpm tools-dev stop        # para tudo
pnpm tools-dev status      # o que está rodando, onde
pnpm tools-dev logs        # tail dos logs daemon + web
pnpm tools-dev inspect     # IPC nos processos vivos
pnpm tools-dev check       # health checks

Pra start desktop / em segundo plano, restarts em portas fixas e detalhes do dispatcher de geração de mídia (OD_BIN, OD_DAEMON_URL), veja o QUICKSTART.md no GitHub.

Plataformas · v0.5.0

Três plataformas, três estados.

v0.5.0 fala franco onde cada plataforma tá agora. Escolhe a linha que combina com sua máquina.

PlataformaStatusNotas
macOS Estável Apple Silicon (arm64) só — sem build Intel. macOS 11 Big Sur ou mais novo.
Windows Estável · sem assinatura x64, Windows 10 / 11. SmartScreen avisa no primeiro lance — escolhe More info → Run anyway.
Linux Só headless Ciclo de vida CLI (install / start / stop) com suporte de primeira desde v0.5.0. Pacote GUI ainda não — encaixa em servidor e CI. Detalhe abaixo.

Linux · headless

Rodar Open Design num servidor sem DISPLAY.

v0.5.0 entrega um caminho de ciclo de vida sem gráficos. Sobe daemon e web numa caixa Linux headless e bate nele do navegador do notebook. Mesmo backend, só sem a casca de Electron na frente.

pnpm install
pnpm tools-pack linux install --headless   # configuração inicial
pnpm tools-pack linux start --headless      # daemon + web, sem Electron
pnpm tools-pack linux stop --headless
pnpm tools-pack linux logs                  # tail do log headless

Pacotes Apt, permissões de namespace e o detalhe do FUSE estão todos em tools/pack/README.md. Validado em Ubuntu 24.04 e Arch Linux. Veio na 0.5.0 via PR #686.

Auto-hospedagem · v0.5.0

Ou então como um único container.

v0.5.0 entrega um caminho oficial de Docker Compose. Uma imagem Alpine (docker.io/vanjayak/open-design). O daemon serve a API e o export estático Next.js já buildado de uma vez — sem nginx separado, sem container de frontend separado.

git clone https://github.com/nexu-io/open-design.git
cd open-design/deploy
OPEN_DESIGN_IMAGE=docker.io/vanjayak/open-design:latest docker compose pull
OPEN_DESIGN_IMAGE=docker.io/vanjayak/open-design:latest docker compose up -d --no-build
# → http://127.0.0.1:7456

Padrão: bind em 127.0.0.1:7456, teto de memória 384 MB, volume de runtime montado em /app/.od. Não exponha o daemon direto na interface pública — a API não tem auth pra clientes que não sejam navegador. Coloca na frente um reverse proxy autenticado, túnel SSH ou VPN. Documentação completa: deploy/README.md. A imagem não embarca os CLIs do Claude / Codex / Gemini de propósito — eles ficam fora do container.

Entregue seu primeiro artifact em três minutos.

Clonar o repo →