DSH to Figma:在 Harness 里读写 Figma 画布

前言

在 DSH 里做界面相关任务时,常见做法是贴截图、口述布局,或单独开 Figma 桌面 MCP 做只读查询。前者缺少可编辑的结构与变量信息,后者若走官方远程 MCP,还会占用调用额度。维护者 Duoasa 的 DSH to Figma(仓库 Duoasa/DSH-to-Figma)把 Figma 画布能力做成原生 DSH 插件:默认 local 模式通过本机配套 Figma 插件桥接,读取与编辑设计、导出素材与截图;本地路径不消耗官方 Figma MCP 调用额度。插件归类为社区目录中的「联网工具」,GitHub 约 6 stars,许可证 MIT,状态为 preview。

下面介绍它解决什么问题、具备哪些已文档化的能力,以及如何安装与上手。

这是什么

DSH to Figma 面向已使用 DeepSeek Harness 的开发者与设计协作场景:在宿主内暴露 Figma 相关工具与 figma-workbench Skill,让 Agent 读取图层结构、布局与 CSS、组件与变量,在画布上创建或修改 Frame、文字、自动布局等,并把截图经 DSH 原生图像附件回传。默认 local 模式下,DSH 启动会在 DSH_HOME 下生成本机专用、已配对的 Figma 开发插件;在 Figma 桌面端首次导入 manifest 后,保持 DSH to Figma · Local 窗口打开即可连接,推荐流程无需复制配对密钥。

已文档记载兼容的 DSH 内核包括 0.2.0-rc.2 与 0.2.1-rc.2;仓库 尚未发布到 npm,安装包从 GitHub Releases 获取。

核心功能

本地模式(默认 backend: local)

配套 Figma 插件在目标文档内调用公开 Plugin API,支持画布脚本、结构检查、截图与设计上下文、设计系统查询、素材上下行等。README 记载默认本地模式提供 17 个名称前缀为 mcp__figma__… 的画布类工具,以及 5 个接入与指南工具,例如:

工作流 代表工具
画布脚本 use_figma、import_scene
结构检查 get_selection、list_fonts、get_metadata
截图与设计上下文 get_screenshot、get_design_context、get_figjam
设计系统 get_variable_defs、search_design_system、get_component_context 等
素材 upload_assets、download_assets(导出可写入工作区 .figma/assets/<batch>/)
接入 figma_setup、figma_status、figma_select_document 等

画布截图进入 DSH 图像附件;若模型不支持图像,插件会明确报告限制。组件搜索以当前页面为范围,样式与变量搜索以本地文件为范围,不等同于全云端设计库检索或已发布的 Code Connect 映射。

