Token导航 LogoToken导航TokenDH.com
Ui Canvas MCP logo
设计创作未说明官方级别未说明来源级核验

Ui Canvas MCP

MCP Server

jsOM是一个可视化UI设计平台,能够将设计转换为精确的JSON规范,供任何LLM生成生产代码,实现人类创意与AI代码生成之间的桥梁。

工具数

7

提示词数

0

GitHub Stars

4

资源数

0
设计TypeScript可视化工具设计系统

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Alemusica

提供方

Alemusica

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

jsOM🎨

![License: Source Available](LICENSE) ](https://github.com/Alemusica/jsom) ](https://github.com/sponsors/Alemusica)

jsOM-权威设计师平台,LLM友好

直观地绘制UI→ 导出精确的JSON规范→ 任何LLM都会生成生产代码。人类创造力和人工智能代码生成之间的桥梁。

______________________________________________________________________

⚖️ 许可证变更通知

重要: 截至 2026年1月28日,jsOM根据 源可用许可证.

版本许可证状态
≤v1.4.0-beta (标签: v1.4.0-beta-MIT-LAST)MIT⚠️ 已弃用 -没有更新,没有支持
≥v1.5.0来源可用活跃的 -此处显示所有新功能

⚠️ MIT版本已弃用

MIT版本(v1.4.0-beta及更早版本)是 正式弃用:

  • 没有安全更新
  • 没有bug修复
  • 无新功能
  • 不支持
  • 建筑上的分歧 (不兼容很快)

使用MIT fork=使用废弃软件。

📋 阅读道德声明

127人在麻省理工学院克隆了jsOM。

如果你是其中之一: 阅读MIT-ETHICS.md

太长,读不下去了 你有合法权利。但是,为了商业利益而寄生个人开发人员的工作在道德上是破产的,社区会知道的。

适用于1.5.0之前版本(MIT版本)的用户

如果你在2026年1月28日之前在麻省理工学院下载了jsOM:

合法使用 (学习、内部工具、贡献):

  • 你很好,继续学习!

⚠️ 商业用途 (竞争对手产品、SaaS、品牌重塑):

  • 联系人: alessioivoycazzaniga@gmail.com
  • 讨论合作、许可、伙伴关系
  • 未申报的商业分叉将被公开跟踪

寄生虫使用 (沉默的竞争对手,零归因):

  • MIT-ETHICS.md
  • 您的叉子将公开上市
  • 社区判断是永久性的

注: v1.6.0+将使用AGPL许可的依赖项,使MIT分支在法律上与新代码不兼容。

分支

分支状态描述
master稳定发布,生产就绪
core开发开发部门
feature/*实验功能开发分支

👉 Try Live Demo

______________________________________________________________________

💖 支持这个项目

如果jsOM有助于您的工作流程,请考虑支持其开发:

赞助商级别

级别奖金
支持者 (5欧元/月)README中的名称,Discord访问
🚀 建造者 (10欧元/月)提前使用功能,优先支持
💎 赞助人 (25欧元/月)每月30分钟咨询,功能请求

______________________________________________________________________

🎯 这是什么?

UI画布MCP 是一种视觉设计工具,它:

  1. 让您直观地绘制UI -像Figma/Kotenote一样,有矩形、文本、按钮等。
  2. AI理解你的设计 -多代理管道分析布局、样式、层次结构
  3. 生成精确的规格 -导出任何LLM都能理解的通用格式
  4. MCP集成 -AI代理可以读取和操纵你的设计

关键见解: 你的画是真理的源泉。AI不会猜测布局——它使用你的精确设计。

______________________________________________________________________

🆕 最新动态(v1.4.0-beta-2026年1月)

风机枢轴-胎型风机布置

  • 钥匙扣隐喻 -在固定在枢轴点的钥匙链上排列钥匙等元素
  • 单击并拖动 -单击以放置枢轴,拖动以控制展开和旋转
  • 渐进旋转 -每个元素都比前一个元素旋转得更多,以获得自然的扇形效果
  • 物理安定 -手势释放后,元素会惯性沉降
  • 极坐标法控制 -角度控制旋转,距离控制扩散
  • 通过以下方式访问🌀 工具栏中的风扇图标(需要2+个选定元素)

PDD-物理驱动设计(世界范式)

  • 进入世界 -你走进一个物理环境,而不是“模拟”
  • 弹簧约束 -使用弹性弹簧连接元素(软、中、硬、反弹预设)
  • 实时物理 -通过Konva直接操作进行60fps模拟
  • 张力可视化 -实时查看约束力
  • 退出时提交 -离开世界,做出最终决定
  • 通过以下方式访问⚛️ 工具栏中的Atom图标

旋转曲线系统(Beta)

  • 智能旋转分配 -应用缓和曲线来控制多个元素之间的旋转
  • 预设曲线 -线性、易入/易出、对数、指数
  • 徒手画模式 -直接在画布上绘制自定义曲线
  • 实时预览 -绘制时查看旋转变化
  • 键盘控制 -Enter确认,ESC取消

TIP-Lite架构

  • 分层代码结构 -archetipi(纯数学)→ molecole(域规则)→ 风琴(配器)
  • 世界范式 -进入/退出,而不是启动/停止,以实现沉浸式交互
  • 应用于风扇枢轴和PDD模块

______________________________________________________________________

最新动态(v1.3.0-2026年1月)

UILayoutSpec v1.1(LLM优化导出)

  • 直接LLM指令 - llmContext 带有代码生成指导的字段
  • 双类型系统 -两者皆有 type (原始)和 semanticType (推断)透明度
  • 令牌优化 -基于fig2json研究的剥离默认值
  • 研究支持 -基于Addy Osmani的LLM工作流程最佳实践

精确模式和捕捉网格

  • 按住Shift键并拖动 -DAW/合成风格精细机芯(1/10精度)
  • Alt+拖动 -临时网格捕捉(Apple Keynote风格)
  • 实时叠加 -在精确模式下,坐标显示在光标附近

排版协调系统

  • 字体数据库 -15+种带有分类元数据的字体
  • 品牌原型 -干净、优雅、友好、古怪、技术型
  • 兼容性得分 -算法配对分析
  • 类型刻度 -移动、桌面、编辑预设

测试套件和代码质量

  • 维测试 -canvasStore的26个单元测试
  • Dompurify -用户输入的XSS防护
  • 四叉树 -O(log n)选框
  • 范围日志记录 -环境感知调试实用程序

______________________________________________________________________

📜 以前的更新(v1.2.0)

搅拌机风格平滑缩放

  • 指数标度 -使用感知线性变焦 Math.pow(2, -deltaY * ZOOM_SENSITIVITY)
  • 触控板友好 -不再使用双指变焦手势进行“拍摄”
  • 一致的感觉 -无论滚动速度如何,缩放行为都相同
  • 宽范围 -0.1倍至10倍变焦级别

TOON导出格式

  • 代币数量减少40% -LLM上下文窗口的优化表示法
  • 表格格式 -紧凑型表格中的元素、事件、语音注释
  • 元素标记 -语音注释引用具有@id语法的元素
  • 出口一体化 -在导出面板中与JSON、YAML、Markdown一起提供

扩展设备支持

  • 24+设备预设 -iPhone 16 Pro/Max、Pixel 9、三星S24、iPad Air、Galaxy Tab S9、MacBook Pro 14英寸、iMac 24英寸等
  • 设备感知蓝图 -根据设备类型(移动设备/平板电脑/台式机)自动缩放UI元素
  • 现代设备 -2024-2025年最新设备尺寸

语义层系统

  • HTML结构组织 -将元素组织到语义部分(导航、页眉、英雄、页脚等)
  • 双视图模式 -在经典(z-index)和语义(层次结构)视图之间切换
  • 快速分配 -一键式元素分配到各个部分
  • CSS提示 -每个部分都包括布局提示(flexbox、网格、定位)

多LLM支持

  • 双子座2.0闪光灯 -使用谷歌的最新模式,实现更快、更智能的一代
  • Olama集成 -具有qwen2.5:7b和minicpm-v的局部模型
  • 提供商切换 -轻松在云(Gemini)和本地(Ollama)之间切换

风格蓝图

  • 9个完整的设计系统 -包豪斯,瑞士,玻璃态,野兽派,材料,新态,复古80年代,日本,极简主义
  • 6 UI组件蓝图 -英雄、导航栏、登录页面、仪表板、产品卡片、个人资料
  • LLM优化 -每个蓝图都包括构图规则、调色板和元素规格
  • 设备感知缩放 -蓝图自动适应移动设备/平板电脑/台式机
  • 语义集成 -蓝图自动映射到语义部分

多智能体AI管道

  • LangGraph集成 -具有条件路由的有状态代理编排
  • 智能模式 -一键式AI生成与视觉分析
  • 知识库 -SurrealDB支持的设计智能
  • PHI算法 -黄金比例布局、间距和色彩和谐

增强画布

  • 选框 -拖动以选择多个元素
  • 语音笔记 -记录和转录设计笔记(Whisper支持)
  • 故事板录制 -跟踪动画元素的移动

______________________________________________________________________

🏗️ 建筑

┌─────────────────────────────────────────────────────────────────────┐
│                        UI Canvas MCP                                 │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  ┌──────────────┐    ┌─────────────────────────────────────────┐   │
│  │   Canvas     │    │         Multi-Agent Pipeline            │   │
│  │   Editor     │    │  ┌─────────────────────────────────┐   │   │
│  │  (React +    │───▶│  │        SimpleOrchestrator       │   │   │
│  │   Konva)     │    │  │   (Browser-compatible runner)   │   │   │
│  └──────────────┘    │  └─────────────────────────────────┘   │   │
│         │            │              │                          │   │
│         │            │  ┌───────────▼───────────┐             │   │
│         ▼            │  │     RouterAgent       │             │   │
│  ┌──────────────┐    │  │  (Intent detection)   │             │   │
│  │  Properties  │    │  └───────────┬───────────┘             │   │
│  │    Panel     │    │              │                          │   │
│  │  + Notes     │    │      ┌───────┴───────┐                 │   │
│  │  + Voice     │    │      ▼               ▼                 │   │
│  └──────────────┘    │  ┌────────┐    ┌───────────┐          │   │
│                      │  │ Vision │    │  Prompt   │          │   │
│  ┌──────────────┐    │  │ Agent  │    │ Engineer  │          │   │
│  │   Toolbar    │    │  │minicpm │    │  Agent    │          │   │
│  │  + PHI       │    │  └────┬───┘    └─────┬─────┘          │   │
│  │  Algorithms  │    │       │              │                 │   │
│  └──────────────┘    │       └──────┬───────┘                 │   │
│                      │              ▼                          │   │
│                      │  ┌───────────────────┐                 │   │
│                      │  │  ExecutorAgent    │                 │   │
│                      │  │ (Grid + Collision │                 │   │
│                      │  │   + Z-Index)      │                 │   │
│                      │  └───────────────────┘                 │   │
│                      └─────────────────────────────────────────┘   │
│                                     │                              │
│  ┌──────────────┐    ┌──────────────▼──────────────┐              │
│  │  MCP Server  │◀──▶│       Knowledge Base        │              │
│  │  (stdio)     │    │  - Style Systems            │              │
│  └──────────────┘    │  - Layout Patterns          │              │
│                      │  - Component Patterns       │              │
│                      │  - Design Rules             │              │
│                      └─────────────────────────────┘              │
│                                     │                              │
│                      ┌──────────────▼──────────────┐              │
│                      │         SurrealDB           │              │
│                      │   (Projects + Elements)     │              │
│                      └─────────────────────────────┘              │
└─────────────────────────────────────────────────────────────────────┘

______________________________________________________________________

🤖 多代理系统

代理管道

代理型号角色
路由器代理qwen2.5:7b对意图进行分类(创建/修改/愿景)
愿景代理minicpm-v分析屏幕截图,提取UI元素
Prompt工程师代理qwen2.5:7b将请求转换为设计规范
执行人代理人qwen2.5:7b生成带有定位的画布元素

智能模式功能

// Enable Smart Mode in LLMPanel
const orchestrator = new SimpleOrchestrator({ model: 'qwen2.5:7b' });

const result = await orchestrator.generate(prompt, device, {
  screenshot: imageData,           // Optional: analyze existing UI
  existingElements: elements,      // Context for modifications
  visionModel: 'minicpm-v',       // Vision model for screenshots
  onProgress: (step, progress) => console.log(step, progress),
});

LangGraph工作流(服务器端)

import { UIGenerationGraph } from './orchestration';

const graph = new UIGenerationGraph();
const result = await graph.invoke({
  userPrompt: "Create a login form with email and password",
  device: { name: 'iPhone 14', width: 390, height: 844 },
  screenshot: base64Image,  // Optional
});

______________________________________________________________________

🧠 知识库

知识库为代理提供设计智能:

风格系统

  • 瑞士国际 -大胆的排版,基于网格,色彩极简
  • 材料设计 -基于卡片、阴影、8dp网格
  • 玻璃态 -磨砂玻璃,透明,柔和的阴影
  • 粗野主义 -原始、单空间、严酷的边界
  • 日本极简主义 -极端的空白、大地色调

布局模式

  • 英雄区 -带CTA的全宽收割台
  • 仪表盘 -基于网格的卡片和指标
  • 表单布局 -带有验证标签的输入

设计规则

  • 间距指南(8px基准,PHI比例)
  • 排版层次
  • 颜色可访问性(WCAG AA)
  • 响应断点

______________________________________________________________________

🌀 PHI(黄金比例)算法

内置黄金比例实用程序,实现和谐设计:

import {
  phiSpacing,        // PHI-based spacing scale
  phiColorScale,     // Golden angle color harmony
  phiLayerPalette,   // Layer-aware color palette
  phiGridLayout,     // Golden rectangle grid
  sunflowerPattern,  // Vogel spiral arrangement
  ensureContrast,    // WCAG contrast checking
} from './shared/phi';

// Generate PHI spacing: 16, 26, 42, 68, 110...
const spacing = phiSpacingScale(16, 5);

// Generate harmonious colors using golden angle
const colors = phiColorScale(210, 5); // 5 colors from blue

// Layer-aware palette for UI hierarchy
const palette = phiLayerPalette(220, true); // Dark theme
// { background, surface, content, interactive, overlay }

工具栏操作

  • PHI间距 -协调元素间距
  • PHI颜色 -应用金色角度颜色分布
  • PHI螺旋 -在斐波那契螺旋中排列元素
  • 向日葵图案 -福格尔螺旋排列
  • PHI尺寸 -使用黄金比例缩放元素

______________________________________________________________________

🚀 快速开始

1.安装依赖项

git clone https://github.com/Alemusica/jsom.git
cd jsom
npm install

2.启动SurrealDB

surreal start --user root --pass root file:./data/ui-canvas.db

3.配置LLM提供程序

选项A:Ollama(当地)

# Text generation model
ollama pull qwen2.5:7b

# Vision model for screenshot analysis
ollama pull minicpm-v

选项B:Gemini 2.0 Flash(云)

# Set your Gemini API key
export VITE_GEMINI_API_KEY=your_api_key_here

4.运行应用程序

npm run dev

打开http://localhost:5173

______________________________________________________________________

☁️ Vercel部署

将canvas应用程序部署到Vercel:

1.安装Vercel CLI

npm i -g vercel

2.配置环境

创建 .env.production:

VITE_GEMINI_API_KEY=your_gemini_api_key
VITE_DEFAULT_PROVIDER=gemini

3.部署

vercel --prod
注: Vercel部署仅运行canvas应用程序(客户端)。要获得完整的MCP服务器功能,请部署到Node.js兼容的平台。

______________________________________________________________________

📦 项目结构

jsom/
├── src/
│   ├── canvas/
│   │   ├── components/
│   │   │   ├── CanvasStage.tsx    # Konva canvas with marquee
│   │   │   ├── Toolbar.tsx        # Tools + PHI buttons
│   │   │   ├── PropertiesPanel.tsx # Element properties
│   │   │   ├── NotesPanel.tsx     # Voice notes + transcription
│   │   │   ├── LLMPanel.tsx       # Smart Mode UI
│   │   │   ├── HelpPanel.tsx      # In-app manual
│   │   │   └── FisicaPanel.tsx    # Physics controls
│   │   ├── fan-pivot/             # Fan Pivot (TIP Lite)
│   │   │   ├── archetipi.ts       # Pure math functions
│   │   │   ├── molecole.ts        # Domain rules
│   │   │   ├── FanPivotWorld.ts   # World orchestration
│   │   │   └── useFanPivot.ts     # React hook
│   │   ├── pdd/                   # Physics Driven Design
│   │   │   ├── world/             # World paradigm
│   │   │   ├── constraints/       # Spring, rope, rigid
│   │   │   └── usePDDWorld.ts     # React hook
│   │   ├── services/
│   │   │   ├── agents/            # Multi-agent system
│   │   │   │   ├── BaseAgent.ts
│   │   │   │   ├── RouterAgent.ts
│   │   │   │   ├── VisionAgent.ts
│   │   │   │   ├── PromptEngineerAgent.ts
│   │   │   │   └── ExecutorAgent.ts
│   │   │   ├── orchestration/     # LangGraph + SimpleOrchestrator
│   │   │   │   ├── UIGenerationGraph.ts
│   │   │   │   └── SimpleOrchestrator.ts
│   │   │   ├── knowledge/         # Design Knowledge Base
│   │   │   │   ├── DesignKnowledgeBase.ts
│   │   │   │   └── types.ts
│   │   │   ├── llm.ts             # Ollama integration
│   │   │   └── toon/              # TOON format encoder
│   │   └── store/
│   │       ├── canvasStore.ts     # Zustand state
│   │       └── storyboardStore.ts # Animation recording
│   ├── mcp-server/
│   │   ├── index.ts               # MCP Server entry
│   │   └── storage.ts             # SurrealDB integration
│   └── shared/
│       ├── types.ts               # Shared types
│       └── phi.ts                 # Golden ratio utilities
├── docs/
│   └── assets/                    # Screenshots and demos
├── LICENSE                        # MIT License
└── README.md

______________________________________________________________________

🎮 键盘快捷键

关键行动
V选择工具
R矩形
T文本
C圆形
L直线
P路径/贝塞尔曲线
I图像
B按钮
N输入
删除/退格删除所选内容
⌘D重复
⌘⇧D用偏移量复制x5
⌘Z撤消
⌘⇧Z重做
⌘⇧H水平分布
⌘⇧J垂直分布
⌘⇧G配电网
⌘⇧R渐进式旋转
滚动缩放(搅拌机风格平滑)
Shift+滚动平移画布
F适合屏幕
拖动到空选框

______________________________________________________________________

🛠️ MCP服务器工具

工具说明
create_project创建新画布项目
add_element在精确位置添加元素
get_elements获取所有带有位置的元素
update_element修改图元属性
delete_element移除元件
export_layout_spec导出通用UI规范(YAML/JSON/TOON)
export_code生成React/HTML代码

MCP配置

{
  "mcpServers": {
    "ui-canvas": {
      "command": "node",
      "args": ["/path/to/jsom/dist/mcp-server/index.js"]
    }
  }
}

______________________________________________________________________

📱 设备预设

移动iOS: iPhone 16 Pro、iPhone 16 Pro Max、iPhone 15、iPhone 14、iPhone 14 Pro Max、苹果SE

移动安卓系统: 像素9,像素7,三星s 24,三星s 23

平板电脑iOS: iPad Mini、iPad Air、iPad Pro 11英寸、iPad Pro 12.9英寸

安卓平板电脑: Galaxy Tab S9,像素平板电脑

桌面: 高清1080p、2K、4K、MacBook Air 13“、MacBook Pro 14”、MacBook Pro 16“、Surface笔记本电脑、iMac 24”

______________________________________________________________________

🔧 发展

# Run everything (canvas + MCP server)
npm run dev

# Build for production
npm run build

# Run MCP server only
npm run mcp

# Canvas only
npm run dev:canvas

______________________________________________________________________

📚 文档

______________________________________________________________________

🤝 贡献

欢迎投稿!请阅读我们的投稿指南并提交PR。

  1. 分叉回购
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

______________________________________________________________________

🧩 技术栈

  • 前端: React 18, Konva.js, 状态, TailwindCSS
  • 人工智能: LangGraph、LangChain、Ollama(本地)、Gemini 2.0 Flash(云)
  • 愿景: minicpm-v,Gemini 2.0(用户界面截图分析)
  • 数据库: SurrealDB
  • 协议: MCP(模型上下文协议)
  • 部署: Vercel、Docker

______________________________________________________________________

📄 许可证

jsom源代码可用许可证v1.0

这个项目是 来源可用 但不是开源的。

  • 自由 用于个人、教育和非商业用途
  • 查看、修改、贡献 到源代码
  • 非商业用途 未经许可
  • 无竞争产品 或重塑品牌
  • 无再分配 用不同的名字

许可证 完整条款。

📜 MIT版本

如果你在麻省理工学院下载了jsOM(2026年1月27日之前),你有 法定权利 这个版本。 但请阅读 MIT-ETHICS.md道德期望 开源。

对于商业许可:alessioivoycazzaniga@gmail.com

______________________________________________________________________

🙏 致谢

______________________________________________________________________

Built with ❤️ by @FluturArt for the agentic future.

目录标签

目录标签

设计TypeScript可视化工具设计系统UI设计本地部署AI代码生成多LLM支持

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP