前言¶
在 DeepSeek Harness 的插件體系裏,工具調用常常會把外部數據直接帶入模型上下文。若要讓智能體在寫前端代碼前查看 Figma 設計,直接把完整 Figma JSON 交給模型,可能帶來上下文膨脹、節點規模不可控,以及憑據暴露等風險。
FrameEvidence 針對這個問題提供一個只讀的 Figma REST 設計證據插件:它只返回有邊界的節點樹或單個節點的臨時渲染 URL,不寫 Figma,也不把 Figma PAT 暴露給模型。
這是什麼¶
FrameEvidence 是 fieldnote-ops 維護的 MIT 許可插件,定位爲 DeepSeek Harness 的 bounded, read-only Figma REST design evidence plugin。
它面向需要讓智能體在實現前獲取有限 Figma 設計信息的場景,核心目標是控制 Figma 數據進入模型上下文時的規模,並約束憑據訪問邊界。
核心功能¶
FrameEvidence v0.1 提供兩個主要工具:
figma_inspect:返回有邊界、偏實現細節的 Figma 節點樹,而不是把 Figma 完整 JSON schema 倒入模型上下文。figma_render:爲單個節點返回臨時 PNG、JPG、SVG 或 PDF 渲染 URL。
它的訪問和數據邊界如下:
- 只讀訪問:僅對
https://api.figma.com/v1發起 REST 請求,拒絕重定向,不寫 Figma。 - 憑據邊界:Figma PAT 從主機環境變量讀取,不作爲模型工具參數接受,也不在工具或 probe 輸出中返回。
- 上下文邊界:原始 API 響應有字節上限,節點樹深度和節點數在到達模型前被限制。
- 速率壓力:成功讀取在內存中緩存,用於減少 Figma REST 速率限制壓力。
- 變量邊界:Figma Variables REST API 是 Enterprise-only,因此 v0.1 保留綁定的變量 id,但不獲取變量值。
安裝與啓用¶
先確認運行環境滿足 Node 版本要求:
Node ^22.19.0 || >=24.0.0
插件還依賴以下 peer packages:
@deepseek-ai/cordis ^4.0.1
@deepseek-ai/dsh-tools >=0.1.0-rc.6 <0.2.0
@deepseek-ai/schemastery ^3.18.1
安裝到 DSH 的 Web profile:
dsh plugin --profile web add github:fieldnote-ops/frameevidence#97f67c9a049a26c9e8b38e7e764d2572897a6429
上面的命令固定到一個公開的 commit。若後續要把真實 Figma token 或設計文件納入流程,建議 pin 一個已經審查過的 commit,而不是直接使用 main。
插件會以當前 dsh 進程權限運行。安裝前,建議檢查源碼、許可證、依賴清單和工具調用面,確認其只讀邊界符合你的安全要求。
典型用法¶
- 安裝插件到 Web profile:
dsh plugin --profile web add github:fieldnote-ops/frameevidence#97f67c9a049a26c9e8b38e7e764d2572897a6429
- 創建 Figma PAT。只給
file_content:read權限。Figma PAT 最長 90 天過期,因此建議選擇較短有效期,並在 probe 後不再需要時撤銷。
爲了避免 PAT 進入 shell history,可以交互式讀入環境變量:
printf 'Figma PAT: '
IFS= read -r -s FIGMA_ACCESS_TOKEN
printf '\n'
export FIGMA_ACCESS_TOKEN
npx @deepseek-ai/dsh web
-
啓動 Web profile 後,給智能體一個 Figma file URL 或 node URL,並讓 token 所屬賬號能夠訪問該資源。然後讓它先在實現前檢查設計,而不是直接生成代碼。
-
如果你要執行可選的 live API probe,需要先克隆倉庫,然後在倉庫目錄中運行:
npm ci --ignore-scripts --registry=https://registry.npmjs.org
再注入 PAT 和你要探測的 Figma node URL:
printf 'Figma PAT: '
IFS= read -r -s FIGMA_ACCESS_TOKEN
printf '\nFigma node URL: '
IFS= read -r FRAMEEVIDENCE_URL
export FIGMA_ACCESS_TOKEN FRAMEEVIDENCE_URL
npm run live:smoke
unset FIGMA_ACCESS_TOKEN FRAMEEVIDENCE_URL
這個 probe 是 opt-in 的,不會自動執行。
- 做本地開發檢查時,可以運行:
npm install
npm run check
適用場景與注意¶
FrameEvidence 適合這類開發流程:
- 你需要在 DSH 中讀取 Figma 節點信息,用於生成前端代碼前的設計參考。
- 你希望控制返回給模型的節點樹規模,避免完整 Figma JSON 進入上下文。
- 你希望插件只讀訪問 Figma REST API,不寫 Figma。
- 你希望 Figma PAT 只來自主機環境變量,不進入模型工具參數或工具輸出。
需要特別注意:
- 該插件是隻讀設計,不寫 Figma。
- 請求只發往
https://api.figma.com/v1,重定向會被拒絕。 figma_render返回的 PNG、JPG、SVG、PDF URL 是臨時 URL,不應作爲持久化存儲。- Figma REST 速率限制取決於 seat 和 plan。
- Figma Variables REST API 是 Enterprise-only。v0.1 保留綁定的變量 id,但不獲取變量值。
- 可選的 live API probe 尚未對真實 Figma 文件執行過。
- Marketplace acceptance 仍未驗證;目前沒有獨立用戶採用、purchase validation 或 income 記錄。
- 該項目是獨立開源項目,與 Figma, Inc. 或 DeepSeek 沒有 affiliation、sponsorship 或 endorsement 關係。
- DSH 社區目錄是獨立站點,不應被理解成官方應用商店。
結尾¶
FrameEvidence 的價值在於把 Figma 設計信息整理成更適合智能體使用的有邊界證據:只讀、有上下文上限、憑據不外泄,並提供 figma_inspect 與 figma_render 兩個基礎工具。
目錄頁:
https://www.skillhub.cn/plugins/fieldnote-ops/frameevidence
GitHub:
https://github.com/fieldnote-ops/frameevidence