name: browser-ops
description: >-
AI Agent 的網頁訪問路由決策指南。全 CLI 架構,零 MCP 依賴,不佔常駐上下文 token。
按成本逐級升級: WebFetch($0) → opencli web read($0,帶Cookie) → Firecrawl → agent-browser → browser-use。
IMPORTANT: For sites with opencli adapters (74 sites), use opencli <platform> directly — NEVER WebFetch/web read. For other sites, start with WebFetch. NEVER jump to browser-use/agent-browser first.
覆蓋四層場景: 搜尋(Tavily/Brave/Exa/WebSearch/opencli 75站點) → 提取(WebFetch/opencli/Firecrawl) → 互動(opencli operate/agent-browser/browser-use) → 反爬(Zendriver)。
觸發場景: 搜尋 抓取 爬取 網頁 打不開 403 攔截 截圖 表單 填表 Cookie 登入態 內部網站 SSO 反爬 Cloudflare。
參見 deep-research (用於多源深度研究報告)、security-review (用於認證安全審計)。
不適用於: 跨主機遠端瀏覽器控制、高併發爬取(>10頁/分鐘)、非 DOM 介面(Canvas/桌面軟體)。
triggers:
- 搜尋|抓取|爬取|網頁|打不開|403|攔截|截圖|表單|填表|網站
- Cookie|登入態|內部網站|SSO|反爬|Cloudflare|內網
- 股價|熱榜|Twitter|微博|知乎|小紅書|HackerNews|B站
- scrape|crawl|fetch|browse|screenshot|cookie|anti-bot|web page
- 開啟.連結|開啟.URL|開啟.網址|讀.連結|讀.網頁|看.網站|查.網站
- 幫我看|幫我讀|幫我搜|幫我查|幫我開啟|幫我訪問|幫我下載
- open.url|read.url|visit.site|access.page|download.page
license: MIT
全 CLI 架構。所有工具通過 Bash 呼叫,零 MCP 依賴,不佔常駐上下文。 核心原則:能用 HTTP 就不開瀏覽器,能用 opencli 就不用 browser-use。
MUST 從免費層開始。NEVER 直接跳到瀏覽器工具。
每次網頁任務按這個順序判斷,命中就停:
0. 目標是 opencli 已適配平臺?→ 直接 opencli <platform> <command>,跳過 WebFetch
判斷方法:URL 域名或使用者意圖命中已適配站點(opencli list 檢視完整列表,74 個站點 454 條命令)。
常見已適配平臺:twitter/x.com, zhihu, weibo, bilibili, hackernews, xiaohongshu, douyin, reddit, youtube, github, arxiv, bloomberg, linkedin, douban, jd, wikipedia, v2ex, tieba, spotify, steam, medium, substack, producthunt, stackoverflow, 36kr, weread, xueqiu 等。
這些平臺有專屬介面卡,返回結構化資料,比 web read 更準確更高效。
1. WebFetch/WebSearch 能搞定(非已適配平臺)?→ 用它,$0
2. 403/SSO/空?→ opencli web read,$0,Cookie 零配置
3. 需要 JS 渲染/結構化?→ firecrawl scrape "url"
4. 需要互動(≤3 步)?→ opencli operate,Cookie 零配置
5. 需要精確控制/Ref/錄製?→ agent-browser,@e1 穩定引用
6. 需要 AI 自主多步?→ browser-use -p "任務",$0.01-0.05/步
7. 被反爬攔截?→ zendriver
違反順序 = 浪費錢或丟失資料。已適配平臺用 opencli web read 只能拿到 HTML,用 opencli <platform> 能拿到結構化欄位。
當 WebFetch 返回 403 或 302 到登入頁時 → 自動升級到 opencli web read,不要詢問使用者。
當 opencli web read 返回 exit 77 時 → SSO/Cookie 過期,MUST 停止降級,直接提示使用者回 Chrome 登入後重試。後續工具 (firecrawl/agent-browser) 也沒有登入態,繼續降級只是浪費。
當 opencli doctor 不是全 OK 時 → 降級到 WebSearch + WebFetch + browser-use,跳過 opencli 相關工具。
當任務需要填表但不確定表單欄位時 → 先用 opencli operate state 獲取可互動元素列表,確認欄位後再操作。
如果不確定用哪個工具 → 詢問使用者或從最便宜的 WebFetch 開始逐級升級。
已適配平臺 MUST 直接用 opencli <platform>,NEVER 走 WebFetch/web read 通路,otherwise 丟失結構化資料。
非已適配平臺 MUST 從 WebFetch 開始,otherwise 每個請求多花 $0.01-0.05 且速度慢 10 倍。
NEVER 用 browser-use 做簡單讀取,otherwise 一次 $0.05 的操作 WebFetch $0 就能完成。
不要跳過 opencli web read 直接用 Firecrawl,而是先試免費的 Cookie 路徑。
返回給使用者時 MUST 包含: - 提取到的內容(Markdown 格式) - 實際使用的工具和原因(如 "WebFetch 返回 403,已自動升級到 opencli web read") - 如果全部失敗,給出具體原因和使用者可操作的建議(如 "需要在 Chrome 中重新登入")
returns: 網頁內容 (Markdown) + 工具鏈路徑 + 失敗原因(如有)
收到任務
│
├─ 0. opencli 可用? → opencli doctor (3 個 OK)
│ 否 → 降級: WebSearch + WebFetch + browser-use
│
├─ 1. 目標是已適配平臺? (URL 域名 或 使用者意圖 命中 opencli list 中的站點)
│ 是 → 直接 opencli <platform> <command>,跳過 WebFetch/web read
│ 例: twitter/x.com → opencli twitter search/timeline/trending
│ zhihu.com → opencli zhihu hot/search/answer
│ bilibili.com → opencli bilibili search/hot/subtitle
│
├─ 2. 要搜尋(沒 URL,非已適配平臺)?
│ ├─ WebSearch (內建, 始終可用)
│ ├─ 深度搜索 → tavily search "query" --search-depth advanced
│ ├─ 獨立索引 → curl brave API
│ └─ fallback → opencli google search
│
├─ 3. 有 URL,非已適配平臺?
│ ├─ WebFetch ($0) → 403/SSO? → opencli web read ($0, Cookie 直連)
│ │ ├─ exit 77 (SSO 過期) → 停止降級,提示使用者回 Chrome 登入
│ │ └─ 其他失敗 (JS 不足/內容太短) → 繼續降級到 firecrawl
│ └─ JS 渲染/PDF/結構化 → firecrawl scrape "url"
│
├─ 4. 要互動?
│ ├─ ≤3 步 → opencli operate (Cookie 零配置, 17 個命令)
│ │ open → state → click/type/select/scroll → screenshot → close
│ ├─ 需要穩定引用/錄製/標註截圖 → agent-browser (60+ 命令)
│ │ open → snapshot -i → click @e1 → screenshot --annotate
│ ├─ AI 自主多步 → browser-use -p "自然語言任務"
│ └─ 未知 DOM → Stagehand act("點選登入")
│
├─ 5. 被反爬? → python -c "import zendriver as zd; ..."
│
└─ 全失敗 → 告知使用者具體原因和建議,NEVER 靜默失敗
| 當前工具返回 | 升級到 | 命令 |
|---|---|---|
| WebFetch → 403/302 登入頁 | opencli web read | opencli web read --url "url" |
| WebFetch → 空/SPA 空殼 | Firecrawl | firecrawl scrape "url" |
| opencli → exit 77 | 停止降級,提示使用者 | SSO 過期,後續工具也沒登入態,直接提示使用者回 Chrome 登入 |
| 需要點選/填表 | opencli operate | opencli operate open "url" && state |
| 編號 [N] 不穩定 | agent-browser | agent-browser snapshot -i → click @e1 |
| 多步複雜任務 | browser-use | browser-use -p "任務描述" |
| Cloudflare 攔截頁 | Zendriver | python3 -c "import zendriver..." |
# 內建 (始終可用)
WebSearch → Claude Code 內建,直接呼叫
# Tavily — AI 原生搜尋,返回 answer + results (免費 1000 次/月)
tavily search "query" # pip install tavily-python
tavily search "query" --search-depth advanced # 深度模式
tavily extract "https://url" # URL 內容提取
# Brave — 獨立索引,不依賴 Google/Bing
curl -s "https://api.search.brave.com/res/v1/web/search?q=query" \
-H "X-Subscription-Token: $BRAVE_API_KEY"
# Firecrawl — JS 渲染 + Markdown 提取 (免費 500 次)
firecrawl scrape "https://url" # pip install firecrawl
firecrawl crawl "https://url" --limit 10 # 批次
firecrawl map "https://url" # URL 發現
# 平臺搜尋 — 75 站點結構化資料
opencli twitter trending / zhihu hot / hackernews top / xiaohongshu search "旅行"
opencli list # 檢視所有介面卡
# opencli operate — 簡單互動,Cookie 零配置 (通過 Chrome Extension 直連)
opencli operate open "url"
opencli operate state # 可互動元素 [1][2][3]
opencli operate click 5 / type 3 "hello" / select 2 "選項A"
opencli operate scroll down / keys Enter / wait text "Success"
opencli operate screenshot /tmp/shot.png / network / close
# agent-browser — 複雜互動,@e1 Ref 引用 (基於 Accessibility Tree,頁面重渲染不變)
agent-browser open "url" && agent-browser snapshot -i
agent-browser click @e2 / fill @e3 "hello" # Ref 引用
agent-browser screenshot --annotate /tmp/a.png # 標註截圖
agent-browser record start # 錄製操作
agent-browser batch "click @e1 && wait 1000 && screenshot"
agent-browser --auto-connect snapshot # 連線已執行 Chrome
# 搭配 Lightpanda 省 token: snapshot ~500 token vs Chrome ~3000 token
# ./lightpanda serve --port 9222 && agent-browser connect 9222
# browser-use — AI 自主操作 (LLM 決策迴圈,每步 $0.01-0.05)
browser-use -p "去 example.com 註冊賬號" # 自然語言驅動
browser-use --connect -p "任務" # 連線已執行 Chrome
browser-use run --remote "任務" # 雲端執行
| 維度 | opencli operate | agent-browser |
|---|---|---|
| 場景 | ≤3 步簡單操作 | 複雜/精確操作 |
| 元素定位 | [N] 編號(頁面變了會變) | @e1 Ref(穩定,基於 ARIA role+name) |
| Cookie | Chrome Extension 直連,零配置 | --profile / --auto-connect |
| 標註截圖 | ❌ | ✅ --annotate(給視覺模型用) |
| 錄製回放 | ❌ | ✅ record(固定流程自動化) |
| 批次/DOM diff | ❌ | ✅ batch / diff |
| 核心替換 | ❌ | ✅ Lightpanda(省 80% token) |
| 命令數 | 17 | 60+ |
| iOS 測試 | ❌ | ✅ -p ios |
```bash
npm i -g @jackwener/opencli
opencli doctor # 3 個 OK 才能用
發現更多技能外掛,請訪問7w4.net。
npm i -g agent-browser # Ref 引用/錄製/標註截圖
See references/ for extended content.
這個技能質量不錯,能幫你用最低成本完成各種網頁操作,從免費抓取到智慧瀏覽器都有覆蓋。它最大的優點是省錢——總是先用免費工具,不行再升級。文件寫得很詳細,示例豐富。不過它比較複雜,新手可能不容易上手;而且某些觸發詞太模糊,偶爾會誤判你的需求。總體來說瑕不掩瑜,是目前同類技能中設計最完善的一檔。