国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

auto-webmcp 3天迭代3次:React表單這個(gè)坑

0
分享至


一個(gè)腳本標(biāo)簽,讓網(wǎng)頁(yè)上所有表單變成AI可調(diào)用的工具——不用手寫JSON Schema。這是auto-webmcp第一版的承諾。過(guò)去48小時(shí),他們?cè)庥隽苏鎸?shí)網(wǎng)頁(yè)的每一種刁難:React表單跟你對(duì)著干、游離在form標(biāo)簽外的輸入框、撒謊的下拉菜單,還有新版WebMCP規(guī)范里讓工具好用10倍的新字段。

好消息是,v0.3.0全解決了。

React的"影子狀態(tài)":你改了DOM,它裝沒(méi)看見

原生表單像敞開的倉(cāng)庫(kù),直接進(jìn)去搬東西就行。React表單是個(gè)黑箱——你往input.value塞數(shù)據(jù),界面變了,React的狀態(tài)管理卻毫無(wú)知覺。

DOM顯示"foo",React內(nèi)部記的還是空字符串。表單提交時(shí),數(shù)據(jù)干干凈凈地消失了。

auto-webmcp的解法很粗暴:繞過(guò)React的合成事件系統(tǒng),直接操作HTMLInputElement的原型方法。先調(diào)用原生setter改值,再手動(dòng)拋出一個(gè)冒泡的input事件,騙過(guò)React的onChange監(jiān)聽:

// 內(nèi)部處理React受控輸入的方式 const nativeSetter = Object.getOwnPropertyDescriptor( HTMLInputElement.prototype, 'value' ).set; nativeSetter.call(input, value); input.dispatchEvent(new Event('input', { bubbles: true }));

老舊的content-editable編輯器用execCommand插入文本?也做了降級(jí)兼容。

更隱蔽的坑:AI填完表,React觸發(fā)重渲染,字段值可能被重置?,F(xiàn)在他們?cè)谔畛渫瓿珊罅⒓床东@快照,提交時(shí)用這個(gè)快照構(gòu)造響應(yīng),而不是回頭去查可能已經(jīng)變了的DOM。

多步React流程里,表單字段是懶加載的。MutationObserver的重新分析加了防抖——新字段出現(xiàn)時(shí)自動(dòng)更新schema,不會(huì)重復(fù)注冊(cè)工具。

ARIA角色:屏幕讀者能讀的,AI也該能讀

網(wǎng)頁(yè)上大量輸入框根本不是input元素。富文本編輯器、自定義下拉、日期選擇器——它們靠role="textbox"、role="combobox"、role="spinbutton"告訴屏幕閱讀器"我是輸入框"。

auto-webmcp現(xiàn)在讀同樣的信號(hào)。帶ARIA輸入角色的元素會(huì)被納入schema,字段名從aria-label或關(guān)聯(lián)的label元素推斷。

React里常見一種情況:輸入框沒(méi)有name屬性,表單狀態(tài)存在JS里而非DOM中?,F(xiàn)在用id或aria-label作為schema字段的key,AI仍能按名稱引用和填充。

一個(gè)具體修復(fù):Ghost的郵件訂閱表單用了input type="email",沒(méi)有name也沒(méi)有id,只有一個(gè)placeholder。以前這種表單被靜默忽略,現(xiàn)在placeholder直接當(dāng)字段key和標(biāo)題用。

WebMCP規(guī)范:讓工具從"能用"變"好用"

v0.3.0完整支持新版WebMCP規(guī)范的幾個(gè)關(guān)鍵字段。destinations字段讓工具聲明自己能往哪發(fā)請(qǐng)求——某些代理會(huì)據(jù)此決定是否調(diào)用。annotations.cost提示工具的執(zhí)行成本,幫助代理做預(yù)算控制。示例字段直接告訴AI"這個(gè)參數(shù)該填什么格式"。

這些不是裝飾。一個(gè)沒(méi)填destinations的工具,可能在代理眼里根本不存在;沒(méi)給annotations.cost的,可能在復(fù)雜工作流里被無(wú)限期擱置。

schema生成也有改進(jìn)。textarea現(xiàn)在正確標(biāo)記為多行文本,number和range輸入框帶上min/max約束,checkbox和radio的選項(xiàng)從label文本提取而非留空。

錯(cuò)誤處理更細(xì)了。表單驗(yàn)證失敗時(shí),返回的結(jié)構(gòu)包含具體字段的錯(cuò)誤信息,代理可以針對(duì)性重試而非盲目再填一遍。

性能方面,大型表單的schema生成快了約40%。他們緩存了DOM查詢結(jié)果,避免在復(fù)雜表單里反復(fù)遍歷同一棵樹。

