最佳 Stagehand 替代方案

Stagehand 是用來組裝瀏覽器工作流程的 SDK。ego(lite) 則是你的 AI Agent 實際執行這些流程的瀏覽器。 ego(lite) 省去 SDK 專案,讓你的程式碼 AI Agent 直接執行工作流程。精簡的 Snapshot 與批次動作,能減少模型輪次和 Token 用量。

ego(lite) 對比 Stagehand

ego(lite) 與 Stagehand 的功能比較。
功能ego(lite)Stagehand
你寫什麼什麼都不用。對你已經在用的 AI Agent 說一句話一個 TypeScript 或 Python 專案:SDK、act/extract/observe,還要負責維護
AI Agent 如何在頁面上執行動作AI Agent 透過 /ego-browser,每一輪用 JavaScript 打包多個動作沒命中快取的話,每次 act、extract 或 observe 都要呼叫一次模型;想跳過模型時可以用精確的定位器
每項任務的 Token 成本更低:Snapshot 加上批次 JavaScript,以每項任務計算重複的流程可以沿用快取的選擇器;新頁面每次都得重新付一次模型呼叫的成本
沿用你真實的 Chrome 登入狀態可以,一鍵匯入 Chrome 設定檔;AI Agent 透過 /ego-browser 操控 ego(lite)本機模式下不太可靠:Chrome 設定檔支援還有未修復的 bug,而且 browse 需要遠端偵錯模式
設定安裝 ego(lite),在你的 AI Agent 裡執行 /ego-browsernpm/pip install、模型 API key,還要一個專案
平行任務隔離同一個瀏覽器裡的 Space 數量不受限,上限只看你的機器效能實例要自己在程式碼裡管理;用 Browserbase 的話,並行數受方案上限限制
同時可作為你日常使用的瀏覽器可以,你在自己的 Space 裡瀏覽,Agent 在它們自己的 Space 裡工作不能。它啟動的是乾淨的自動化瀏覽器
可提交、可重複的自動化不行。任務是互動式的可以:腳本有 git 版本紀錄、可以做 code review,還有可提交的快取
可重複使用的 skills(即將推出)把成功的執行過程萃取成可重複使用的 skills,供重複性任務使用(限量 beta)只在重複流程時才有動作快取
價格免費,無訂閱,無帳號MIT 授權,安裝免費;你要付的是模型 token 費用(如果用 Browserbase 託管,還要加上那部分費用)

最後更新 2026年7月30日

獲得來自以下單位開發者的信賴

  • Vercel
  • OpenAI
  • Anthropic
  • SpaceX
  • Google
  • Microsoft
  • DJI
  • DeepSeek
  • Kimi
  • TikTok
  • MiniMax
  • SAP
  • ZARA
  • eBay
  • Cisco
  • Trip.com
  • LINE
  • NHN
  • Hyundai Motor

為什麼 ego(lite) 比 Stagehand 更好

你要選的,是把瀏覽器工作流程寫進一個專案,還是給你的 Agent 一個立刻就能用的瀏覽器。ego(lite) 能處理各式各樣由 Agent 主導的網頁工作,從查找、比較資訊,到填寫表單、檢查應用程式流程,需要時還能使用你的瀏覽器狀態和 Spaces。

在實際任務中快 47% 到 63%

在 Stagehand 裡,連續三次點擊往往就是三次獨立的模型往返,頁面才動一下。Stagehand 自己的速度指南也展示了這個模式,並建議先呼叫 observe,讓後面的點擊能重複使用它找到的結果。執行 /ego-browser,你的程式碼 AI Agent 就能直接操控 ego(lite)。每個頁面都會以 Snapshot 的形式送達,帶有可立即操作的穩定 @N 參照。在我們公開的 31 項真實網站任務基準測試中,ego(lite) 完成任務的速度比受測的另外四款工具快 47% 到 63%。

