|
### 🎨 Prompt → Canvas
Beschreiben Sie jede UI in natürlicher Sprache. Beobachten Sie, wie sie in Echtzeit mit Streaming-Animation auf der unendlichen Canvas erscheint. Ändern Sie bestehende Designs, indem Sie Elemente auswählen und chatten.
|
### 🤖 Parallele Agententeams
Der Orchestrierer zerlegt komplexe Seiten in räumliche Teilaufgaben. Mehrere KI-Agenten arbeiten gleichzeitig an verschiedenen Bereichen — Hero, Features, Footer — alle parallel streamend.
|
|
### 🧠 Multi-Modell-Intelligenz
Passt sich automatisch an die Fähigkeiten jedes Modells an. Claude erhält vollständige Prompts mit Thinking; GPT-4o/Gemini deaktivieren Thinking; kleinere Modelle (MiniMax, Qwen, Llama) erhalten vereinfachte Prompts für zuverlässige Ausgabe.
|
### 🔌 MCP-Server
Ein-Klick-Installation in Claude Code, Codex, OpenCode, Kiro oder Copilot CLIs. Designen Sie aus Ihrem Terminal — `.op`-Dateien über jeden MCP-kompatiblen Agenten lesen, erstellen und bearbeiten.
|
|
### 📦 Design-as-Code
`.op`-Dateien sind JSON — menschenlesbar, Git-freundlich, diff-fähig. Designvariablen generieren CSS Custom Properties. Code-Export nach React + Tailwind oder HTML + CSS.
|
### 🖥️ Läuft überall
Web-App + native Desktop-Anwendung auf macOS, Windows und Linux — ein Rust-Kern, eine einzelne eigenständige Binärdatei, keine Browser-Engine. `.op`-Dateizuordnung — Doppelklick zum Öffnen.
|
|
### ⌨️ CLI — `op`
Steuern Sie das Design-Tool vom Terminal aus. `op design`, `op insert` — Batch-Design-DSL, Knotenmanipulation. Pipe-Eingabe von Dateien oder stdin. Funktioniert mit der Desktop-App oder dem Webserver.
|
### 🎯 Multiplattform-Code-Export
Export aus einer einzigen `.op`-Datei nach React + Tailwind, HTML + CSS, Vue, Svelte, Flutter, SwiftUI, Jetpack Compose, React Native. Design-Variablen werden zu CSS Custom Properties.
|
## Installation
**macOS (Homebrew):**
```bash
brew tap zseven-w/openpencil
brew install --cask openpencil
```
**Windows (Scoop):**
```powershell
scoop bucket add openpencil https://github.com/zseven-w/scoop-openpencil
scoop install openpencil
```
**Direkter Download für Linux / Windows:** [GitHub Releases](https://github.com/ZSeven-W/openpencil/releases) — `.exe` (Windows), `.AppImage` / `.deb` (Linux)
**Nix (Linux x86_64):**
```bash
nix develop
nix run . # Desktop-App starten
nix build .#openpencil # nativer Web-Host + CanvasKit-Web-Bundle
nix build .#op-cli # die `op`-CLI
nix build .#prebuilt # passendes Desktop-Archiv aus dem Upstream verwenden
nix build .#prebuilt-cli # passendes CLI-Archiv aus dem Upstream verwenden
nix build .#web-server # nativer GL-freier Webserver + Web-Bundle
nix build .#runtime-prebuilt # vorgefertigte Desktop- + `op`-CLI-Laufzeit
nix build .#web-sdk-packages # npm-Tarballs für die Web-SDKs
nix build .#appimage # portable Desktop-AppImage
```
Der Flake verwendet die in `rust-toolchain.toml` fixierte Rust-Toolchain und
wird derzeit für `x86_64-linux` veröffentlicht. Ein Debian-Paket wird vom Flake
noch nicht erzeugt; verwenden Sie bei Bedarf eines `.deb` die Upstream-Release-
Artefakte. Die `prebuilt`-Outputs verwenden die in
`nix/release-manifest.json` fixierte Release-Version und die dort hinterlegten
Hashes, unabhängig von der Workspace-Quellversion. Nach der Veröffentlichung
eines Releases öffnet der Release-Workflow einen PR zur Aktualisierung dieses
Manifests. Bis zu dessen Merge verwenden die vorgefertigten Outputs weiterhin
das vorherige veröffentlichte Release; die aus Quellen gebauten Outputs
verwenden immer den ausgecheckten Quellstand.
**CLI (`op`):**
```bash
brew install zseven-w/openpencil/op
```
Oder verwenden Sie das Installationsskript (macOS / Linux):
```bash
curl -fsSL https://raw.githubusercontent.com/ZSeven-W/openpencil/main/scripts/install-op.sh | bash
```
So erlauben Sie das neueste Pre-Release:
```bash
curl -fsSL https://raw.githubusercontent.com/ZSeven-W/openpencil/main/scripts/install-op.sh | OP_PRERELEASE=1 bash
```
Windows PowerShell:
```powershell
irm https://raw.githubusercontent.com/ZSeven-W/openpencil/main/scripts/install-op.ps1 | iex
```
So erlauben Sie das neueste Pre-Release:
```powershell
$env:OP_PRERELEASE = "1"; irm https://raw.githubusercontent.com/ZSeven-W/openpencil/main/scripts/install-op.ps1 | iex
```
## Klonen (mit Submodulen)
```bash
git clone --recurse-submodules https://github.com/ZSeven-W/openpencil.git
# Bereits geklont? Zuerst synchronisieren, damit veraltete Submodul-URLs Änderungen aus .gitmodules übernehmen:
git submodule sync --recursive && git submodule update --init --recursive
```
Unter `vendor/` liegen drei Submodule. Sie sind alle öffentlich und werden über HTTPS abgerufen (kein SSH-Schlüssel erforderlich): `jian` (GPU-Skia-UI-Framework — Widgets/Rendering/Ereignisse), `casement` (winit-Fork) und `agent` (`agent-rs` — produktübergreifende Rust-Agent-Laufzeit, gemeinsam von OP und Zode genutzt). `vendor/anthropic-agent-sdk` wird direkt im Repository verwaltet und ist kein Submodul.
## Schnellstart
```bash
# Web dev server (builds the CanvasKit wasm bundle, then runs the headless web host)
bash scripts/start-web-rust.sh
```
Oder als Desktop-App ausführen:
```bash
cargo run -p op-host-desktop
```
> **Voraussetzungen:** [Rust](https://www.rust-lang.org/) (stable) zum Bauen des Produkts. [Bun](https://bun.sh/) >= 1.0 und [Node.js](https://nodejs.org/) >= 18 werden nur für das Web-SDK unter `packages/` benötigt.
### Docker
Getaggte Rust-Releases veröffentlichen ein einzelnes Web-Host-Image. Die früheren TypeScript-Images mit gebündelten KI-CLIs werden nicht mehr veröffentlicht.
| Image | Enthält |
| --- | --- |
| `ghcr.io/zseven-w/openpencil-web:vX.Y.Z` | Rust-Web-Host, wasm bundle und CanvasKit-Assets |
Die Web-UI zeigt nur integrierte Agent-Profile; Claude/Codex/OpenCode/Copilot-CLI-Tools sind nicht in Docker-Images enthalten.
**Ausführen:**
```bash
VERSION="$(scripts/workspace-version.sh)"
docker run -d -p 3100:3100 "ghcr.io/zseven-w/openpencil-web:v${VERSION}"
```
Öffnen Sie dann `http://localhost:3100/`.
**Lokal bauen:**
```bash
docker build -f Dockerfile.web-rust -t openpencil-web-rust .
docker run -p 3100:3100 openpencil-web-rust
```
## KI-natives Design
**Vom Prompt zur UI**
- **Text-zu-Design** — eine Seite beschreiben und sie wird in Echtzeit mit Streaming-Animation auf der Canvas generiert
- **Orchestrierer** — zerlegt komplexe Seiten in räumliche Teilaufgaben zur parallelen Generierung
- **Design-Modifikation** — Elemente auswählen und Änderungen in natürlicher Sprache beschreiben
- **Bildeingabe** — Screenshots oder Mockups als Referenz für referenzbasiertes Design anhängen
**Multi-Agenten-Unterstützung**
| Agent | Einrichtung |
| ---------------------------- | ----------------------------------------------------------------------------------------------- |
| **Integriert (9+ Anbieter)** | Auswahl aus Anbieter-Presets mit Region-Switcher — Anthropic, OpenAI, Google, DeepSeek und mehr |
| **Claude Code** | Keine Konfiguration — verwendet Claude Agent SDK mit lokalem OAuth |
| **Codex CLI** | In den Agenteneinstellungen verbinden (`Cmd+,`) |
| **OpenCode** | In den Agenteneinstellungen verbinden (`Cmd+,`) |
| **GitHub Copilot** | `copilot login` dann in den Agenteneinstellungen verbinden (`Cmd+,`) |
**Modell-Fähigkeitsprofile** — passt Prompts, Thinking-Modus und Timeouts automatisch pro Modellstufe an. Modelle der Vollstufe (Claude) erhalten vollständige Prompts; Standardstufe (GPT-4o, Gemini, DeepSeek) deaktiviert Thinking; Basisstufe (MiniMax, Qwen, Llama, Mistral) erhält vereinfachte verschachtelte JSON-Prompts für maximale Zuverlässigkeit.
**i18n** — Vollständige Interface-Lokalisierung in 15 Sprachen: English, 简体中文, 繁體中文, 日本語, 한국어, Français, Español, Deutsch, Português, Русский, हिन्दी, Türkçe, ไทย, Tiếng Việt, Bahasa Indonesia.
**MCP-Server**
- Eingebauter MCP-Server (`op-mcp`-Crate) — Ein-Klick-Installation in Claude Code / Codex / OpenCode / Kiro / Copilot CLIs
- Kein Node.js erforderlich — stdio-Transport über die Desktop-Binärdatei (`--mcp