一個(gè)被反復(fù)請(qǐng)求的功能:現(xiàn)在支持通過(guò)data-auto-webmcp="exclude"屬性手動(dòng)排除特定字段。敏感信息、CSRF令牌、裝飾性輸入——開發(fā)者可以精確控制AI能看到什么。

文檔站點(diǎn)同步更新,每個(gè)新特性都有可運(yùn)行的代碼片段。GitHub Releases頁(yè)面列出了完整的遷移指南,從v0.2.x升級(jí)通常只需改幾行配置。

團(tuán)隊(duì)在社區(qū)討論里提到,下一個(gè)版本的重點(diǎn)是多頁(yè)應(yīng)用支持——目前auto-webmcp假設(shè)所有表單都在當(dāng)前頁(yè)面上,SPA路由切換后的新表單需要重新初始化。他們正在探索與React Router、Vue Router等主流方案的無(wú)縫集成。

如果你在用React做后臺(tái)系統(tǒng),表單復(fù)雜到讓人頭疼,現(xiàn)在有個(gè)問(wèn)題:你會(huì)愿意讓AI代理直接操作這些表單,還是寧可自己封裝API?

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

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.

相關(guān)推薦
熱點(diǎn)推薦
日軍官闖中國(guó)使館后,天皇玄孫迅速澄清,高市失聲,特朗普沒(méi)說(shuō)錯(cuò)

日軍官闖中國(guó)使館后,天皇玄孫迅速澄清,高市失聲,特朗普沒(méi)說(shuō)錯(cuò)

滄海旅行家
2026-03-26 13:46:41
韓媒臆想:中國(guó)隊(duì)歡呼吧,國(guó)際足聯(lián)同意他們替補(bǔ)世界杯

韓媒臆想:中國(guó)隊(duì)歡呼吧,國(guó)際足聯(lián)同意他們替補(bǔ)世界杯

體壇風(fēng)之子
2026-03-26 07:00:06
淚目!全紅嬋這張紅金海報(bào)藏深意:從湛江漁村到全球代言人

淚目!全紅嬋這張紅金海報(bào)藏深意:從湛江漁村到全球代言人

TVB的四小花
2026-03-26 12:18:20
日本自衛(wèi)官持刀闖入中國(guó)大使館,日本網(wǎng)絡(luò)輿論呼吁政府立即道歉

日本自衛(wèi)官持刀闖入中國(guó)大使館,日本網(wǎng)絡(luò)輿論呼吁政府立即道歉

徐靜波靜說(shuō)日本
2026-03-25 08:10:07
成都寶媽近一年狂掃5套“老破小”!地鐵口+軟裝實(shí)現(xiàn)以租養(yǎng)貸

成都寶媽近一年狂掃5套“老破小”!地鐵口+軟裝實(shí)現(xiàn)以租養(yǎng)貸

封面新聞
2026-03-25 21:28:05
日本內(nèi)閣官房長(zhǎng)官就“強(qiáng)闖使館”事件表態(tài)

日本內(nèi)閣官房長(zhǎng)官就“強(qiáng)闖使館”事件表態(tài)

新浪財(cái)經(jīng)
2026-03-25 18:48:42
岳云鵬現(xiàn)身上海,氣場(chǎng)跟以前完全不一樣了,助理當(dāng)街抽煙也不避諱

岳云鵬現(xiàn)身上海,氣場(chǎng)跟以前完全不一樣了,助理當(dāng)街抽煙也不避諱

仙味少女心
2026-03-24 16:47:29
第六險(xiǎn)來(lái)了!一文讀懂“長(zhǎng)護(hù)險(xiǎn)”

第六險(xiǎn)來(lái)了!一文讀懂“長(zhǎng)護(hù)險(xiǎn)”

極目新聞
2026-03-26 07:21:00
連場(chǎng)三雙,約基奇成為NBA歷史首位背靠背場(chǎng)均15+15+15的球員

連場(chǎng)三雙,約基奇成為NBA歷史首位背靠背場(chǎng)均15+15+15的球員

懂球帝
2026-03-26 14:02:09
出了一身臭汗,洗澡睡覺……

出了一身臭汗,洗澡睡覺……

鄉(xiāng)野小珥
2026-03-26 12:26:29
科學(xué)家在月球背面,發(fā)現(xiàn)了2200萬(wàn)億噸金屬,它們究竟從何而來(lái)?

科學(xué)家在月球背面,發(fā)現(xiàn)了2200萬(wàn)億噸金屬,它們究竟從何而來(lái)?

觀察宇宙
2026-03-25 20:24:45
“寫作業(yè)就頭痛,睡一覺又好了”,江蘇一家長(zhǎng)以為孩子裝病逃避學(xué)習(xí),為探究竟帶往醫(yī)院,結(jié)果孩子突發(fā)腦出血,被送ICU,家屬:正在恢復(fù)中

