Paper Design

Polar Sponsor
爱发电 赞助
.NET 9.0

在 Paper(macOS 本地专业设计工具)中设计 UI 界面。创建画板、将 HTML 写入设计稿、截图并持续迭代优化。

纸质设计 — MCP Bridge Skill.

功能概述

纸质设计 — MCP Bridge Skill.是一项面向实际任务的技能,主要用于Paper是一个专业设计工具(类似于Figma),在macOS上本地运行. 这一技能通过HTTP连接到Paper的MCP服务器,让你完全设计Capabili.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Paper 设计 — MCP Bridge 技能

Paper 是一款运行在 macOS 本地的专业设计工具(类似 Figma)。本技能通过 HTTP 连接 Paper 的 MCP 服务器,为您提供完整的界面设计能力。

前提条件:必须已打开 Paper 并加载了一个设计文件。若 Paper 尚未运行,请提示用户先启动该应用。

如何使用 Paper

所有 Paper 操作均通过本技能目录下的 paper.sh 脚本执行:

exec {baseDir}/paper.sh  ''

重要提示:JSON 参数必须用单引号包裹,以防止 Shell 展开。

快速上手

# 1. 查看画布当前内容
exec {baseDir}/paper.sh get_basic_info

# 2. 创建一个新的移动设备画板
exec {baseDir}/paper.sh create_artboard '{"name":"Home Screen","styles":{"width":"390px","height":"844px","display":"flex","flexDirection":"column","backgroundColor":"#FAFAFA"}}'

# 3. 添加内容(每次仅添加一个视觉分组)
exec {baseDir}/paper.sh write_html '{"html":"
Home
","targetNodeId":"ARTBOARD_ID","mode":"insert-children"}' # 4. 截图以供审查 exec {baseDir}/paper.sh get_screenshot '{"nodeId":"ARTBOARD_ID"}' # → 保存至 /tmp/paper-screenshots/screenshot-TIMESTAMP.jpg # 5. 查看截图 image /tmp/paper-screenshots/screenshot-TIMESTAMP.jpg # 6. 完成操作后,释放工作状态指示器 exec {baseDir}/paper.sh finish_working_on_nodes

工具参考

读取画布信息

命令 用途
paper.sh get_basic_info 文件名、页面、画板列表、当前使用的字体
paper.sh get_selection 画布上当前选中的节点
paper.sh get_node_info '{"nodeId":"ID"}' 尺寸、可见性、父节点、子节点、文本内容
paper.sh get_children '{"nodeId":"ID"}' 直接子节点(含 ID 与类型)
paper.sh get_tree_summary '{"nodeId":"ID"}' 精简的层级概览(开销低)
paper.sh get_tree_summary '{"nodeId":"ID","depth":5}' 更深层级的结构
paper.sh get_computed_styles '{"nodeIds":["ID1","ID2"]}' 节点的 CSS 样式
paper.sh get_jsx '{"nodeId":"ID"}' JSX 代码(用于开发交接)
paper.sh get_font_family_info '{"familyNames":["Inter","DM Sans"]}' 字体可用性及字重信息

视觉审查

# 对画板或节点截图
exec {baseDir}/paper.sh get_screenshot '{"nodeId":"ARTBOARD_ID"}'

# 高分辨率截图(便于阅读小字号文本)
exec {baseDir}/paper.sh get_screenshot '{"nodeId":"ARTBOARD_ID","scale":2}'

# 保存至指定路径
exec {baseDir}/paper.sh get_screenshot '{"nodeId":"ARTBOARD_ID"}' --save /tmp/my-review.jpg

# 然后使用 image 工具查看截图
image /tmp/paper-screenshots/screenshot-TIMESTAMP.jpg

创建设计

# 创建移动设备画板
exec {baseDir}/paper.sh create_artboard '{"name":"Screen Name","styles":{"width":"390px","height":"844px","display":"flex","flexDirection":"column","backgroundColor":"#FFFFFF"}}'

# 创建桌面端画板
exec {baseDir}/paper.sh create_artboard '{"name":"Dashboard","styles":{"width":"1440px","height":"900px","display":"flex","flexDirection":"column","backgroundColor":"#F5F5F5"}}'

