MCPcopy
hub / github.com/ZSeven-W/openpencil

github.com/ZSeven-W/openpencil @v0.7.5 sqlite

repository ↗ · DeepWiki ↗ · release v0.7.5 ↗
4,245 symbols 12,217 edges 816 files 583 documented · 14%
README

OpenPencil

OpenPencil

Dünyanın ilk açık kaynaklı AI-yerel vektör tasarım aracı.

Eşzamanlı Ajan Ekipleri • Kod Olarak Tasarım • Yerleşik MCP Sunucusu • Çoklu Model Zekası

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

Stars License CI Discord

OpenPencil — demo videosunu izlemek için tıklayın

Demo videosunu izlemek için görsele tıklayın

Not: Aynı ada sahip başka bir açık kaynak proje bulunmaktadır — OpenPencil, Figma uyumlu görsel tasarım ve gerçek zamanlı iş birliğine odaklanmaktadır. Bu proje, AI-native tasarımdan koda iş akışlarına odaklanmaktadır.

Neden OpenPencil

### 🎨 Prompt → Kanvas Herhangi bir arayüzü doğal dilde tanımlayın. Gerçek zamanlı akış animasyonuyla sonsuz kanvasta belirmesini izleyin. Öğeleri seçip sohbet ederek mevcut tasarımları düzenleyin. ### 🤖 Eşzamanlı Ajan Ekipleri Orkestratör, karmaşık sayfaları uzamsal alt görevlere ayırır. Birden fazla AI ajanı farklı bölümlerde eşzamanlı çalışır — hero, özellikler, footer — hepsi paralel olarak akış halinde.
### 🧠 Çoklu Model Zekası Her modelin yeteneklerine otomatik olarak uyum sağlar. Claude tam promptlar ve düşünme modu alır; GPT-4o/Gemini'de düşünme modu devre dışı bırakılır; küçük modeller (MiniMax, Qwen, Llama) güvenilir çıktı için basitleştirilmiş promptlar alır. ### 🔌 MCP Sunucusu Claude Code, Codex, Gemini, OpenCode, Kiro veya Copilot CLI'larına tek tıkla kurulum. Terminalinizden tasarım yapın — herhangi bir MCP uyumlu ajan aracılığıyla `.op` dosyalarını okuyun, oluşturun ve düzenleyin.
### 📦 Kod Olarak Tasarım `.op` dosyaları JSON formatındadır — insan tarafından okunabilir, Git dostu, diff edilebilir. Tasarım değişkenleri CSS özel özellikleri üretir. React + Tailwind veya HTML + CSS olarak kod dışa aktarımı. ### 🖥️ Her Yerde Çalışır Web uygulaması + Electron ile macOS, Windows ve Linux'ta yerel masaüstü. GitHub Releases'ten otomatik güncelleme. `.op` dosya ilişkilendirmesi — açmak için çift tıklayın.
### ⌨️ CLI — `op` Tasarım aracını terminalinizden kontrol edin. `op design`, `op insert` — toplu tasarım DSL, düğüm manipülasyonu. Dosyalardan veya stdin'den pipe ile besleyin. Masaüstü uygulama veya web sunucusuyla çalışır. ### 🎯 Çok Platformlu Kod Dışa Aktarımı Tek bir `.op` dosyasından React + Tailwind, HTML + CSS, Vue, Svelte, Flutter, SwiftUI, Jetpack Compose, React Native'e dışa aktarın. Tasarım değişkenleri CSS özel özelliklerine dönüşür.

Hızlı Başlangıç

# Bağımlılıkları yükle
bun install

# http://localhost:3000 adresinde geliştirme sunucusunu başlat
bun --bun run dev

Ya da masaüstü uygulaması olarak çalıştırın:

bun run electron:dev

Ön koşullar: Bun >= 1.0 ve Node.js >= 18

Docker

Birden fazla görüntü varyantı mevcuttur — ihtiyaçlarınıza uygun olanı seçin:

Görüntü Boyut İçerik
openpencil:latest ~226 MB Yalnızca web uygulaması
openpencil-claude:latest + Claude Code CLI
openpencil-codex:latest + Codex CLI
openpencil-opencode:latest + OpenCode CLI
openpencil-copilot:latest + GitHub Copilot CLI
openpencil-gemini:latest + Gemini CLI
openpencil-full:latest ~1 GB Tüm CLI araçları

