openpencil/README.es.md
Kayshen Xu bdf37908fd
V0.4.3 (#50)
* chore(ai): update dependencies and enhance logging functionality

- Bump version of `@github/copilot-sdk` and related packages to `0.1.32` and `1.0.7` for improved features and bug fixes.
- Update Discord invite links across multiple README files to the new server.
- Introduce a new logging utility in `server/utils/server-logger.ts` for better server process logging, including automatic log cleanup and directory management.
- Enhance the `connect-agent.ts` and `install-agent.ts` files to improve OpenCode binary resolution and installation commands.
- Refactor `resolve-claude-cli.ts` and `resolve-copilot-cli.ts` to include detailed logging for CLI binary resolution processes.

This update improves dependency management, enhances user experience with updated links, and provides better insights into server operations through logging.

* chore: bump version from 0.4.0 to 0.4.3 in package.json
2026-03-18 21:34:58 +08:00

13 KiB

OpenPencil

OpenPencil

La primera herramienta de diseño vectorial de código abierto nativa de IA del mundo.
Equipos de Agentes Concurrentes • Diseño como Código • Servidor MCP Integrado • Inteligencia Multimodelo

English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Français · Español · Deutsch · Português · Русский · हिन्दी · Türkçe · ไทย · Tiếng Việt · Bahasa Indonesia

Stars License CI Discord


OpenPencil — haz clic para ver la demostración

Haz clic en la imagen para ver el video de demostración


Por Qué OpenPencil

🎨 Prompt → Lienzo

Describe cualquier interfaz en lenguaje natural. Obsérvala aparecer en el lienzo infinito en tiempo real con animación de transmisión. Modifica diseños existentes seleccionando elementos y chateando.

🤖 Equipos de Agentes Concurrentes

El orquestador descompone páginas complejas en subtareas espaciales. Múltiples agentes de IA trabajan en diferentes secciones simultáneamente — hero, características, footer — todos transmitiendo en paralelo.

🧠 Inteligencia Multimodelo

Se adapta automáticamente a las capacidades de cada modelo. Claude recibe prompts completos con pensamiento; GPT-4o/Gemini desactivan el pensamiento; modelos más pequeños (MiniMax, Qwen, Llama) reciben prompts simplificados para una salida confiable.

🔌 Servidor MCP

Instalación con un clic en Claude Code, Codex, Gemini, OpenCode, Kiro o Copilot CLIs. Diseña desde tu terminal — lee, crea y modifica archivos .op a través de cualquier agente compatible con MCP.

📦 Diseño como Código

Los archivos .op son JSON — legibles por humanos, compatibles con Git, comparables. Las variables de diseño generan propiedades personalizadas CSS. Exportación de código a React + Tailwind o HTML + CSS.

🖥️ Funciona en Todas Partes

Aplicación web + escritorio nativo en macOS, Windows y Linux mediante Electron. Actualizaciones automáticas desde GitHub Releases. Asociación de archivos .op — doble clic para abrir.

Inicio Rápido

# Instalar dependencias
bun install

# Iniciar el servidor de desarrollo en http://localhost:3000
bun --bun run dev

O ejecutar como aplicación de escritorio:

bun run electron:dev

Requisitos previos: Bun >= 1.0 y Node.js >= 18

Despliegue con Docker

Hay varias variantes de imagen disponibles — elige la que se ajuste a tus necesidades:

Imagen Tamaño Incluye
openpencil:latest ~226 MB Solo aplicación web
openpencil-claude:latest + Claude Code CLI
openpencil-codex:latest + Codex CLI
openpencil-opencode:latest + OpenCode CLI
openpencil-copilot:latest + GitHub Copilot CLI
openpencil-full:latest ~1 GB Todas las herramientas CLI

Ejecutar (solo web):

docker run -d -p 3000:3000 ghcr.io/zseven-w/openpencil:latest

Ejecutar con AI CLI (ej. Claude Code):

El chat de IA depende del inicio de sesión OAuth de Claude CLI. Usa un volumen Docker para persistir la sesión de inicio de sesión:

# Paso 1 — Iniciar sesión (una sola vez)
docker volume create openpencil-claude-auth
docker run -it --rm \
  -v openpencil-claude-auth:/root/.claude \
  ghcr.io/zseven-w/openpencil-claude:latest claude login

# Paso 2 — Iniciar
docker run -d -p 3000:3000 \
  -v openpencil-claude-auth:/root/.claude \
  ghcr.io/zseven-w/openpencil-claude:latest

Compilar localmente:

# Base (solo web)
docker build --target base -t openpencil .

# Con un CLI específico
docker build --target with-claude -t openpencil-claude .

# Completa (todos los CLIs)
docker build --target full -t openpencil-full .

Diseño Nativo de IA

De Prompt a Interfaz

  • Texto a diseño — describe una página y se genera en el lienzo en tiempo real con animación de transmisión
  • Orquestador — descompone páginas complejas en subtareas espaciales para generación en paralelo
  • Modificación de diseño — selecciona elementos y describe los cambios en lenguaje natural
  • Entrada visual — adjunta capturas de pantalla o bocetos como referencia para el diseño

Soporte Multiagente

Agente Configuración
Claude Code Sin configuración — usa Claude Agent SDK con OAuth local
Codex CLI Conectar en Configuración de Agente (Cmd+,)
OpenCode Conectar en Configuración de Agente (Cmd+,)
GitHub Copilot copilot login y luego conectar en Configuración de Agente (Cmd+,)

Perfiles de Capacidad de Modelos — adapta automáticamente los prompts, el modo de pensamiento y los tiempos de espera según el nivel del modelo. Los modelos de nivel completo (Claude) reciben prompts completos; los de nivel estándar (GPT-4o, Gemini, DeepSeek) desactivan el pensamiento; los de nivel básico (MiniMax, Qwen, Llama, Mistral) reciben prompts simplificados de JSON anidado para máxima fiabilidad.

Servidor MCP

  • Servidor MCP integrado — instalación con un clic en Claude Code / Codex / Gemini / OpenCode / Kiro / Copilot CLIs
  • Detección automática de Node.js — si no está instalado, recurre automáticamente al transporte HTTP e inicia el servidor MCP HTTP
  • Automatización de diseño desde la terminal: leer, crear y modificar archivos .op a través de cualquier agente compatible con MCP
  • Flujo de diseño por capasdesign_skeletondesign_contentdesign_refine para diseños multisección de mayor fidelidad
  • Recuperación segmentada de prompts — carga solo el conocimiento de diseño que necesitas (schema, layout, roles, icons, planning, etc.)
  • Soporte multipágina — crear, renombrar, reordenar y duplicar páginas mediante herramientas MCP

Generación de Código

  • React + Tailwind CSS, HTML + CSS, CSS Variables
  • Vue, Svelte, Flutter, SwiftUI, Jetpack Compose, React Native

Características

Lienzo y Dibujo

  • Lienzo infinito con panorámica, zoom, guías de alineación inteligentes y ajuste
  • Rectángulo, Elipse, Línea, Polígono, Pluma (Bezier), Frame, Texto
  • Operaciones booleanas — unión, resta, intersección con barra de herramientas contextual
  • Selector de iconos (Iconify) e importación de imágenes (PNG/JPEG/SVG/WebP/GIF)
  • Diseño automático — vertical/horizontal con gap, padding, justify, align
  • Documentos multipágina con navegación por pestañas

Sistema de Diseño

  • Variables de diseño — tokens de color, número y texto con referencias $variable
  • Soporte multitema — múltiples ejes, cada uno con variantes (Claro/Oscuro, Compacto/Cómodo)
  • Sistema de componentes — componentes reutilizables con instancias y sobreescrituras
  • Sincronización CSS — propiedades personalizadas autogeneradas, var(--name) en la salida de código

Importación de Figma

  • Importa archivos .fig conservando diseño, rellenos, trazos, efectos, texto, imágenes y vectores

Aplicación de Escritorio

  • Compatible de forma nativa con macOS, Windows y Linux mediante Electron
  • Asociación de archivos .op — doble clic para abrir, bloqueo de instancia única
  • Actualización automática desde GitHub Releases
  • Menú de aplicación nativo y diálogos de archivo

Stack Tecnológico

Frontend React 19 · TanStack Start · Tailwind CSS v4 · shadcn/ui
Lienzo CanvasKit/Skia (WASM, acelerado por GPU)
Estado Zustand v5
Servidor Nitro
Escritorio Electron 35
IA Anthropic SDK · Claude Agent SDK · OpenCode SDK · Copilot SDK
Runtime Bun · Vite 7
Formato de archivo .op — basado en JSON, legible por humanos, compatible con Git

Estructura del Proyecto

src/
  canvas/          Motor CanvasKit/Skia — dibujo, sincronización, diseño, guías, herramienta pluma
  components/      Interfaz React — editor, paneles, diálogos compartidos, iconos
  services/ai/     Chat de IA, orquestador, generación de diseño, transmisión
  services/figma/  Pipeline de importación binaria de Figma .fig
  services/codegen Generadores de código React+Tailwind y HTML+CSS
  stores/          Zustand — lienzo, documento, páginas, historial, IA, configuración
  variables/       Resolución de tokens de diseño y gestión de referencias
  mcp/             Herramientas del servidor MCP para integración con CLI externas
  uikit/           Sistema de kit de componentes reutilizables
server/
  api/ai/          API Nitro — chat en streaming, generación, validación
  utils/           Wrappers de cliente Claude CLI, OpenCode, Codex, Copilot
electron/
  main.ts          Ventana, fork Nitro, menú nativo, actualizador automático
  preload.ts       Puente IPC

Atajos de Teclado

Tecla Acción Tecla Acción
V Seleccionar Cmd+S Guardar
R Rectángulo Cmd+Z Deshacer
O Elipse Cmd+Shift+Z Rehacer
L Línea Cmd+C/X/V/D Copiar/Cortar/Pegar/Duplicar
T Texto Cmd+G Agrupar
F Frame Cmd+Shift+G Desagrupar
P Herramienta pluma Cmd+Shift+E Exportar
H Mano (panorámica) Cmd+Shift+C Panel de código
Del Eliminar Cmd+Shift+V Panel de variables
[ / ] Reordenar Cmd+J Chat de IA
Flechas Mover 1px Cmd+, Configuración de agente
Cmd+Alt+U Unión booleana Cmd+Alt+S Resta booleana
Cmd+Alt+I Intersección booleana

Scripts

bun --bun run dev          # Servidor de desarrollo (puerto 3000)
bun --bun run build        # Compilación de producción
bun --bun run test         # Ejecutar pruebas (Vitest)
npx tsc --noEmit           # Verificación de tipos
bun run electron:dev       # Desarrollo con Electron
bun run electron:build     # Empaquetado de Electron

Contribuir

¡Las contribuciones son bienvenidas! Consulta CLAUDE.md para detalles sobre la arquitectura y el estilo de código.

  1. Haz fork y clona el repositorio
  2. Crea una rama: git checkout -b feat/my-feature
  3. Ejecuta las verificaciones: npx tsc --noEmit && bun --bun run test
  4. Haz commit con Conventional Commits: feat(canvas): add rotation snapping
  5. Abre un PR contra main

Hoja de Ruta

  • Variables de diseño y tokens con sincronización CSS
  • Sistema de componentes (instancias y sobreescrituras)
  • Generación de diseño con IA y orquestador
  • Integración con servidor MCP con flujo de diseño por capas
  • Soporte multipágina
  • Importación de Figma .fig
  • Operaciones booleanas (unión, sustracción, intersección)
  • Perfiles de capacidad multimodelo
  • Edición colaborativa
  • Sistema de plugins

Colaboradores

Contributors

Star History

Star History Chart

Comunidad

Discord Únete a nuestro Discord — Haz preguntas, comparte diseños y sugiere funciones.