# 创建关联画板(紧邻已有画板排列)
exec {baseDir}/paper.sh create_artboard '{"name":"Screen V2","relatedNodeId":"EXISTING_ID","styles":{"width":"390px","height":"844px"}}'

向设计中写入 HTML

# 将元素作为子节点添加到目标节点
exec {baseDir}/paper.sh write_html '{"html":"
content
","targetNodeId":"PARENT_ID","mode":"insert-children"}' # 替换现有节点 exec {baseDir}/paper.sh write_html '{"html":"
new content
","targetNodeId":"OLD_NODE_ID","mode":"replace"}'

HTML 规则(关键):

  • 始终使用内联样式(style="...")
  • 所有布局均使用 display: flex — 不得使用 grid、inline 或 table 布局
  • 使用 padding 和 gap 控制间距 — 禁止使用 margin
  • 禁止使用 emoji 作为图标 — 应使用 SVG path
  • 为关键元素设置 layer-name="Semantic Name"
  • 可通过 font-family: "Font Name" 使用 Google Fonts
  • 字体大小必须使用 px 单位
  • 默认采用 border-box 盒模型计算方式

修改已有设计

# 更新节点样式
exec {baseDir}/paper.sh update_styles '{"updates":[{"nodeIds":["ID1","ID2"],"styles":{"backgroundColor":"#FF0000","padding":"20px"}}]}'

# 修改文本内容
exec {baseDir}/paper.sh set_text_content '{"updates":[{"nodeId":"TEXT_ID","textContent":"New text here"}]}'

# 复制节点(适用于重复元素,效率高)
exec {baseDir}/paper.sh duplicate_nodes '{"nodes":[{"id":"SOURCE_ID"}]}'
# 指定父节点进行复制:
exec {baseDir}/paper.sh duplicate_nodes '{"nodes":[{"id":"SOURCE_ID","parentId":"TARGET_PARENT"}]}'

# 删除节点
exec {baseDir}/paper.sh delete_nodes '{"nodeIds":["ID1","ID2"]}'

# 重命名图层
exec {baseDir}/paper.sh rename_nodes '{"updates":[{"nodeId":"ID","name":"Header"}]}'

收尾操作

# 完成画板操作后务必调用 — 用于释放工作状态指示器
exec {baseDir}/paper.sh finish_working_on_nodes

设计工作流(强制要求)

  1. 起始 — 调用 get_basic_info 查看画布当前状态
  2. 检查字体 — 在编写任何文字内容前,先调用 get_font_family_info
  3. 设计简报 — 编写 HTML 前需明确:配色方案(5–6 种十六进制色值)、字体选择、间距节奏、视觉方向
  4. 渐进式构建 — 每次 write_html 调用仅添加一个视觉分组(如页眉、一行内容、按钮组等),而非整屏内容
  5. 每 2–3 次修改后审查一次 — 执行 get_screenshot → image → 检查间距、排版、对比度、对齐、裁切等问题
  6. 修复问题后再继续
  7. 完成 — 完成画板操作后调用 finish_working_on_nodes

审查检查点(每 2–3 次修改后执行)

截图完成后,请评估以下方面:

  • 间距 — 间隙是否不均?是否过于拥挤?节奏是否清晰?
  • 排版 — 是否易读?层级结构是否明确?
  • 对比度 — 文字对比度是否偏低?元素是否相互混淆?
  • 对齐 — 垂直/水平对齐线是否一致?
  • 裁切 — 内容是否被边缘截断?

默认画板尺寸

设备 宽度 高度
移动设备(iPhone) 390px 844px
平板设备(iPad) 768px 1024px
桌面端 1440px 900px

故障排查

  • “Paper 未运行” — 请先在 macOS 上打开 Paper 应用
  • “无法初始化 MCP 会话” — Paper 必须已打开一个设计文件(而不仅仅是启动了应用)
  • 返回空响应 — 节点 ID 可能有误;请使用 get_basic_info 查询有效 ID
  • 会话过期 — 脚本将自动使用新会话重试;若持续失败,请删除 /tmp/paper-mcp-session

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习