dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
OpenPencil
The world's first open-source AI-native vector design tool. Concurrent Agent Teams • Design-as-Code • Built-in MCP Server • Multi-model Intelligence
English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Français · Español · Deutsch · Português · Русский · हिन्दी · Türkçe · ไทย · Tiếng Việt · Bahasa Indonesia
OpenPencil × Infistar.cc 无限星河|全模型 API · 驱动 AI 原生设计创作 感谢 Infistar.cc 无限星河 赞助并为 OpenPencil 提供模型服务支持! ⚡ 稳定承载复杂设计任务: 提供企业级高并发通道与多节点冗余,价格低至官方渠道 1 折,稳定支持长任务、流式响应与连续工具调用。 🧠 一个 API Key 接入主流模型: 全面支持 ChatGPT、Claude、Gemini、Kimi、GLM、DeepSeek 等模型,兼容 OpenAI、Anthropic 等主流接口,可在 OpenPencil 中灵活配置模型服务。 🎨 赋能 AI 原生矢量设计: 适用于提示词生成设计、画布内容修改、多模型协同、图片生成及设计方案迭代,让 AI Agent 更高效地完成从创意到成稿的全过程。 🎁 OpenPencil 用户专属福利: 通过 专属推广链接 注册并完成首次调用,即可领取 5 美元等值测试额度 / 首充专属优惠! OpenPencil × Fluxion AI | One unified API for GPT, Claude, and more Thanks to Fluxion AI for sponsoring OpenPencil! ⚡ Reliable, cost-efficient access: GPT, Claude, and other leading AI models through one unified API — save up to 70% compared with official API pricing. 🎁 OpenPencil user bonus: get $1 in API credits when you sign up through this link.
Describe any UI in natural language. Watch it appear on the infinite canvas in real-time with streaming animation. Modify existing designs by selecting elements and chatting.
The orchestrator decomposes complex pages into spatial sub-tasks. Multiple AI agents work on different sections simultaneously — hero, features, footer — all streaming in parallel with per-member canvas indicators.
Automatically adapts to each model's capabilities. Claude gets full prompts with thinking; GPT-4o/Gemini disable thinking; smaller models (MiniMax, Qwen, Llama) get simplified prompts for reliable output.
One-click install into Claude Code, Codex, OpenCode, Kiro, or Copilot CLIs. Design from your terminal — read, create, and modify .op files through any MCP-compatible agent.
Built-in style guide library with tag-based fuzzy matching. Apply visual styles (glassmorphism, brutalist, retro, etc.) to AI-generated designs. MCP tools for external agent access.
.op files are JSON — human-readable, Git-friendly, diffable. Design variables generate CSS custom properties. Code export to React + Tailwind or HTML + CSS.
Web app + native desktop on macOS, Windows, and Linux — one Rust core, a single self-contained binary, no browser engine. .op file association — double-click to open.
opControl the design tool from your terminal. op design, op insert — batch design DSL, node manipulation. Pipe in from files or stdin. Works with desktop app or web server.
Export to React + Tailwind, HTML + CSS, Vue, Svelte, Flutter, SwiftUI, Jetpack Compose, React Native — all from one .op file. Design variables become CSS custom properties.
op-web-sdk (vanilla) + op-web-sdk-react / op-web-sdk-vue adapters — embed a read-only .op viewer in your own app, powered by the same wasm renderer the editor ships.
Manage reusable UIKits with style switching and component composition. Import/export kits from .pen files. Built-in registry with MCP tools for external access.
Design together over authenticated peer-to-peer sessions with a public relay and built-in regional hubs. Join with a short pairing code, see live remote cursors, and resolve conflicts with per-edit detail and replay.
Building from source on Windows: see BUILD_WINDOWS.md
macOS (Homebrew):
brew tap zseven-w/openpencil
brew install --cask openpencilWindows (Scoop):
scoop bucket add openpencil https://github.com/zseven-w/scoop-openpencil
scoop install openpencilLinux / Windows direct download: GitHub Releases — .exe (Windows), .AppImage / .deb (Linux)
The Windows .exe installer, both Scoop packages, and the install-op.ps1 CLI installer check and, when needed, service the pinned, Microsoft-signed Visual C++ v14 runtime during every install or upgrade. The portable Windows .zip archives and Windows VSIX packages do not run an elevated system installer; install Microsoft's before using those artifacts directly.
Antivirus flagged the Windows installer? That's a known heuristic false positive on new, low-prevalence releases — see how to verify your download.
Nix (Linux x86_64):
nix develop
nix run . # launch the desktop app
nix build .#openpencil # native web host + CanvasKit web bundle
nix build .#op-cli # the `op` CLI
nix build .#prebuilt # use the matching upstream desktop archive
nix build .#prebuilt-cli # use the matching upstream CLI archive
nix build .#web-server # native GL-free web server + web bundle
nix build .#runtime-prebuilt # prebuilt desktop + `op` CLI runtime
nix build .#web-sdk-packages # npm tarballs for the web SDKs
nix build .#appimage # portable desktop AppImageThe flake uses the pinned Rust toolchain from rust-toolchain.toml and is currently published for x86_64-linux. A Debian package is not produced by the flake yet; use the upstream release artifacts when a .deb is required. The prebuilt outputs use the release version and hashes pinned in nix/release-manifest.json, independently of the workspace source version. After a release is published, the release workflow opens a PR to refresh that manifest. Until it is merged, the prebuilt outputs continue to use the prior published release; the source-built outputs always build the checked-out source.
CLI (`op`):
brew install zseven-w/openpencil/opOr use the install script (macOS / Linux):
curl -fsSL https://raw.githubusercontent.com/ZSeven-W/openpencil/main/scripts/install-op.sh | bashTo allow the newest pre-release:
curl -fsSL https://raw.githubusercontent.com/ZSeven-W/openpencil/main/scripts/install-op.sh | OP_PRERELEASE=1 bashWindows PowerShell:
irm https://raw.githubusercontent.com/ZSeven-W/openpencil/main/scripts/install-op.ps1 | iexTo allow the newest pre-release:
$env:OP_PRERELEASE = "1"; irm https://raw.githubusercontent.com/ZSeven-W/openpencil/main/scripts/install-op.ps1 | iexgit clone --recurse-submodules https://github.com/ZSeven-W/openpencil.git
# Or already cloned — sync first so stale submodule URLs pick up .gitmodules changes:
git submodule sync --recursive && git submodule update --init --recursiveThree submodules live under vendor/, all public and fetched over HTTPS (no SSH key needed): jian (GPU-Skia UI framework — widgets/render/events), casement (winit fork), and agent (agent-rs — cross-product Rust agent runtime, shared by OP + Zode). vendor/anthropic-agent-sdk is tracked in-tree, not a submodule.
# Web dev server (builds the CanvasKit wasm bundle, then runs the headless web host)
bash scripts/start-web-rust.shBrowser-entered built-in provider, image-generation, and Openverse credentials are kept in same-origin localStorage (openpencil-rust-web-credentials) by default, separate from ordinary web preferences. A credential needed by an AI request is sent with that request, but the daemon does not write the browser snapshot to settings.json.
Private deployments can opt into server persistence with OPENPENCIL_PERSIST_WEB_CREDENTIALS_SERVER=true. This setting is deployment-wide; each accepted browser snapshot replaces the shared browser-owned copy. Enable it only for a trusted, access-controlled deployment with one active administrator profile, behind HTTPS. Turning the setting off removes previously persisted browser-owned credentials at the next startup while preserving operator-owned configuration. As with all localStorage, same-origin scripts can read these values, so the web origin must be protected from untrusted scripts and XSS. Before downgrading to a release that predates this switch, turn it off and start the current release once to scrub the browser-owned copy.
The web host supports built-in API-key agents only. CLI and ACP agents remain native-only: they are not shown in the web model picker, stored in browser credential snapshots, synchronized to the server, or exposed through web connect routes. Browser requests to credential and AI endpoints allow loopback/localhost origins by default. A public reverse proxy must separately set OPENPENCIL_WEB_ALLOWED_ORIGINS to a comma-separated list of exact origins, for example https://demo.openpencil.dev.
Server persistence does not permit browser-controlled requests to loopback, private, link-local, metadata, or reserved provider endpoints. A trusted private deployment that intentionally uses an internal provider must separately set OPENPENCIL_WEB_AI_ENDPOINT_ALLOWLIST to a comma-separated list of exact URL origins, for example http://127.0.0.1:11434,https://llm.internal.example.
Or run as a desktop app:
cargo run -p op-host-desktopPrerequisites: Rust (stable) to build the product. Bun >= 1.0 and Node.js >= 18 are only needed for the web SDK under packages/.Tagged Rust releases publish a single web-host image. The retired TypeScript images with bundled AI CLIs are no longer published.
Image · Includes ghcr.io/zseven-w/openpencil-web:vX.Y.Z · Rust web host, wasm bundle, and CanvasKit assets
The web UI exposes built-in agent profiles only; Claude/Codex/OpenCode/Copilot CLI tooling is not bundled into Docker images.
Run:
VERSION="$(scripts/workspace-version.sh)"
docker run -d -p 3100:3100 "ghcr.io/zseven-w/openpencil-web:v${VERSION}"Then open http://localhost:3100/.
Build locally:
docker build -f Dockerfile.web-rust -t openpencil-web-rust .
docker run -p 3100:3100 openpencil-web-rustPrompt to UI
Multi-Agent Support
Agent · Setup Built-in (9+ providers) · Select from provider presets with region switcher — Anthropic, OpenAI, Google, DeepSeek, and more Claude Code · No config — uses Claude Agent SDK with local OAuth Codex CLI · Connect in Agent Settings (Cmd+,) OpenCode · Connect in Agent Settings (Cmd+,) GitHub Copilot · copilot login then connect in Agent Settings (Cmd+,)
Model Capability Profiles — automatically adapts prompts, thinking mode, and timeouts per model tier. Full-tier models (Claude) get complete prompts; standard-tier (GPT-4o, Gemini, DeepSeek) disable thinking; basic-tier (MiniMax, Qwen, Llama, Mistral) get simplified nested-JSON prompts for maximum reliability.
i18n — Full interface localization in 15 languages: English, 简体中文, 繁體中文, 日本語, 한국어, Français, Español, Deutsch, Português, Русский, हिन्दी, Türkçe, ไทย, Tiếng Việt, Bahasa Indonesia.
MCP Server