Çalıştır (yalnızca web):

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

AI CLI ile çalıştır (ör. Claude Code):

AI sohbeti Claude CLI OAuth girişine bağlıdır. Giriş oturumunu kalıcı hale getirmek için bir Docker hacmi kullanın:

# Adım 1 — Giriş (tek seferlik)
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

# Adım 2 — Başlat
docker run -d -p 3000:3000 \
  -v openpencil-claude-auth:/root/.claude \
  ghcr.io/zseven-w/openpencil-claude:latest

Yerel olarak derle:

# Temel (yalnızca web)
docker build --target base -t openpencil .

# Belirli bir CLI ile
docker build --target with-claude -t openpencil-claude .

# Tam (tüm CLI'lar)
docker build --target full -t openpencil-full .

AI Destekli Tasarım

Prompttan UI'ye

  • Metinden tasarıma — bir sayfayı tanımlayın, gerçek zamanlı akış animasyonuyla kanvasta oluşturulsun
  • Orkestratör — karmaşık sayfaları paralel üretim için uzamsal alt görevlere ayırır
  • Tasarım değişikliği — öğeleri seçin, ardından değişiklikleri doğal dille tanımlayın
  • Görsel girdi — referans tabanlı tasarım için ekran görüntüleri veya maketler ekleyin

Çok Ajanlı Destek

Ajan Kurulum
Yerleşik (9+ sağlayıcı) Sağlayıcı ön ayarlarından seçin ve bölge değiştirin — Anthropic, OpenAI, Google, DeepSeek ve daha fazlası
Claude Code Yapılandırma gerekmez — yerel OAuth ile Claude Agent SDK kullanır
Codex CLI Ajan Ayarlarından bağlanın (Cmd+,)
OpenCode Ajan Ayarlarından bağlanın (Cmd+,)
GitHub Copilot copilot login ardından Ajan Ayarlarından bağlanın (Cmd+,)
Gemini CLI Ajan Ayarlarından bağlanın (Cmd+,)

Model Yetenek Profilleri — promptları, düşünme modunu ve zaman aşımlarını model katmanına göre otomatik olarak uyarlar. Tam katman modeller (Claude) eksiksiz promptlar alır; standart katman (GPT-4o, Gemini, DeepSeek) düşünme modunu devre dışı bırakır; temel katman (MiniMax, Qwen, Llama, Mistral) maksimum güvenilirlik için basitleştirilmiş iç içe JSON promptları alır.

i18n — 15 dilde tam arayüz yerelleştirmesi: English, 简体中文, 繁體中文, 日本語, 한국어, Français, Español, Deutsch, Português, Русский, हिन्दी, Türkçe, ไทย, Tiếng Việt, Bahasa Indonesia.

MCP Sunucusu

  • Yerleşik MCP sunucusu — Claude Code / Codex / Gemini / OpenCode / Kiro / Copilot CLI'larına tek tıkla kurulum
  • Otomatik Node.js algılama — kurulu değilse otomatik olarak HTTP aktarımına geçer ve MCP HTTP sunucusunu otomatik başlatır
  • Terminalden tasarım otomasyonu: herhangi bir MCP uyumlu ajan aracılığıyla .op dosyalarını okuyun, oluşturun ve düzenleyin
  • Katmanlı tasarım iş akışı — daha yüksek kaliteli çok bölümlü tasarımlar için design_skeletondesign_contentdesign_refine
  • Bölümlenmiş prompt alımı — yalnızca ihtiyacınız olan tasarım bilgisini yükleyin (şema, düzen, roller, simgeler, planlama vb.)
  • Çok sayfa desteği — MCP araçları ile sayfaları oluşturun, yeniden adlandırın, sıralayın ve çoğaltın

Kod Üretimi

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

CLI — op

Global olarak yükleyin ve tasarım aracını terminalinizden kontrol edin:

npm install -g @zseven-w/openpencil
op start                     # Masaüstü uygulamayı başlat
op design @landing.txt       # Dosyadan toplu tasarım
op insert '{"type":"RECT"}'  # Bir düğüm ekle
op import:figma design.fig   # Figma dosyasını içe aktar
cat design.dsl | op design - # stdin'den pipe ile besle