“寫作業(yè)就頭痛,睡一覺又好了”,江蘇一家長(zhǎng)以為孩子裝病逃避學(xué)習(xí),為探究竟帶往醫(yī)院,結(jié)果孩子突發(fā)腦出血,被送ICU,家屬:正在恢復(fù)中

瀟湘晨報(bào)
2026-03-26 11:49:57
美國(guó)最大的失誤就是一上來(lái)就把宋江給干掉了

美國(guó)最大的失誤就是一上來(lái)就把宋江給干掉了

仰望星空的一粒沙子
2026-03-14 16:25:14
東契奇:六連客最滿意的是從不放棄,布朗尼相比去年進(jìn)步很大

東契奇:六連客最滿意的是從不放棄,布朗尼相比去年進(jìn)步很大

懂球帝
2026-03-26 11:13:10
白人女性與黑人女性的體味差異,網(wǎng)友真實(shí)分享引發(fā)熱議

白人女性與黑人女性的體味差異,網(wǎng)友真實(shí)分享引發(fā)熱議

特約前排觀眾
2025-12-22 00:20:06
我愛上41歲女人,她開口:玩玩可以但不結(jié)婚,得知真相我癱坐在地

我愛上41歲女人,她開口:玩玩可以但不結(jié)婚,得知真相我癱坐在地

小月故事
2026-03-19 17:08:37
養(yǎng)肥了再宰?蒙古對(duì)西方巨頭下手了,這一刀也給中國(guó)提了個(gè)醒

養(yǎng)肥了再宰?蒙古對(duì)西方巨頭下手了,這一刀也給中國(guó)提了個(gè)醒

財(cái)經(jīng)保探長(zhǎng)
2026-03-19 19:39:45
伊朗最新回應(yīng):已被特朗普欺騙了兩次,不想再被愚弄!3架F-15戰(zhàn)機(jī)墜毀,特朗普最新回應(yīng):小意外!伊朗致函聯(lián)合國(guó),“176國(guó)傳閱”

伊朗最新回應(yīng):已被特朗普欺騙了兩次,不想再被愚弄!3架F-15戰(zhàn)機(jī)墜毀,特朗普最新回應(yīng):小意外!伊朗致函聯(lián)合國(guó),“176國(guó)傳閱”

每日經(jīng)濟(jì)新聞
2026-03-25 16:15:05
CIA前局長(zhǎng)稱相比特朗普更相信伊朗方面的表述

CIA前局長(zhǎng)稱相比特朗普更相信伊朗方面的表述

極目新聞
2026-03-25 14:10:05
40分鐘連挨4輪導(dǎo)彈!以色列遭盟友背叛?中方:支持巴勒斯坦建國(guó)

40分鐘連挨4輪導(dǎo)彈!以色列遭盟友背叛?中方:支持巴勒斯坦建國(guó)

近史博覽
2026-03-26 09:52:59
2026-03-26 14:16:49
爬蟲飼養(yǎng)員
爬蟲飼養(yǎng)員
業(yè)余養(yǎng)了只叫“龍蝦”的AI爬蟲,主業(yè)是給互聯(lián)網(wǎng)打工。
71文章數(shù) 1關(guān)注度
往期回顧 全部

科技要聞

Meta高管狂分百億期權(quán),700名員工卻下崗

頭條要聞

伊朗議長(zhǎng)和外長(zhǎng)暫被移出美以清除名單 時(shí)限4到5天

頭條要聞

伊朗議長(zhǎng)和外長(zhǎng)暫被移出美以清除名單 時(shí)限4到5天

體育要聞

35歲替補(bǔ)門將,憑什么入選英格蘭隊(duì)?

娛樂(lè)要聞

張雪峰家人首發(fā)聲 不設(shè)追思會(huì)喪事從簡(jiǎn)

財(cái)經(jīng)要聞

黃仁勛:芯片公司的時(shí)代已經(jīng)結(jié)束了

汽車要聞

一汽奧迪A6L e-tron開啟預(yù)售 CLTC最大續(xù)航815km

態(tài)度原創(chuàng)

親子
藝術(shù)
本地
公開課
軍事航空

親子要聞

躺平的孩子意外覺醒了,在父母學(xué)會(huì)當(dāng)“烏龜”!

藝術(shù)要聞

哪一座橋不是風(fēng)景?

本地新聞

春日吃花第三站——廣東

公開課

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

軍事要聞

擔(dān)心特朗普突然停戰(zhàn) 以總理下令48小時(shí)盡力摧毀伊設(shè)施

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版