Time to finish a task, shorter is better

  1. ego(lite)
    398 s
  2. agent browser
    605 s

Data source - Task: finish an average live-site job

平行多工,執行更快

要同時跑好幾個 Stagehand 任務,就得自己在程式碼裡建立和關閉瀏覽器實例,或是改用 Browserbase,然後撞上 3、25、100 這些 session 上限。想知道發生了什麼事,得等任務跑完之後打開重播來看。在 ego(lite) 裡,同一個瀏覽器要開多少個 Space 都沒有上限:每個 Space 都在自己匯入的 Chrome 設定檔上,由 AI Agent 透過 /ego-browser 同時執行各自的任務。它們永遠不會搶走你正在用的分頁,而且你隨時都能觀看或接手任何一個 Space。

不再來回往返 消耗更少 Token

Stagehand 的動作快取,在同一個頁面重複同一套流程時很有幫助。但換到新網站,或是 DOM 結構一變,每次呼叫還是得重新問一次模型,過期的快取也得手動清掉。執行 /ego-browser,讓你的 AI Agent 每一輪都用幾行 JavaScript 把好幾個動作打包在一起,直接操控 ego(lite)。疊加 Snapshot 輸入之後,同樣的任務整體消耗的 token 就少得多。

Claude Code · ego(lite)
>/ego-browser Add the first product to the cart, then check checkout loads
●Bash(
ego-browser nodejs <<'EOF' await openOrReuseTab('localhost:3000') await click('.product-card') await click('.add-to-cart') await click('a[href="/checkout"]') cliLog('checkout loaded') EOF
)
⎿Output:
[t=4480ms] checkout loaded
Done. Both steps work.
─── 1 tool call · ↑ 1.1k tokens ───
Stagehand · env: "LOCAL"
>$ npx tsx run_task.ts const stagehand = new Stagehand({ env: "LOCAL" }) await stagehand.init()
await page.goto("http://localhost:3000")
// page = stagehand.context.pages()[0]
navigated: http://localhost:3000
↑ 1.6k tokens sent so far
await stagehand.act("click the first product card")
// LLM call #1 · model: gpt-5.6-sol
→ { success: true, message: "Action completed successfully",
actions: [{ selector: "/html/body/div[2]/main/div[1]/a",
method: "click", arguments: [] }] }
↑ 3.8k tokens sent so far
await stagehand.act("click add to cart")
// LLM call #2 · model: gpt-5.6-sol
→ { success: true, message: "Action completed successfully",
actions: [{ selector: "/html/body/div[2]/main/button[1]",
method: "click", arguments: [] }] }
↑ 5.9k tokens sent so far
await stagehand.observe("find the checkout link")
// LLM call #3 · model: gpt-5.6-sol
→ [{ selector: "/html/body/nav/a[href='/checkout']",
description: "Checkout link", method: "click", arguments: [] }]
↑ 8.0k tokens sent so far
await stagehand.act(action)
// no LLM: Action from observe()
→ { success: true, message: "Action completed successfully",
actions: [{ method: "click" }] }
navigated: /checkout
↑ 9.1k tokens sent so far
await stagehand.extract("is the payment form present?", z.object({ present: z.boolean() }))
// LLM call #4 · model: gpt-5.6-sol
→ { present: true }
↑ 11.4k tokens sent so far
await stagehand.extract("list the payment fields", z.object({ fields: z.array(z.string()) }))
// LLM call #5 · model: gpt-5.6-sol
→ { fields: ["card", "expiry", "cvc", "zip"] }
↑ 13.6k tokens sent so far
─── 7 model calls · ↑ 13.6k tokens ───

同樣的任務,同樣的模型。 左邊:ego(lite) 裡一次打包的 JavaScript 呼叫,總共 1.1k tokens。 右邊:Stagehand 腳本幾乎每一步都要呼叫模型,token 漲到 13.6k。

同一個 Chrome,AI Agent 原生體驗