Üç giriş yöntemini destekler: satır içi metin, @filepath (dosyadan oku) veya - (stdin'den oku). Masaüstü uygulama veya web geliştirme sunucusuyla çalışır. Tam komut referansı için CLI README dosyasına bakın.

LLM BecerisiOpenPencil Skill eklentisini kurarak AI ajanlarına (Claude Code, Cursor, Codex, Gemini CLI vb.) op ile tasarım yapmayı öğretin.

Özellikler

Kanvas ve Çizim

  • Kaydırma, yakınlaştırma, akıllı hizalama kılavuzları ve yakalamayı destekleyen sonsuz kanvas
  • Dikdörtgen, Elips, Çizgi, Çokgen, Kalem (Bezier), Frame, Metin
  • Boolean işlemler — bağlamsal araç çubuğuyla birleştir, çıkar, kesiştir
  • Simge seçici (Iconify) ve görsel içe aktarma (PNG/JPEG/SVG/WebP/GIF)
  • Otomatik düzen — boşluk, dolgu, justify, align ile dikey/yatay
  • Sekme navigasyonlu çok sayfalı belgeler

Tasarım Sistemi

  • Tasarım değişkenleri — $variable referanslı renk, sayı, metin tokenları
  • Çok tema desteği — birden fazla tema ekseni, her biri varyantlarıyla (Açık/Koyu, Kompakt/Rahat)
  • Bileşen sistemi — örnekler ve geçersiz kılmalarla yeniden kullanılabilir bileşenler
  • CSS senkronizasyonu — otomatik oluşturulan özel özellikler, kod çıktısında var(--name)
  • Yeniden kullanılabilir UIKit'ler — .pen dosyalarından bileşen kitlerini içe/dışa aktarın

AI ve Ajanlar

  • Akışlı üretim ve orkestratör güdümlü uzamsal ayrıştırma ile prompt-to-canvas
  • Eşzamanlı Ajan Ekipleri — birden çok tasarımcı farklı bölümler üzerinde paralel çalışır, üye başına kanvas göstergeleri ile
  • Katmanlı iş akışı — design_skeletondesign_contentdesign_refine, her aşamada odaklı prompt'lar
  • Stil Rehberleri — 50+ yerleşik stil (glassmorphism, brutalist, retro vb.), etiket tabanlı bulanık eşleştirme ile planlama ve üretime entegre
  • Çoklu model yetenek profilleri — model katmanına göre düşünme modunu, çabayı ve prompt biçimini otomatik olarak uyarlar
  • Yerleşik ajan çalışma ortamı (agent-native, Zig NAPI) + Anthropic, Claude Agent SDK, OpenCode, Codex, Copilot, Gemini sağlayıcıları
  • Çinli LLM sağlayıcıları için Anthropic formatlı geçiş — Kimi, Zhipu, GLM, DouBao, Ark, Bailian/DashScope, ModelScope, Coding Plans

Git Entegrasyonu

  • SSH / HTTPS kimlik doğrulama ve SSH anahtarı yönetimi ile klonlama sihirbazı
  • Dal seçici — oluştur, değiştir, sil, birleştir, hepsi Git panelinden
  • Kimlik doğrulama yeniden denemeleri ve non-fast-forward yönetimi ile pull / push kademeleri
  • Diskte MERGE_HEAD durum takibi ile klasör modu üç yönlü birleştirme
  • Düğüm/alan başına üç yönlü kartlar, satır içi JSON editörü, toplu eylemler ve satır içi diff bloğu ile çakışma paneli
  • Uzak ayarlar ve SSH anahtarları arayüzü; tüm Git yüzeyinde 15 dilde i18n

Dışa Aktarma

  • Kanvas dışa aktarma — PNG, JPEG, WEBP, PDF (Cmd+Shift+P)
  • Kod dışa aktarma — React + Tailwind, HTML + CSS, Vue, Svelte, Flutter, SwiftUI, Jetpack Compose, React Native
  • Artımlı MCP kod üretimi hattı — codegen_plan, codegen_submit_chunk, codegen_assemble, codegen_clean

Figma İçe Aktarma

  • Düzen, dolgu, kontur, efektler, metin, görseller ve vektörler korunarak .fig dosyalarını içe aktarın

Masaüstü Uygulaması

  • Electron aracılığıyla yerel macOS, Windows ve Linux desteği
  • .op dosya ilişkilendirmesi — açmak için çift tıklayın, tekli örnek kilidi
  • GitHub Releases'ten otomatik güncelleme
  • Farklı Kaydet, Son Kullanılanları Aç ve kapatırken kaydedilmemiş değişiklikler iletişim kutusu içeren yerel uygulama menüsü
  • Son kullanılan dosyaların kalıcılığı

Teknoloji Yığını

Ön Uç React 19 · TanStack Start · Tailwind CSS v4 · shadcn/ui · i18next
Kanvas CanvasKit/Skia (WASM, GPU hızlandırmalı)
Durum Yönetimi Zustand v5
Sunucu Nitro
Masaüstü Electron 35

Extension points exported contracts — how you extend this code

NativeFontEntry (Interface)
Native font entry from the Local Font Access API with blob accessor
packages/pen-renderer/src/font-manager.ts
NodeDecision (Interface)
* Per-id decision the classification step produces. Invariants: * - Every id in the merged-id union is either present
packages/pen-core/src/merge/node-merge.ts
OpencodeClient (Interface)
* Minimal type declarations for @opencode-ai/sdk. * The package's export map points to non-existent paths (dist/ vs dis
apps/web/src/types/opencode-sdk.d.ts
CanvasBinding (Interface)
(no doc) [1 implementers]
packages/pen-engine/src/browser/canvas-bindings.ts
FigmaClipboardData (Interface)
(no doc)
packages/pen-figma/src/figma-clipboard.ts
StyleGuideValues (Interface)
(no doc)
packages/pen-ai-skills/src/style-guide/style-guide-parser.ts
AcpAgentConfig (Interface)
(no doc)
packages/pen-acp/src/types.ts
LiveSyncState (Interface)
(no doc)
packages/pen-mcp/src/document-manager.ts

Core symbols most depended-on inside this repo

getState
called by 794
packages/pen-engine/src/core/viewport-controller.ts
push
called by 632
apps/web/server/utils/mcp-sync-state.ts
get
called by 329
apps/desktop/git/auth-store.ts
set
called by 227
apps/desktop/git/auth-store.ts
set
called by 226
apps/desktop/git/auth-store.ts
delete
called by 178
apps/desktop/git/ssh-keys.ts
render
called by 176
packages/pen-engine/src/browser/canvas-bindings.ts
onUpdate
called by 162
apps/web/server/api/ai/agent.ts

Shape

Function 2,693
Method 708
Interface 622
Class 222

Languages

TypeScript100%

Modules by API surface

apps/web/server/opencode/v2/gen/sdk.gen.ts210 symbols
apps/web/server/opencode/gen/sdk.gen.ts210 symbols
apps/desktop/git/git-engine.ts55 symbols
packages/pen-engine/src/core/design-engine.ts53 symbols
apps/web/src/services/ai/consumer-view-enrichment.ts40 symbols
apps/web/src/services/ai/role-resolver.ts35 symbols
apps/web/src/services/ai/design-canvas-ops.ts33 symbols
packages/pen-engine/src/core/svg-parser.ts32 symbols
apps/web/src/canvas/skia/skia-interaction.ts32 symbols
packages/pen-renderer/src/font-manager.ts28 symbols
apps/web/src/services/ai/sanitize-llm-anti-patterns.ts28 symbols
packages/pen-renderer/src/node-renderer.ts26 symbols

Dependencies from manifests, versioned

@agentclientprotocol/sdk0.18.2 · 1×
@anthropic-ai/claude-agent-sdk0.2.47 · 1×
@anthropic-ai/sdk0.77.0 · 1×
@github/copilot-sdk0.1.32 · 1×
@modelcontextprotocol/sdk1.12.1 · 1×
@opencode-ai/sdk1.2.6 · 1×
@radix-ui/react-popover1.1.15 · 1×
@radix-ui/react-separator1.1.8 · 1×

For agents

$ claude mcp add openpencil \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact