|
### 🎨 プロンプト → キャンバス
自然言語で任意の UI を記述。ストリーミングアニメーションでリアルタイムに無限キャンバス上に表示。要素を選択してチャットすることで既存のデザインを修正。
|
### 🤖 並行エージェントチーム
オーケストレーターが複雑なページを空間的なサブタスクに分解。複数の AI エージェントがヒーロー、機能紹介、フッターなど異なるセクションを同時に処理し、すべてが並列でストリーミング。
|
|
### 🧠 マルチモデルインテリジェンス
各モデルの能力に自動適応。Claude にはシンキング付きフルプロンプト、GPT-4o/Gemini ではシンキングを無効化、小規模モデル(MiniMax、Qwen、Llama)には信頼性の高い出力のために簡略化プロンプトを使用。
|
### 🔌 MCP サーバー
Claude Code、Codex、OpenCode、Kiro、Copilot CLI にワンクリックでインストール。ターミナルからデザイン — MCP 対応エージェントを通じて `.op` ファイルの読み取り、作成、編集が可能。
|
|
### 📦 Design-as-Code
`.op` ファイルは JSON — 人間が読みやすく、Git フレンドリーで差分比較可能。デザイン変数は CSS カスタムプロパティを生成。React + Tailwind または HTML + CSS へのコードエクスポート。
|
### 🖥️ どこでも動作
Web アプリ + macOS・Windows・Linux ネイティブデスクトップ — 単一の Rust コア、単一の自己完結型バイナリ、ブラウザエンジン不要。`.op` ファイル関連付け — ダブルクリックで開く。
|
|
### ⌨️ CLI — `op`
ターミナルからデザインツールを操作。`op design`、`op insert` — バッチデザインDSL、ノード操作。ファイルやstdinからのパイプ入力に対応。デスクトップアプリまたはWebサーバーと連携。
|
### 🎯 マルチプラットフォームコードエクスポート
1つの`.op`ファイルからReact + Tailwind、HTML + CSS、Vue、Svelte、Flutter、SwiftUI、Jetpack Compose、React Nativeへエクスポート。デザイン変数はCSSカスタムプロパティに変換。
|
## インストール
**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
```
**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 . # デスクトップアプリを起動
nix build .#openpencil # ネイティブ Web ホスト + CanvasKit Web バンドル
nix build .#op-cli # `op` CLI
nix build .#prebuilt # 対応する upstream デスクトップアーカイブを使用
nix build .#prebuilt-cli # 対応する upstream CLI アーカイブを使用
nix build .#web-server # GL 不要のネイティブ Web サーバー + Web バンドル
nix build .#runtime-prebuilt # ビルド済みデスクトップ + `op` CLI ランタイム
nix build .#web-sdk-packages # Web SDK の npm tarball
nix build .#appimage # ポータブルなデスクトップ AppImage
```
この flake は `rust-toolchain.toml` で固定された Rust toolchain を使用し、
現在は `x86_64-linux` 向けに公開されています。flake はまだ Debian
パッケージを生成しないため、`.deb` が必要な場合は upstream release
artifact を使用してください。`prebuilt` output は workspace のソース
バージョンとは独立して、`nix/release-manifest.json` に固定された release
バージョンと hash を使用します。release の公開後、release workflow が
この manifest を更新する PR を作成します。merge されるまでは、ビルド済み
output は以前に公開された release を引き続き使用し、ソースビルド output
は常に checkout 中のソースを使用します。
**CLI(`op`):**
```bash
brew install zseven-w/openpencil/op
```
またはインストールスクリプトを使用します(macOS / Linux):
```bash
curl -fsSL https://raw.githubusercontent.com/ZSeven-W/openpencil/main/scripts/install-op.sh | bash
```
最新のプレリリースを許可する場合:
```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
```
最新のプレリリースを許可する場合:
```powershell
$env:OP_PRERELEASE = "1"; irm https://raw.githubusercontent.com/ZSeven-W/openpencil/main/scripts/install-op.ps1 | iex
```
## クローン(サブモジュールを含む)
```bash
git clone --recurse-submodules https://github.com/ZSeven-W/openpencil.git
# クローン済みの場合、古いサブモジュール URL に .gitmodules の変更を反映するため、先に同期します:
git submodule sync --recursive && git submodule update --init --recursive
```
`vendor/` 配下には 3 つのサブモジュールがあります。すべて公開され、HTTPS で取得されるため SSH キーは不要です:`jian`(GPU-Skia UI フレームワーク — widget/render/event)、`casement`(winit fork)、`agent`(`agent-rs` — OP と Zode で共有する製品横断 Rust agent runtime)。`vendor/anthropic-agent-sdk` はリポジトリ内で直接管理されており、サブモジュールではありません。
## クイックスタート
```bash
# Web dev server (builds the CanvasKit wasm bundle, then runs the headless web host)
bash scripts/start-web-rust.sh
```
またはデスクトップアプリとして実行:
```bash
cargo run -p op-host-desktop
```
> **前提条件:** 製品のビルドには [Rust](https://www.rust-lang.org/)(stable)が必要です。[Bun](https://bun.sh/) >= 1.0 および [Node.js](https://nodejs.org/) >= 18 は `packages/` 配下の web SDK にのみ必要です。
### Docker
タグ付きの Rust リリースでは、単一の web-host イメージを公開します。AI CLI を同梱していた引退済みの TypeScript イメージはもう公開されません。
| イメージ | 含まれるもの |
| --- | --- |
| `ghcr.io/zseven-w/openpencil-web:vX.Y.Z` | Rust web host、wasm bundle、CanvasKit assets |
Web UI は built-in agent profiles のみを公開します。Claude/Codex/OpenCode/Copilot CLI ツールは Docker イメージに同梱されません。
**実行:**
```bash
VERSION="$(scripts/workspace-version.sh)"
docker run -d -p 3100:3100 "ghcr.io/zseven-w/openpencil-web:v${VERSION}"
```
その後 `http://localhost:3100/` を開いてください。
**ローカルビルド:**
```bash
docker build -f Dockerfile.web-rust -t openpencil-web-rust .
docker run -p 3100:3100 openpencil-web-rust
```
## AI ネイティブデザイン
**プロンプトから UI へ**
- **テキストからデザインへ** — ページを説明すると、ストリーミングアニメーションでリアルタイムにキャンバス上に生成
- **オーケストレーター** — 複雑なページを空間サブタスクに分解し、並列生成をサポート
- **デザイン修正** — 要素を選択し、自然言語で変更内容を記述
- **ビジョン入力** — スクリーンショットやモックアップを参照として添付してデザイン
**マルチエージェントサポート**
| エージェント | 設定方法 |
| --------------------------------- | ------------------------------------------------------------------------------------------------- |
| **ビルトイン(9+ プロバイダー)** | プロバイダープリセットから選択し、リージョンを切り替え — Anthropic、OpenAI、Google、DeepSeek など |
| **Claude Code** | 設定不要 — ローカル OAuth で Claude Agent SDK を使用 |
| **Codex CLI** | エージェント設定で接続(`Cmd+,`) |
| **OpenCode** | エージェント設定で接続(`Cmd+,`) |
| **GitHub Copilot** | `copilot login` 後、エージェント設定で接続(`Cmd+,`) |
**モデル能力プロファイル** — モデルの階層に応じてプロンプト、シンキングモード、タイムアウトを自動適応。フル階層モデル(Claude)には完全なプロンプト、標準階層(GPT-4o、Gemini、DeepSeek)ではシンキングを無効化、ベーシック階層(MiniMax、Qwen、Llama、Mistral)には最大限の信頼性のために簡略化されたネスト JSON プロンプトを使用。
**i18n** — 15言語での完全なインターフェースローカライゼーション:English、简体中文、繁體中文、日本語、한국어、Français、Español、Deutsch、Português、Русский、हिन्दी、Türkçe、ไทย、Tiếng Việt、Bahasa Indonesia。
**MCP サーバー**
- 内蔵 MCP サーバー(`op-mcp` crate) — Claude Code / Codex / OpenCode / Kiro / Copilot CLI にワンクリックでインストール
- Node.js は不要 — デスクトップバイナリ経由の stdio トランスポート(`--mcp