本機執行的 Stagehand,最難的部分就是維持登入狀態。v3 版的 Chrome 設定檔支援還有一個未修復的 bug,用 cookie 的變通方法常常抓不到真正關鍵的 HttpOnly session cookie,而 browse CLI 也只有在你自己用遠端偵錯模式啟動 Chrome 時才能接上。ego(lite) 建構在 Chromium 之上,能一鍵匯入你完整的 Chrome 環境。當你的 AI Agent 執行 /ego-browser 操控 ego(lite) 時,你原本的登入狀態早就在那了,所以不會卡在你已經登入過的帳號的 SSO、2FA 或驗證碼上。

讓轉換無縫接軌

已經在 CI 或排程中執行 Stagehand 腳本了嗎?那些就留著。要搬過來的,是你想讓 Agent 直接處理的瀏覽器工作,包括搜尋、研究、資料擷取、表單、測試和需要登入的工作流程。

1

下載 ego(lite)

下載 ego(lite),一鍵匯入你的 Chrome 設定檔,登入狀態、Cookie 和擴充功能全部一併帶入。

2

用 /ego-browser 執行你的第一個任務

在 Claude Code、Codex 或 Cursor 裡貼上一句話再按下 enter。不用 SDK,不用模型 API key,不用寫 Zod schema。

貼到你的 Agent 裡

/ego-browser 前往 ego.app 並加入候補名單

3

看它實際運作

任務會在它自己的 Space 裡執行,你原本的分頁完全不受影響。你可以即時觀看,也能隨時接手。結果會直接回到你的 AI Agent 的 CLI 裡。

ego(lite) 的 Space 總覽,四項瀏覽器任務並排執行:Claude Code 在 Yahoo Finance 追蹤蘋果股價、Codex 在 cars.com 依年份篩選車款、Hermes 完成一項 SaaS 後台任務、一位使用者在擷取 X 上的資料,還有一隻手正點擊 + 開啟另一個 Space

需要可提交的自動化、型別化的資料擷取,或是確定性的定位器時,繼續用 Stagehand。

何時該用哪個工具

適合選擇 ego(lite) 的情況

  • 你寧願把瀏覽器工作描述給程式碼 AI Agent 聽,也不想為它維護一個 TypeScript 或 Python 專案。
  • 這項工作在你自己登入的帳號後面,理應一開始就是登入狀態。
  • 你想要能觀看的多個平行 Space,而不用自己在程式碼裡管理瀏覽器實例。
  • 你不想為了一件 AI Agent 本來就能做的事,額外加上 SDK、模型金鑰和專案。

何時選擇 Stagehand

  • 自動化流程必須放進 repo,經過 code review、有快取機制,而且幾個月後還能跑出一樣的結果。
  • 你需要一條確定性的退路:流程絕對不能有變化時,用精確的定位器。
  • 你需要用 Zod schema 把資料型別化地擷取進 TypeScript。
  • 任務必須在 CI 裡執行,或是要在 Browserbase 上跨多個雲端瀏覽器執行。

將 ego(lite) 與其他瀏覽器自動化工具比較

與 Puppeteer、Playwright MCP、Claude Chrome extension、Browser Harness,以及另外 7 款工具的逐項比較。

FAQ

Stagehand 是什麼?

Stagehand 是 Browserbase 推出、採用 MIT 授權的瀏覽器自動化 SDK,支援 TypeScript 和 Python。它提供 act、extract、observe 和 agent 這些基本操作,也能在你想跳過模型時用精確的定位器(locator)。它本機就能對 Chromium 執行,需要託管 session、快取和重播功能時,也能搭配 Browserbase 使用。對於要提交進 repo、定期排程執行的自動化工作,它仍然是很好的選擇。

ego(lite) 是不是 Stagehand 的好替代方案?

