<ruby id="9ue20"></ruby>

  1. 
    

      国产午夜福利免费入口,国产日韩综合av在线,精品久久人人妻人人做精品,蜜臀av一区二区三区精品,亚洲欧美中文日韩在线v日本,人妻av中文字幕无码专区 ,亚洲精品国产av一区二区,久久精品国产清自在天天线
      網易首頁 > 網易號 > 正文 申請入駐

      我復刻了 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.

      相關推薦
      熱點推薦
      阿斯跟隊:皇馬即將迎來重要變革,計劃簽下3-4名關鍵球員

      阿斯跟隊:皇馬即將迎來重要變革,計劃簽下3-4名關鍵球員

      懂球帝
      2026-05-11 15:10:23
      5A 景區扛不住了!無序擴張后,年輕人已經徹底“祛魅”

      5A 景區扛不住了!無序擴張后,年輕人已經徹底“祛魅”

      爆角追蹤
      2026-05-04 13:09:11
      菲律賓民眾忍無可忍,馬科斯現任總統干不好,就讓莎拉來當一把手

      菲律賓民眾忍無可忍,馬科斯現任總統干不好,就讓莎拉來當一把手

      溫讀史
      2026-05-11 17:51:15
      邦本敢說大實話 老徐要變魔鬼!李金羽練啥了?球迷:上限是中甲

      邦本敢說大實話 老徐要變魔鬼!李金羽練啥了?球迷:上限是中甲

      刀鋒體育
      2026-05-11 08:38:03
      11順位,勇士又無了

      11順位,勇士又無了

      林子說事
      2026-05-11 11:07:49
      我國目前仍有兩個機場公安局實行垂直管理,其中一個設在高校內

      我國目前仍有兩個機場公安局實行垂直管理,其中一個設在高校內

      小圣雜談原創
      2026-05-09 15:58:24
      53歲葉檀談身后事:沒有子女上億家產留給誰?網友:還是得結婚生子

      53歲葉檀談身后事:沒有子女上億家產留給誰?網友:還是得結婚生子

      白淺娛樂聊
      2026-05-11 12:16:07
      重磅!國家正式出手!不生孩子的時代要結束了?

      重磅!國家正式出手!不生孩子的時代要結束了?

      生活魔術專家
      2026-05-11 14:56:12
      這段野史,比正史還真

      這段野史,比正史還真

      我是歷史其實挺有趣
      2026-05-09 17:22:35
      太意外,一聲招呼不打,國際奧委直接官宣上海辦賽,背后全是算計

      太意外,一聲招呼不打,國際奧委直接官宣上海辦賽,背后全是算計

      有范又有料
      2026-05-11 11:29:37
      談判破裂!央視回絕國際足聯報價,中國球迷還能看到世界杯嗎?

      談判破裂!央視回絕國際足聯報價,中國球迷還能看到世界杯嗎?

      米老鼠的世界
      2026-05-11 08:59:16
      國際油價漲超5%

      國際油價漲超5%

      齊魯壹點
      2026-05-11 13:01:22
      莫斯科遭250架無人機猛襲,6公里核心區被炸,俄司令火線撤職

      莫斯科遭250架無人機猛襲,6公里核心區被炸,俄司令火線撤職

      徐云流浪中國
      2026-05-11 17:46:52
      日乒主帥不甘心!盛贊梁靖崑的同時,張本智和竟成他口中的背鍋俠

      日乒主帥不甘心!盛贊梁靖崑的同時,張本智和竟成他口中的背鍋俠

      十點街球體育
      2026-05-11 11:41:37
      38歲向佑的終極報復,公開牽手南昌48歲金牙姐,向太這次真急了

      38歲向佑的終極報復,公開牽手南昌48歲金牙姐,向太這次真急了

      童叔不飆車
      2026-05-11 11:49:40
      湖人0比3絕境驗出真相:一個是實打實水貨,一個是能扛事的真悍將!

      湖人0比3絕境驗出真相:一個是實打實水貨,一個是能扛事的真悍將!

      林子說事
      2026-05-11 14:06:26
      中方備好國宴,搶在專機抵華前,特朗普變陣,普京怕啥來啥

      中方備好國宴,搶在專機抵華前,特朗普變陣,普京怕啥來啥

      牛鍋巴小釩
      2026-05-11 16:24:05
      恩里克:我們已經99.9%是法甲冠軍了;歐冠決賽是真正的目標

      恩里克:我們已經99.9%是法甲冠軍了;歐冠決賽是真正的目標

      懂球帝
      2026-05-11 10:56:05
      “東尼這么一個爛大街的名字,咱也不知道它是品牌啊”,英國一公司起訴山東小理發店商標侵權,代理律師曾否認惡意碰瓷,已有多家店被判賠

      “東尼這么一個爛大街的名字,咱也不知道它是品牌啊”,英國一公司起訴山東小理發店商標侵權,代理律師曾否認惡意碰瓷,已有多家店被判賠

      揚子晚報
      2026-05-11 07:36:46
      《魔法門之英雄無敵:上古紀元》EA評測8.9分:最后的英雄

      《魔法門之英雄無敵:上古紀元》EA評測8.9分:最后的英雄

      3DM游戲
      2026-05-11 17:05:52
      2026-05-11 18:32:49
      歸藏的AI工具箱 incentive-icons
      歸藏的AI工具箱
      關注人工智能、LLM 、 AI 圖像視頻和設計
      299文章數 51關注度
      往期回顧 全部

      科技要聞

      黃仁勛:你們趕上了一代人一次的大機會

      頭條要聞

      吳宜澤:能進攻時我從來不會防守 為此付出過很多代價

      頭條要聞

      吳宜澤:能進攻時我從來不會防守 為此付出過很多代價

      體育要聞

      梁靖崑:可能是最后一屆了,想讓大家記住這個我

      娛樂要聞

      “孕婦墜崖案”王暖暖稱被霸凌協商解約

      財經要聞

      "手搓汽車"曝光:偽造證件、電池以舊代新

      汽車要聞

      吉利銀河“TT”申報圖曝光 電動尾翼+激光雷達

      態度原創

      健康
      藝術
      數碼
      教育
      公開課

      干細胞能讓人“返老還童”嗎

      藝術要聞

      陸抑非寫竹,筆力遒勁

      數碼要聞

      羅技“超便攜”無線鼠標曝光:無物理滾輪,支持對折

      教育要聞

      一招教你差倍問題的解法!

      公開課

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

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 国产精品A片| 精品人妻免费看一区二区三区| 香蕉亚洲欧洲在线一区| 午夜免费国产体验区免费的| 亚洲中文字幕一区二区| 国产自产对白一区| 青草内射中出高潮| 免费午夜爽爽爽WWW视频十八禁| 国产成人丝袜网站在线看| 北岛玲亚洲一区二区三区| 蜜桃?一区二区视频在线观看| 俺来也www久久婷婷| 久久综合中文字幕一区二区三区 | 澳门永久av免费网站| 人人妻人人澡人人爽人人精品97| 青青草原网站在线观看| 国产超高清麻豆精品传媒麻豆精品| 国产在线一区二区在线视频| 97超碰人妻| 久久男人av资源站| 亚洲人成网线在线播放va| 特级西西4444www无码| 国产精品会所一区二区三区| 国产色AV| 人妻久久精品天天中文字幕| 影音先锋亚洲成aⅴ无码| 97久久精品人人澡人人爽| 天堂va欧美ⅴa亚洲va在线| www91国产| 老司机亚洲精品| 日韩熟女精品一区二区三区| 女人18片毛片60分钟| 2021国产最新在线视频一区| 亚洲欧美成人中文日韩电影网站| 狠狠色噜噜狠狠狠狠色综合网| 亚洲精品午夜精品| 亚洲国产理论片在线播放| 日本草逼视频免费观看| 潮喷无码正在播放| 亚洲色A| 成人精品不卡|