← 返回首頁
4ier
4ier
@yangfourier
1
𝕏 (Twitter)🔥
AI 中文摘要Claude 生成
Neo 是一個 Chrome 擴充程式,能將任意網頁應用轉變為可呼叫的 API。與其他方法相比,它提供了第三條路:不依賴官方 API(大多數 SaaS 要嘛沒有 API,要嘛只開放 10% 功能),也不使用瀏覽器自動化(截圖 → OCR → 點擊的緩慢脆弱方案)。Neo 的核心洞察是,每個網頁應用都已經有完整的內部 API——前端在每次操作時都會呼叫它。Neo 會捕捉這些呼叫並使其可重播。 工作原理是三步流程:首先捕捉——Chrome 擴充程式會攔截所有 fetch() 和 XMLHttpRequest,記錄網址、標頭、請求與回應主體、計時以及觸發呼叫的 DOM 元素。其次學習——執行 neo-schema 命令自動生成 API 地圖,包含端點、必需的認證標頭、查詢參數和回應結構。最後執行——通過 Chrome DevTools Protocol 在瀏覽器標籤頁的上下文中執行 API 呼叫,Cookie、CSRF token 和工作階段認證會自動繼承。 v1.3.0 版本帶來了幾項關鍵改進。snapshot --diff 功能省卻 95% 的 token 使用量。新增 HTTP REST bridge 讓使用者能直接用 curl 呼叫,無需 WebSocket。doctor --fix 命令可一鍵修復環境問題。Profile 功能提供多項目隔離環境。 v2 版本加入了完整的 UI 自動化層。當 API 存在時使用直接呼叫,當不存在時 Neo 可通過無障礙樹(accessibility tree)驅動 UI,支援 snapshot、click、fill、type、press、hover、scroll、select、screenshot、get 和 wait 等互動命令。這些都通過 @ref 參考方式進行,無需截圖、座標或像素匹配。 CLI 工具涵蓋連線與工作階段管理(neo connect、neo launch、neo discover)、捕捉與流量分析(neo capture list、neo capture watch、neo capture export)、API 重播與執行(neo replay、neo exec)、Schema 分析(neo schema generate、neo schema openapi)、UI 自動化以及診斷工具(neo doctor)。 系統支援多應用環境,不限於 Chrome——任何具備 CDP 支援的應用都能使用,包括 Electron 應用。工作階段會自動保存,可通過 --session 標誌在應用間切換。 Neo 也支援 Electron 應用。例如可用 neo launch code --port 9230 啟動 VS Code 並連線,然後用 neo snapshot 檢視可及樹,用 neo click @14 點擊選單項。 儲存方面,每個網域最多儲存 500 筆捕捉,最舊的記錄會自動清理。回應主體限制在 100KB。資料保存在 Chrome 的 IndexedDB 中。Schema 可匯出為 JSON 檔案以便跨裝置持久化。 系統會自動過濾噪聲,包括靜態資源(圖像、字體、CSS、JavaScript)、分析追蹤(Google Analytics、Meta Pixel、Sentry)、瀏覽器內部呼叫,且每個 URL 模式每分鐘最多限制三筆捕捉以防止輪詢端點爆炸。 隱私與安全方面,Neo 完全在本地執行,無外部伺服器、無遙測、無資料外洩。但因為 Neo 在所有網站上都能看到 fetch、XHR 和 WebSocket 呼叫,包括銀行、電子郵件和醫療入口網站,這在設計上具有侵略性。認證標頭值(Bearer token、CSRF token、Cookie、工作階段 ID)在捕捉時就會被編輯,IndexedDB 只儲存標頭名稱,不儲存值。執行 API 呼叫時,--auto-headers 會通過 CDP 從瀏覽器即時取得認證標頭,永不重播儲存的認證資料。 技術堆疊採用 TypeScript、Vite 多入點建置、Chrome Manifest V3、Dexie.js(IndexedDB 包裝器)和 Chrome DevTools Protocol,無後端伺服器,執行時無外部依賴。 該專案已完成的功能包括捕捉與儲存、統一 CLI、儲存管理、Schema 分析、智慧過濾、WebSocket 捕捉、捕捉重播、匯入匯出、智慧 API 呼叫、流程分析、依賴鏈分析、Schema 版本控制、診斷工具、Agent 技能匯出、Mock 伺服器、HAR 格式匯出、OpenAPI 3.0 規格生成、批次 Schema 生成、語義端點標籤、多步驟工作流程發現執行以及 v2 UI 層。