* fix(readme): render sponsor avatar as circle via wsrv.nl proxy GitHub's markdown renderer strips inline style attributes from <img> tags, so the `style="border-radius: 50%"` we shipped in #96 rendered as a square on the repo page — visually off next to the contrib.rocks round avatars in the Contributors section right above it. Swap the avatar src to `wsrv.nl/?url=…&mask=circle`, which returns a pre-masked circular PNG. Applied across all 15 README locales. * docs(readme): surface v0.7.0 additions in Features and shortcuts Sweep the English README to catch up with everything landed between v0.6.0 and v0.7.0: - Features: add AI & Agents (concurrent teams, orchestrator, layered workflow, Style Guides, multi-model profiles, Chinese-LLM Anthropic passthrough), Git Integration (clone, branch, push/pull, folder-mode three-way merge, conflict panel), Export (PNG/JPEG/WEBP/PDF + incremental MCP codegen pipeline). Extend Desktop App with Save As, Open Recent, unsaved-changes dialog, recent-files persistence. - Keyboard shortcuts: rebind Export from Cmd+Shift+E to Cmd+Shift+P (matches the editor since the Cmd+Shift+P IME-proof rebind) and add Cmd+Shift+S for Save As. - Roadmap: tick Git integration and canvas raster export. Locale sweep follows in the next commit. * i18n: sweep v0.7.0 Features / Shortcuts / Roadmap across 14 locales Mirror the English README v0.7.0 content into every locale variant so translations don't drift: - Features: added AI & Agents, Git Integration, Export subsections, plus the new UIKits bullet in Design System and the Save As / Open Recent / unsaved-changes / recent-files lines in Desktop App. - Keyboard shortcuts: Cmd+Shift+E → Cmd+Shift+P (Export) and filled the last empty row with Cmd+Shift+S (Save As), translating the labels per locale. - Roadmap: added [x] Git integration and [x] canvas raster export before the first unchecked item. Covers de, es, fr, hi, id, ja, ko, pt, ru, th, tr, vi, zh, zh-TW. Product names, backticked identifiers, framework names, file extensions, format names and keyboard tokens kept in English.
22 KiB
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
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 → KanvasHerhangi 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 EkipleriOrkestratö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 SunucusuClaude 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 |
📦 Kod Olarak Tasarım
|
🖥️ Her Yerde ÇalışırWeb uygulaması + Electron ile macOS, Windows ve Linux'ta yerel masaüstü. GitHub Releases'ten otomatik güncelleme. |
⌨️ CLI —
|
🎯 Çok Platformlu Kod Dışa AktarımıTek bir |
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
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
.opdosyaları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_skeleton→design_content→design_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 export react --out . # React + Tailwind'e dışa aktar
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 Becerisi — OpenPencil 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 —
$variablereferanslı 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 —
.pendosyaları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_skeleton→design_content→design_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_HEADdurum 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
.figdosyalarını içe aktarın
Masaüstü Uygulaması
- Electron aracılığıyla yerel macOS, Windows ve Linux desteği
.opdosya 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 |
| CLI | op — terminal kontrolü, toplu tasarım DSL, kod dışa aktarımı |
| AI | Vercel AI SDK v6 · Anthropic SDK · Claude Agent SDK · OpenCode SDK · Copilot SDK |
| Çalışma Ortamı | Bun · Vite 7 |
| Dosya Formatı | .op — JSON tabanlı, insan tarafından okunabilir, Git dostu |
Proje Yapısı
openpencil/
├── apps/
│ ├── web/ TanStack Start web uygulaması
│ │ ├── src/
│ │ │ ├── canvas/ CanvasKit/Skia motoru — çizim, senkronizasyon, düzen
│ │ │ ├── components/ React UI — editör, paneller, paylaşılan iletişim kutuları, simgeler
│ │ │ ├── services/ai/ AI sohbet, orkestratör, tasarım üretimi, akış
│ │ │ ├── stores/ Zustand — kanvas, belge, sayfalar, geçmiş, AI
│ │ │ ├── mcp/ Harici CLI entegrasyonu için MCP sunucu araçları
│ │ │ ├── hooks/ Klavye kısayolları, dosya bırakma, Figma yapıştırma
│ │ │ └── uikit/ Yeniden kullanılabilir bileşen kiti sistemi
│ │ └── server/
│ │ ├── api/ai/ Nitro API — akış sohbet, üretim, doğrulama
│ │ └── utils/ Claude CLI, OpenCode, Codex, Copilot sarmalayıcıları
│ ├── desktop/ Electron masaüstü uygulaması
│ │ ├── main.ts Pencere, Nitro çatallanması, yerel menü, otomatik güncelleyici
│ │ ├── ipc-handlers.ts Yerel dosya diyalogları, tema senkronizasyonu, tercihler IPC
│ │ └── preload.ts IPC köprüsü
│ └── cli/ CLI aracı — `op` komutu
│ ├── src/commands/ Tasarım, belge, dışa aktarma, içe aktarma, düğüm, sayfa, değişken komutları
│ ├── connection.ts Çalışan uygulamaya WebSocket bağlantısı
│ └── launcher.ts Masaüstü uygulamayı veya web sunucusunu otomatik algıla ve başlat
├── packages/
│ ├── pen-types/ PenDocument modeli için tür tanımları
│ ├── pen-core/ Belge ağacı işlemleri, düzen motoru, değişkenler
│ ├── pen-codegen/ Kod oluşturucular (React, HTML, Vue, Flutter, ...)
│ ├── pen-figma/ Figma .fig dosya ayrıştırıcı ve dönüştürücü
│ ├── pen-renderer/ Bağımsız CanvasKit/Skia işleyici
│ ├── pen-sdk/ Şemsiye SDK (tüm paketleri yeniden dışa aktarır)
│ ├── pen-ai-skills/ AI prompt beceri motoru (aşamalı prompt yükleme)
│ └── agent/ AI ajan SDK'sı (Vercel AI SDK, çoklu sağlayıcı, ajan ekipleri)
└── .githooks/ Dal adından ön-commit sürüm eşitleme
Klavye Kısayolları
| Tuş | İşlem | Tuş | İşlem | |
|---|---|---|---|---|
V |
Seç | Cmd+S |
Kaydet | |
R |
Dikdörtgen | Cmd+Z |
Geri Al | |
O |
Elips | Cmd+Shift+Z |
Yeniden Yap | |
L |
Çizgi | Cmd+C/X/V/D |
Kopyala/Kes/Yapıştır/Çoğalt | |
T |
Metin | Cmd+G |
Grupla | |
F |
Frame | Cmd+Shift+G |
Grubu Çöz | |
P |
Kalem aracı | Cmd+Shift+P |
Dışa Aktar (PNG/JPG/WEBP/PDF) | |
H |
El (kaydır) | Cmd+Shift+C |
Kod paneli | |
Del |
Sil | Cmd+Shift+V |
Değişkenler paneli | |
[ / ] |
Yeniden sırala | Cmd+J |
AI sohbet | |
| Oklar | 1px kaydır | Cmd+, |
Ajan ayarları | |
Cmd+Alt+U |
Boolean birleştir | Cmd+Alt+S |
Boolean çıkar | |
Cmd+Alt+I |
Boolean kesiştir | Cmd+Shift+S |
Farklı Kaydet |
Betikler
bun --bun run dev # Geliştirme sunucusu (port 3000)
bun --bun run build # Üretim derlemesi
bun --bun run test # Testleri çalıştır (Vitest)
npx tsc --noEmit # Tür denetimi
bun run bump <version> # Tüm package.json dosyalarında sürümü eşitle
bun run electron:dev # Electron geliştirme modu
bun run electron:build # Electron paketleme
bun run cli:dev # CLI'yi kaynaktan çalıştır
bun run cli:compile # CLI'yi dist'e derle
Katkıda Bulunma
Katkılarınızı bekliyoruz! Mimari ayrıntılar ve kod stili için CLAUDE.md dosyasına bakın.
- Fork'layın ve klonlayın
- Sürüm eşitlemeyi ayarlayın:
git config core.hooksPath .githooks - Dal oluşturun:
git checkout -b feat/my-feature - Kontrolleri çalıştırın:
npx tsc --noEmit && bun --bun run test - Conventional Commits formatıyla commit yapın:
feat(canvas): add rotation snapping maindalına PR açın
Yol Haritası
- CSS senkronizasyonlu tasarım değişkenleri ve tokenları
- Bileşen sistemi (örnekler ve geçersiz kılmalar)
- Orkestratörlü AI tasarım üretimi
- Katmanlı tasarım iş akışı ile MCP sunucu entegrasyonu
- Çok sayfa desteği
- Figma
.figiçe aktarma - Boolean işlemler (birleştirme, çıkarma, kesişim)
- Çoklu model yetenek profilleri
- Yeniden kullanılabilir paketlerle monorepo yapılandırması
- CLI aracı (
op) terminal kontrolü - Çoklu sağlayıcı destekli yerleşik AI ajan SDK'sı
- i18n — 15 dil
- Git entegrasyonu (klonlama, dal, push/pull, klasör modu üç yönlü birleştirme)
- Kanvas raster dışa aktarma (PNG / JPEG / WEBP / PDF)
- Ortak düzenleme
- Eklenti sistemi
Katkıda Bulunanlar
Sponsorlar
OpenPencil ücretsiz ve açık kaynaklıdır. Geliştirme, onu faydalı bulanlar tarafından finanse ediliyor — tuvali açık tuttuğunuz için teşekkürler.
MrQyun'a teşekkürler — isminizi burada görmek ister misiniz? Sponsor ol →
Topluluk
Star History
Lisans
MIT — Copyright (c) 2026 ZSeven-W