如果是由 Agent 驅動的瀏覽器工作,答案是肯定的:執行 /ego-browser,描述任務就好。但如果是要提交並送進 CI 的自動化,需要型別化擷取和確定性定位器,就繼續用 Stagehand。Stagehand 適合你寫成程式碼的工作流程;ego(lite) 適合由你的 Agent 直接處理的工作流程。

用 Stagehand 必須搭配 Browserbase 嗎?

不需要。Stagehand 自己就能在本機對 Chromium 執行。只有在你想要託管 session、伺服器端快取和重播功能時,Browserbase 才是選項。Browserbase vs Stagehand 這個搭配,重點是在雲端叢集,跟你筆電上跑的本機腳本沒關係。ego(lite) 沒有託管這條路:只有本機版本,免費,不需要帳號。

Browserbase vs Stagehand:我兩個都需要嗎?

在正式環境裡通常兩個都會用到,但理由不一樣。Stagehand 是你寫 act、extract、observe 呼叫的 SDK。Browserbase 則是這些腳本需要雲端規模時運行的地方。但如果只是自己在已登入網站上的日常瑣事,你可能兩個都不需要:執行 /ego-browser,讓 Claude Code 或 Codex 直接操控 ego(lite) 就好。

Stagehand 相比 ego(lite) 要花多少錢?

Stagehand 採用 MIT 授權,安裝免費。每次沒有命中快取的 act、extract 或 observe 呼叫,你都要付模型 token 的費用;如果放在 Browserbase 上跑,還要加上瀏覽器分鐘數的費用。ego(lite) 完全免費,你只需要付 AI Agent 本來就會用到的模型 token 費用。

Stagehand 能用我現有的 Chrome 設定檔和登入狀態嗎?

現在的本機模式下不太可靠。把 Stagehand 指向你的 Chrome 設定檔,v3 版還有一個未修復的 bug,用 cookie 的變通方法也常常抓不到真正關鍵的 HttpOnly session cookie。ego(lite) 只要匯入一次你的 Chrome 設定檔,之後每個任務一開始就是登入狀態。

Stagehand vs Browser Use:我該和哪一個比?

這兩者面向不同的開發者。Stagehand 以 TypeScript 為主,提供 act、extract、observe 這些基本操作,適合程式碼加 AI 混合式的自動化。Browser Use 則以 Python 為主,跑的是更自主的 Agent 迴圈。兩者都是你要自己寫程式碼、自己付模型費用的框架。ego(lite) 則是你的 AI Agent 透過 /ego-browser 操控的 Chromium 瀏覽器。那邊的比較可以看 ego(lite) vs Browser Use。

Stagehand vs agent-browser:有什麼差別?

Stagehand 是一個 SDK:你用 TypeScript 或 Python 寫 act、extract、observe 呼叫。agent-browser 則是一個 CLI,讓你的 AI Agent 一次呼叫一個指令。ego(lite) 兩者都不是:執行 /ego-browser,讓 AI Agent 用批次 JavaScript 操控 ego(lite)。可以參考 ego(lite) vs agent-browser 這篇比較。

我可以把 Stagehand 和 Claude Code 一起用嗎?

沒有內建的 skill 可以直接用。Claude Code 只能執行你自己寫好的 Stagehand 腳本,還得管理模型 API key 和專案。ego(lite) 是更短的路:在 Claude Code、Codex 或 Cursor 裡執行 /ego-browser,直接描述任務就好。不用裝 SDK,不用寫 schema,也不用另外付一筆模型費用。

為什麼我的 Stagehand 腳本每次執行結果都不一樣?

沒有命中快取的動作,每次都要讓模型重新選一次目標,所以頁面一變,結果也可能不一樣。快取也可能在 DOM 改變之後就過期。流程絕對不能有變化時,就用 Stagehand 的精確定位器。ego(lite) 則是為橫跨不斷變動的頁面與工作流程、由 Agent 驅動的瀏覽器工作打造的。

ego(lite) 需要 SDK 或 MCP 伺服器嗎?

