<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      我復刻了 Claude 剛發布的生成式 UI 交互!

      0
      分享至

      前天 Anthropic 在 Claude 里面上線了基于生成式 UI 的新交互。

      可以幫你在聊天信息流里面用地嗎可視化的方式介紹一些概念和信息,遠比原來的純文本要好理解。


      我之前就一直在看類似的方案,剛好 Claude 發了,我就感覺我也得加緊做了。

      同時剛好也可以逆向參考一下他的方案。

      瘋狂 PUA 了兩天 Codex 和 Claude 還真讓我搞出來了!


      這個功能能讓 AI 直接在聊天里畫交互式圖表,流式輸出,邊生成邊渲染。

      以前讓 AI 寫網頁,得等整個頁面代碼全部生成完才能渲染,等半天。

      現在不一樣了。

      你能看著圖表一筆一筆在畫布上畫出來,SVG 節點一個接一個冒出來。

      生成過程本身就很震撼,而且生成完直接就能交互。

      直接在我的 Agent 產品 Code Pilot 里面體驗:https://github.com/op7418/CodePilot

      這篇內容我就會介紹一下它的用法,以及具體的實現過程和一些注意事項。

      有哪些好玩的用法

      數據分析:數字終于能看懂了

      比如讓它畫一個"美國和伊朗沖突每天成本估算"的圖表。

      以前 AI 給你一大段文字,數字關系根本看不清。

      現在直接出圖表,每部分金額多少一目了然,文字和圖表混在一起輸出,該解釋的解釋,該畫的畫。



      小工具:寫個可交互的計算器啥的

      讓它做一個復利計算器。

      拖滑塊改初始金額、改投資年限,下面的圖表和數字實時變化。

      這不是靜態圖片,是真的能交互的小工具。

      貸款計算、單位換算這類東西都能做。


      架構圖:程序員最愛

      你可以讓他幫你畫某個項目的架構,或者某一個實現方案的可視化。

      比如這里我讓它畫 API 到 JWT 身份驗證的完整流程。

      特性對比、流程圖、層級結構全是圖形化的,比看文字描述理解架構快太多了。


      分析線上數據

      還有個玩法直接丟一個 GitHub 倉庫鏈接給它,它自己抓數據然后可視化分析。

      比如這里我就把我自己的項目地址 Codepilot 發給他讓他分析。

      星數、fork 數、技術棧、架構設計、核心模塊,全部畫成圖表。

      一眼就能看清楚項目全貌,比讀一大段文字強多了。


      可以進行交互和深度解釋

      這個最強的是他跟模型結合的相當緊密,不是一頓輸出就完事了。

      你可以跟他生成的示意圖進行交互,讓他進行更詳細的解釋。

      比如這里我讓他解釋季風和洋流的關系。


      如果我們想更詳細的了解就可以點擊那個洋流機制的按鈕。

      就會自動向當前的模型發送指令,繼續幫你生成洋流機制的示意圖。


      當然我們可以進行更加復雜的交互,比如常見的物理數學公式的可視化。

      這種對于學生來說非常好用,每個參數都可以通過滑塊和輸入控制,動畫立刻會發生變化。


      國產模型支持

      Codepilot 實現之后不只是 Claude 能用。

      Kimi K2.5、Minimax M2.5、Anthropic 原生模型都跑得起來。

      K2.5 畫的圖形我覺得甚至比 Sonnet 4.6 還好看,架構分析也很詳細。

      如果用這個功能我推薦首選 K2.5 試試。

      好,到這里,模型的玩法基本上展示完了。

      如果你不關心是如何實現的,可以直接去裝個 Codepilot,愉快地玩耍了。

      如何實現的



      Claude 怎么做的

      Claude.ai 官方用的是 tool_use 機制。

      模型調用一個專用 tool 輸出結構化的 widget 內容,

      前端解析 tool 調用的 input 參數來渲染。

      這個方案在 Claude.ai 自己的架構下沒問題。

      但搬到 CodePilot 就不行了,原因有三個:

      第一,SDK 限制。
      CodePilot 用 Claude Agent SDK 的 preset: 'claude_code' 模式,
      沒法注冊自定義 tool。
      SDK 暴露的是 text delta 流,tool 層面擴展不了。

      第二,流式體驗。
      tool_use 的結果要等 input_json_delta 拼完才能渲染,
      不支持 HTML 增量渲染。
      代碼圍欄方式下,HTML 隨文本流式到達,邊生成邊預覽。

      第三,渲染隔離。

      Claude.ai 用 Shadow DOM 做隔離。

      我們選了 sandbox iframe。

      iframe 隔離更徹底——完全獨立的 JS 執行環境,

      CSP 精確控制資源加載,

      不存在樣式泄漏和腳本逃逸。

      我們怎么做的

      觸發:代碼圍欄

      模型輸出一段特殊的 Markdown 代碼圍欄來觸發渲染:

      show-widget
      {"title":"training_flow","widget_code":" ..."}

      這個格式復用了 CodePilot 已有的代碼圍欄模式
      (image-gen-request、batch-plan 等),
      前端 parser 鏈天然支持。


      渲染:sandbox iframe

      每個 widget 渲染在一個 sandbox="allow-scripts" 的 iframe 里。
      iframe 的 srcdoc 是一個精心構建的 receiver 頁面。

      CSP 策略只放行 4 個 CDN 域名的外部腳本,
      connect-src 'none' 禁止所有網絡請求。

      通過 postMessage 接收內容更新。
      流式預覽階段發 widget:update,不執行腳本。
      最終渲染發 widget:finalize,執行腳本。

      ResizeObserver 監聽內容高度變化,

      通過 postMessage 報告給父頁面。

      所有 點擊被攔截,
      轉發給父頁面在新窗口打開。

      主題同步靠監聽父頁面的 class 變化,
      實時切換深色/淺色模式。


      CSS 變量橋接

      這是讓 widget 跟應用視覺融合的關鍵。

      CodePilot 用 OKLCH 色彩空間的 CSS 變量。
      Anthropic 的 widget 設計指南用 --color-background-primary 這類標準變量名。

      橋接層在 iframe 初始化時,
      把 CodePilot 的變量值注入 iframe 的 :root。
      模型按指南寫的 CSS 就能直接用當前主題的顏色。

      深色模式切換時,
      父頁面檢測到 class 變化,
      重新算變量值推給 iframe。


      流式渲染

      這是整個實現里最復雜的部分。

      模型逐 token 生成。
      任意時刻收到的 widget 代碼都可能是不完整的 JSON、
      不完整的 HTML、不完整的 還沒到時,
      sanitizeForStreaming 剝離了開標簽,
      但標簽內的 JavaScript 代碼變成了裸文本節點,
      被瀏覽器渲染成可見內容。

      修復:在 StreamingMessage 的 partial code 提取后,
      檢測最后一個 有沒有匹配的 。
      沒有就在 位置截斷。
      widget 指南規定 script 放最后,截斷不影響視覺內容。
      截斷期間展示 shimmer 遮罩,
      狀態欄顯示"正在為可視化添加交互動畫"。

      iframe Ready 競態

      極少數情況下 widget 完全不渲染,停在 0px 高度。

      WidgetRenderer 通過 useEffect 注冊 message 事件監聽。
      但 iframe 的 receiver script 加載完就立刻發 widget:ready。
      如果 iframe 加載速度快于 React effect 執行,
      widget:ready 在監聽器注冊之前就發出去了,
      iframeReady 永遠不會變成 true。

      修復:在 iframe 元素上加 onLoad 回調兜底。
      onLoad 觸發時 receiver script 必然已執行完,
      是可靠的就緒信號。

      React 組件樹穩定性

      widget 在圍欄閉合瞬間閃一次。

      兩個問題疊在一起:
      流式 partial widget 沒有 React key,
      閉合后獲得 key="w-0",key 變了導致 remount。
      shimmer overlay 用外包

      實現,
      改變了組件樹結構,type 變了又導致 remount。

      修復:給 partial widget 算穩定的 key
      (w-N,N 是在最終 segments 數組中的預期位置),
      跟閉合后的 key 一致。
      shimmer overlay 移進 WidgetRenderer 內部,
      通過 showOverlay prop 控制。
      組件樹始終是 ,不變。

      整個生成式 UI 系統,

      難的不是"讓一段 HTML 在 iframe 里跑起來"。那很簡單。

      真正的復雜度在于:

      讓這個 iframe 在流式傳輸、組件生命周期切換、主題變化這些狀態轉換中,

      保持視覺上的穩定。

      每一個"閃一下""跳一下""消失一下",

      都要去理解 React 的 reconciliation、

      瀏覽器的渲染管線、

      postMessage 的時序。

      最終效果是:

      用戶看到模型的回復里自然地穿插著圖表和示意圖。

      就像它們本來就該在那里。

      這是今天的內容。如果覺得對你有幫助的話,可以幫我點個贊,或者是發給有需要的朋友。

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      海軍為全國人民送上重磅大禮:中國首艘核航母,離我們真的不遠了

      海軍為全國人民送上重磅大禮:中國首艘核航母,離我們真的不遠了

      飄逸的云朵
      2026-04-26 00:07:17
      廣東民警當街抓捕在逃人員:路人大哥一伸腳,嫌疑人頓時摔趴在民警跟前

      廣東民警當街抓捕在逃人員:路人大哥一伸腳,嫌疑人頓時摔趴在民警跟前

      環球網資訊
      2026-04-25 18:20:16
      別再為華晨宇的眼淚買單!一個舞臺搞得像祭壇,不但要拆還要深挖

      別再為華晨宇的眼淚買單!一個舞臺搞得像祭壇,不但要拆還要深挖

      小娛樂悠悠
      2026-04-25 11:46:19
      太慘了!燃油車再迎大降價:最大跌幅50%,豪華車帶頭“跳水”

      太慘了!燃油車再迎大降價:最大跌幅50%,豪華車帶頭“跳水”

      沙雕小琳琳
      2026-04-23 02:29:16
      投進絕平三分,狂砍29+13+6,再恨詹姆斯的人都會被他徹底折服!

      投進絕平三分,狂砍29+13+6,再恨詹姆斯的人都會被他徹底折服!

      愛體育
      2026-04-25 22:23:45
      西方失算了,本想拖垮俄羅斯,不料中國出手,用黃金幫俄羅斯續命

      西方失算了,本想拖垮俄羅斯,不料中國出手,用黃金幫俄羅斯續命

      夜寒兮月孤靜
      2026-04-24 17:13:50
      就差1秒!特朗普欲發射核武器,軍方強行攔截,拒絕為總統扣扳機

      就差1秒!特朗普欲發射核武器,軍方強行攔截,拒絕為總統扣扳機

      瓦倫西亞月亮
      2026-04-23 23:09:51
      從外交部辭職后成美國間諜,潛伏中國多年,卻因寫的小說太真暴露

      從外交部辭職后成美國間諜,潛伏中國多年,卻因寫的小說太真暴露

      夢知談
      2026-04-25 09:02:37
      小米粥再次被關注!醫生發現:糖尿病患者喝小米粥時要重視這6點

      小米粥再次被關注!醫生發現:糖尿病患者喝小米粥時要重視這6點

      芹姐說生活
      2026-04-25 12:32:30
      單身越久,死亡風險越高?中國科學家:每周2次性生活是安全線

      單身越久,死亡風險越高?中國科學家:每周2次性生活是安全線

      思思夜話
      2026-04-23 11:30:19
      雷陣雨+局地6級大風!北京4區雷電藍色預警中——

      雷陣雨+局地6級大風!北京4區雷電藍色預警中——

      BRTV新聞
      2026-04-25 19:58:56
      19歲女孩失控的人生:14個月在直播間豪擲1700萬公款

      19歲女孩失控的人生:14個月在直播間豪擲1700萬公款

      瀟湘晨報
      2026-04-24 22:36:30
      張雪機車召回事件升級!63歲技術專家:O型圈不是裝反 是位置裝錯

      張雪機車召回事件升級!63歲技術專家:O型圈不是裝反 是位置裝錯

      西莫的藝術宮殿
      2026-04-25 05:28:46
      沒想到!劣跡藝人張敬軒風波持續發酵,過往言論被一一扒出

      沒想到!劣跡藝人張敬軒風波持續發酵,過往言論被一一扒出

      一盅情懷
      2026-04-24 14:30:35
      孫楊綜藝表現惹眾怒,大V發文吐槽揭他往事,私生子傳聞被深扒

      孫楊綜藝表現惹眾怒,大V發文吐槽揭他往事,私生子傳聞被深扒

      古希臘掌管松餅的神
      2026-04-25 11:24:56
      特朗普察覺不妙,提前派人來中國探口風,下個月能不能來他很忐忑

      特朗普察覺不妙,提前派人來中國探口風,下個月能不能來他很忐忑

      上視韜說
      2026-04-25 23:30:05
      前瞻|重慶銅梁龍主場迎戰青島西海岸,能否沖擊五連勝?

      前瞻|重慶銅梁龍主場迎戰青島西海岸,能否沖擊五連勝?

      上游新聞
      2026-04-25 20:17:36
      兩屆奧運冠軍、中國羽毛球協會主席張軍“失聯”,知情人士:被紀監部門調查,與外界失去聯系已有十余日

      兩屆奧運冠軍、中國羽毛球協會主席張軍“失聯”,知情人士:被紀監部門調查,與外界失去聯系已有十余日

      臺州交通廣播
      2026-04-24 23:52:42
      上千業主入住多年無法辦房產證背后:一開發商多個樓盤涉違建、超建 住建局:已成立專班

      上千業主入住多年無法辦房產證背后:一開發商多個樓盤涉違建、超建 住建局:已成立專班

      紅星新聞
      2026-04-25 20:48:31
      北京車展最讓我失望的車:雷克薩斯全新ES,這是來搞笑的嗎?

      北京車展最讓我失望的車:雷克薩斯全新ES,這是來搞笑的嗎?

      沙雕小琳琳
      2026-04-25 21:35:26
      2026-04-26 00:56:49
      歸藏的AI工具箱 incentive-icons
      歸藏的AI工具箱
      關注人工智能、LLM 、 AI 圖像視頻和設計
      294文章數 46關注度
      往期回顧 全部

      科技要聞

      DeepSeek V4發布!黃仁勛預言的"災難"降臨

      頭條要聞

      媒體:美軍在中東罕見高密度集結 伊朗開始調整戰術

      頭條要聞

      媒體:美軍在中東罕見高密度集結 伊朗開始調整戰術

      體育要聞

      那一刻開始,兩支球隊的命運悄然改變了

      娛樂要聞

      《我們的爸爸2》第一季完美爸爸翻車了

      財經要聞

      90%訂單消失,中東旺季沒了

      汽車要聞

      2026款樂道L90亮相北京車展 樂道L80正式官宣

      態度原創

      游戲
      房產
      藝術
      健康
      公開課

      金發美少女魔王和我是鄰居!新游首曝美女角色太吸睛

      房產要聞

      新一輪教育大爆發來了!海口,開始瘋狂建學校!

      藝術要聞

      最適合作為抖音總部的大樓,它在福建莆田!

      干細胞如何讓燒燙傷皮膚"再生"?

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 久久婷婷久久一区二区三区| 国产av国片精品| 天天噜噜噜在线视频| 罗平县| 人妻a?v| 亚洲成人性爱网| 午夜亚洲av永久无码精品| 亚洲精品欧美综合二区| 在线观看黄片在线播放视频 | 亚洲成A人片在线观看无码不卡 | 久久久久人妻精品区一| 97成人碰碰久久人人超级碰oo| 一区二区三区无码高清视频| x66av| 久久99精品久久久久婷婷| 亚洲男人天堂网| 熟妇高潮一区二区| 高潮迭起av乳颜射后入| 亚洲乱码日产精品bd| 亚洲精品字幕| 亚洲三级黄色大片| 四川少妇大战4黑人| 日照市| 亚洲人成色77777在线观看| 成人日本有码在线| 大香焦一区二区三区| 亚洲激情偷拍| 亚洲最大成人在线播放| 国内精品视频区在线2021 | 东京热一本无码av| 午夜性刺激免费看视频| 国产成人av乱码在线观看| 精品成人av| 老头边吃奶边弄进去呻吟| 亚洲色网导航| 亚洲AV网站| 男人天堂手机在线| 亚洲中出无码| 欧美日韩精品一区二区三区钱| 加勒比无码av中文字幕| 夜爽8888视频在线观看|