Skip to main content
Glama
sevenyang129

flyu-design

by sevenyang129

flyu

Lokaler Client für Design-Dateien: parst Sketch-/Figma-Designvorlagen in ein einheitliches DSL v3 und stellt sie über eingebettetes MCP (HTTP, startet mit der App) für Cursor / Claude bereit, damit eine KI die Designvorlagen direkt ansehen, Code schreiben, Änderungen vornehmen und Bild-Assets exportieren kann.

Demo

https://github.com/user-attachments/assets/51cc3c6-8413-4c3b-8bfd-7fd135e26a3c

Lizenz: MIT. Hinweise zu Drittanbietern: NOTICE.md. Sicherheitsmeldungen: SECURITY.md. Beitrag leisten: CONTRIBUTING.md.

Die Dateiformate und Marken von Sketch und Figma gehören den jeweiligen Rechteinhabern. Dieses Projekt parser die importierte .sketchdsock / .fig**auf dem lokalen Rechner des Benutzer**, ohne Herstellerlizenz und ohne Jinspruch auf eine Verbindung mit Figma, Inc. oder Sketch B.V. Bitte respectt die Nutzungsbedingungen und importiere nur design-Dateien, die du vetwenden darfst. Die Einllegung für.figDecodierung findst du incrates/fig-kiwi-rs`.

Benutzerdokumentation: docs/user-guide.md ( installation / Funktionsland / Formulierungen / Fehllerbehebung) ; Details zu den MCP-Werkzeugen: docs/writ-tools-guarde.md.

Related MCP server: figma-opencode-mcp

Entwicklung

pnpm install        # 安装依赖(postinstall 会把 better-sqlite3 编到 Electron ABI)
pnpm dev            # 启动 Electron + HMR
pnpm typecheck      # 类型检查(main + renderer + mcp + tests)
pnpm lint           # ESLint
pnpm test           # 单元 + 契约测试(tsx --test)
pnpm test:visual    # 渲染像素回归(改 import/render 后必跑)
pnpm build          # 构建到 out/(含 main/preload/renderer/mcp)
pnpm dist           # 打本机未签名 mac 双架构(arm64 + x64).dmg → release/

paketieren (macOS lokal, ungetignet)

pnpm dist           # build + electron-builder → release/flyu-*-mac-arm64.dmg + flyu-*-mac-x64.dmg
pnpm dist:dir       # 只打 arm64 .app 到 release/mac-arm64/(便于调试)

Zwei-Architekturen: electron-builder paetert pro Zieelarchitektur; better-sqlite3 wird für gadere Archivterktur neuen kom guile (Cross-Kompile x64 auf ARM64-Host verifiziert). Die Artefake sind unsigned Pakete (identity: null); nach der Installation. Keiterationet wird die App "非鱼". Wenn Gatekeeper beim lokalen Öfffn verhindern: Rechtsklick → Öffnen. Nicht test damage with pnpm dev gestarten (the singleton locks the second process exits immediately).

MCP Server

Zwei Anbindungsmethoden, gleiche tools/prompts (29 Tools + 4 Unterschrecks):

  • HTTP (empfohlen): Der Klient enthält einen eingebetteten Streamable-HTTP-Server, startet mit der App. Einstellungen → MCP-Netzungsconfigration → Kopieren (URL + Bearer token). Default Port spa=332677 und bleibt gespeichert, wird nur bei Belegung zeweit we alter; Token wird in userData/mcp-token (0600) individualised, z.B.

  • stdio (Alternative, lokale Node erforderlich): node out/mcp/server.js. Voraussetzung ist eine vorhandene Datenbank (App seit minmindestens einmal einmal).

Bauen des stdio-Einstiegs

pnpm mcp:build      # esbuild 打包到 out/mcp/server.js
pnpm mcp:dev        # tsx 直跑(调试用)

Verifizierung (JSON-RPC unduell)

echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | pnpm mcp:dev

Sollte serverInfo: { name: "flyu-design", "version": "1.0.0" } zurück.

Fallstricke bei der lokalen macOS-Entwidlung (twoch ABIs + Code-Signatrikt)

  1. ABI-Umstellung: better-sqlite3 kann zu jedem Zeitpunkt für die AAA AA kompiliert werden.

    • Für Electron: pnpm-rebuild (via electron-rebuild)

    • Für direktes Node (MCP-Debugging / tsx-Test): cd node_modules/.pnpm/better-sqlite3@*/node_modules/better-sqlite3k && ./node_modules/.bin/prebuild-install/r node

    • Syptome: mit falschem Runtime kommt z.B. NODEMODULE_VERSION 130 vs 190.

  2. Code-Signatur: Das Prebuilt .node von npm wird auf macOS 26+ von AMFI mit alla „Invalid-Page” beendet (SIGKILL, exit 137, stderr leer). behebung:

codesign --remove-signature node_modules/.pnpm/better-sqlite3@*/node_modules/better-sqlite3/build/Release/better_sqlite3.node
codesign --force --sign -       node_modules/.pnpm/better-sqlite3@*/node_modules/better-sqlite3/build/Release/better_sqlite3.node

Nach jedem prebuild-install erneut aussführen. Später beim Pakten automatisch mit dem electron-builder-Signatur/Hook an.

Verzeichnis

src/
├── main/           Electron 主进程(DB / IPC / 渲染 / 导入导出)
│   ├── import/     双通道导入:sketch-*(.sketch)/ fig-*(.fig 本地,@open-pencil/core)
│   │               + html-to-dsl(HTML 生成)、collect-tokens(共享令牌统计)
│   ├── render/     渲染调度(fig 走 Skia 直渲;sketch 走 DSL→HTML→Chromium)
│   ├── export/     dsl-to-jsx / dsl-to-fig / vector-to-svg / code-snippets / cut-cache
│   ├── tokens/     设计令牌(L1 命名令牌 / L3 组件令牌 / tokenize)
│   ├── db/         SQLite(writers / write-ops / write-docs / restyle / migrations)
│   └── ipc/        渲染进程桥(files / folders / explorer / mcp-config / library)
├── preload/        contextBridge 桥
├── renderer/       React + AntD UI
├── mcp/            MCP Server:server.ts(stdio)+ tools.ts(聚合器)+ tools-*.ts(8 个域模块)
├── shared/         三端共享(DSL v3 类型 / IPC 通道 / 错误码 / 路径)
└── native/         fig-kiwi WASM(由 crates/ 编译)

crates/             Rust 原生(.fig Kiwi 解码)
resources/          打包图标 icon.png / icon.icns
docs/               用户教程 / 写能力设计与工具文档
scripts/            正式脚本(icons / wasm / 视觉回归)
tests/              单元与契约测试

Lokale Laufzeitdaten liegen im Benutzerverzeichnis (~/Library/Application Support/flyu) und natürlich in .tokensave/ (gitignored); Build- Artefakte in out/.

Aktueller Stand

  • Zwei-Kanal-Import: .sketch / .fig digital (@copy (one-core)

  • vereinheitlichtes DSL v3 + SQLite-Ablage + Version-Baudio

  • Rendering: fig Skia direkterly; sketch/ai DSL→HTML→Chromium; degraded explicitly reported

  • M24 26 Tools + 4 Prompts (Navigation / Daten / visual / Code / Assets / write operations / semanwik operations)

  • Schreib-Funktion: Ausstellung applyOperations/reful (dryRun) / create_copy /prose_document_layout / file copy

  • export: get_html (self-contained singleton) / get_codex (JSX + Tailwind, vw/remnox) / export_fig (.fig) etc., download_assets (SVG / PNG / original)

  • Design tokens: L1 namens tokens (fig variables/standard quantities, CSS/DTCG export) + L3 component token /oversights (within

  • Windows / Linux - Installer (config)presete, notn) verstatic

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Bidirectional MCP bridge enabling AI assistants to draw UI on Figma canvas and read designs back as structured data or code tokens via localhost, requiring Figma Desktop.
    5
    458
    225
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI IDEs to query Figma design tokens, component specs, and audit issues via MCP tools, without cloud subscriptions.
    MIT

View all related MCP servers

Related MCP Connectors

  • The Figma MCP server brings Figma design context directly into your AI workflow.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sevenyang129/flyu'

If you have feedback or need assistance with the MCP directory API, please join our Discord server