都不需要。在 Claude Code、Codex、Cursor、Gemini CLI 或 OpenCode 裡執行 /ego-browser 就好。macOS 和 Windows 都能免費使用,不需要帳號。

Stagehand 能自動下載報表並上傳到 Google Drive 嗎?

可以,前提是帳號、報表和目的地都已獲授權,且工作流程明確。用 Stagehand 的瀏覽器動作下載報表,核對檔名和內容,再上傳到經審查核准的 Drive 資料夾;並把檔案路徑和來源 URL 記錄在執行日誌中。分享、覆寫或發布報表前都要先經過人工核准,遇到 MFA 或其他存取控制提示時就停下來。

在複雜流程上,要怎麼讓 Stagehand 的 UI 測試更穩定?

讓每個 worker 使用各自的測試資料、等待有意義的 UI 狀態,並針對不能變動的斷言使用穩定的 role、label 或 test-id 定位器。Stagehand 的自然語言 act 很適合探索,但發布關卡應該使用確定性定位器、明確的 fixture、失敗時的 trace,以及有上限的重試策略。ego(lite) 是一條看得見的調查路徑,而不是用來取代已提交的 CI 測試套件。

從 Stagehand 遷移到 ego(lite),實際可行的路徑是什麼?

已經在 CI 或排程中執行的 Stagehand 腳本就留著。要遷移瀏覽器工作流程,先安裝 ego(lite)、匯入已授權的 Chrome 環境,再請你的程式碼 AI Agent 在一個 Space 裡執行任務。保留原本的斷言和預期輸出,比對一次執行結果;如果任務需要確定性重播、型別化擷取或雲端規模,就把它移回 Stagehand。

ego(lite) 能當作 Python SDK 工作流程的正式環境本機模式嗎?

ego(lite) 是給有人監督的 Agent 工作使用的本機瀏覽器,不是 Python SDK 執行環境,也不是無人值守的正式環境服務。它可以在研究、測試和工作流程開發上,補足本機的 Stagehand 或 Browser Use 專案;而正式環境的工作仍需要行程監控、機密管理、重試、可觀測性,以及確定性的測試邊界。

LLM 爬蟲能像 Stagehand 一樣快取並重複使用選擇器嗎?

在頁面約定和定位器仍然有效時,重複使用選擇器可以減少模型的重複工作;但快取必須有版本管理,並在標記、路由、語系或帳號狀態改變時失效。儲存選擇器時要一併記錄來源 URL、比對到的 role 或 label,以及上次驗證的時間;信任它之前,先重新執行原本的斷言。絕對不要讓過期的快取默默指向另一個控制項。

要怎麼讓 Stagehand Python SDK 在本機搭配 Patchright 使用?

把 Patchright 視為一項瀏覽器執行環境整合,它必須符合 SDK 所支援的 Playwright 和 Chromium 版本;請先在用完即丟的本機設定檔中,驗證文件記載的啟動方式或 CDP 連線路徑。不要用隱身修補來繞過網站的管控。如果整合不穩定,已提交的測試就繼續使用受支援的 Stagehand 執行環境,並用 ego(lite) 做可觀察、有人監督的本機檢查。

Stagehand vs Playwright:哪個比較適合用自然語言做基本檢查?

Stagehand 加入了由模型驅動的 act、observe 和 extract 呼叫,能用白話快速檢查;Playwright 則提供確定性的程式碼、fixture、trace 和跨瀏覽器 CI。探索性的基本檢查可以用 Stagehand 或 ego(lite),等預期行為確定後,再把高價值的工作流程寫成 Playwright 程式碼。這樣分工,才不會讓自然語言的彈性變成不穩定的發布關卡。

給你的 AI Agent 一個真實瀏覽器

免費,在你的電腦上執行,一鍵匯入你的 Chrome 個人設定檔。適用於 Claude Code、Codex、Cursor,以及任何會寫程式碼的 CLI AI Agent。