可选官方桌面 / 远程模式

  • desktop:backend: desktop,走 Figma 内置桌面 MCP(默认地址 http://127.0.0.1:3845/mcp),侧重读取与截图,没有 use_figma 等画布写入工具。
  • remote:backend: remote,经 dsh-figma login 与获批 OAuth,能力取决于 Figma 侧审批与服务器工具目录。

本地桥接默认监听 3055 端口,仅 loopback,并按 README 说明校验配对密钥。

安装与启用

1. 安装 DSH 插件包

从 Releases 下载 dsh-to-figma-<版本>.tgz 及 SHA256SUMS,核对校验和后,用当前宿主对应的 CLI 与 profile 安装。README 中的手动示例(将 web 换成实际 profile,路径改为本机绝对路径)如下:

dsh plugin --profile web add "file:/绝对路径/dsh-to-figma-0.2.1.tgz"

macOS 官方 DSH Desktop 可使用应用内 CLI 管理 desktop profile:

"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
  plugin --profile desktop add "file:/绝对路径/dsh-to-figma-0.2.1.tgz"

安装后在宿主插件管理中确认 DSH to Figma 为运行中;若工具未出现,重启宿主或新建会话。安装成功不等于已与 Figma 连接。

也可在具备联网与终端权限的 DSH 会话中,按仓库 README「方式 A」发送完整中文安装提示词,由 Agent 按文档步骤下载、校验并执行 plugin add;维护者记载该流程曾在 DSH Desktop 0.2.1-rc.2 上实测通过。

2. 首次导入 Figma 配套插件

DSH 以 local 模式运行后,在会话中请求调用 figma_setup 获取本机生成的 manifest 路径(勿外传密钥)。默认 manifest 位置为:

~/.dsh/figma/companion/manifest.json

在 Figma 桌面端:Plugins → Development → Import plugin from manifest…,选中上述 manifest;打开目标 Design 文件,运行 DSH to Figma · Local,保持插件窗口打开。连接确认可调用 figma_status。

3. 配置要点(入口 dsh-figma)

字段 默认值 说明
backend local local / desktop / remote
bridgePort 3055 本机配套插件桥接端口
desktopServerUrl http://127.0.0.1:3845/mcp 官方桌面 MCP
toolCallTimeoutMs 120000 工具超时(1–300 秒)
oauthClientId 空 远程 OAuth 时使用

禁用方式:宿主插件管理器关闭,或设置 DSH_FIGMA_DISABLED=1 后启动宿主。修改 bridgePort 后需按文档重新生成并导入配套插件。

典型用法

连接后只读验证(不改动已有设计):

读取已连接的 Figma 文件,新建一张独立的自动布局卡片,标题为“Hello from DSH”。返回节点 ID,读回内容并截图。不要改动已有设计。

设计稿到前端(需在工作区具备写入权限):让 DSH 读取目标画板结构、样式/CSS、组件信息与截图,导出图标与图片到项目目录,再结合当前技术栈生成或修改页面。插件提供设计与素材上下文,交互与业务逻辑仍需按项目补充。

参考图或文字需求建稿:

在当前页面新建一个 1440 × 900 的任务管理界面,包含侧边栏、任务列表和详情面板,使用可编辑文字与自动布局。

批量改稿并视觉核对:

将这个画板中的主按钮统一为 40px 高、8px 圆角,检查文字是否溢出,修改后给我截图。

可选桌面 MCP 只读示例:先 figma_status,再读取画板元数据与截图,并明确要求不修改画布。

适用场景与注意

适合需要在 DSH 会话内持续迭代 Figma 设计、导出素材、把设计上下文交给同一 Agent 写代码的团队。README 列出的组合工作流包括:已有 UI 画板到前端、截图/需求重建可编辑 UI、批量改稿、复用组件与变量、素材交付与页面对照等;设计与代码不会自动双向同步,也不保证逐像素还原。维护者公布的实机验收范围包括自动配对、读取、创建与修改、截图、PNG 导出及文档中的截图重建案例,完整边界见仓库 CAPABILITIES.md 与 验证记录。

安装与使用前请注意:

  1. 插件与其他原生 DSH 插件一样,以当前 DSH 宿主进程权限运行;安装前请阅读源码与 MIT 许可证。
  2. 已配对插件与 DSH_HOME/figma 下的密钥含本机凭证,勿上传或公开分发;桥接仅本机访问。
  3. 画布写入非事务,失败可能留下部分修改;多文件连接时需用 figma_select_document 等明确目标。
  4. 截图与对话内容可能进入你所配置的模型提供方;OAuth 凭证存于本地私有文件,README 说明未使用系统钥匙串加密。

DeepSeek Harness 生态强调「一切皆插件」;SkillHub 目录页 为社区收录,与 DeepSeek / 幻方无官方从属关系。

结尾

DSH to Figma 把 Figma 画布读写、设计系统信息与素材导出收敛到 Harness 原生工具链里,默认 local 模式用本机配套插件完成编辑与截图,避免日常迭代消耗官方 MCP 额度。若你已在用 DSH 做设计到代码的闭环,可从 Release 安装包与 figma_setup 配对流程入手。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye