Browser Ops Publish

👤 lanyasheng 📦 v3.0.0 ⭐ 4.5 ⬇️ 708 下載
🤖 AI-Agent 免費

📖 技能介紹


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


Browser Operations — 網頁訪問路由決策指南

全 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> 能拿到結構化欄位。

使用者: "搜一下 Twitter 上關於 AI agent 的討論" 錯誤: opencli web read --url "https://x.com/search?q=AI+agent" → 拿到 HTML 殘片 正確: opencli twitter search "AI agent" → 結構化推文列表 (id, author, text, likes, views)

使用者: "幫我看看知乎熱榜" 錯誤: WebFetch("https://www.zhihu.com/hot") → 空/SPA 空殼 正確: opencli zhihu hot → 結構化熱榜列表

使用者: "幫我看看 https://example.com/article 的內容" 錯誤: browser-use -p "extract content from example.com" → $0.05 正確: WebFetch("https://example.com/article") → $0 (example.com 不是已適配平臺)

使用者: "幫我讀一下內部網站的這篇文章 https://internal.company.com/doc/123" 錯誤: WebFetch → 403 → 放棄,說"無法訪問" 正確: WebFetch → 403 → 自動升級到 opencli web read (帶 Chrome Cookie)

條件判斷規則

當 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 路徑。

Output

返回給使用者時 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 -iclick @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 vs agent-browser

維度 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

Chrome 裝 OpenCLI Browser Bridge: $(npm root -g)/@jackwener/opencli/extension

opencli doctor # 3 個 OK 才能用

按需 (全 CLI,不需要配 MCP)

發現更多技能外掛,請訪問7w4.net。

npm i -g agent-browser # Ref 引用/錄製/標註截圖

See references/ for extended content.

🤖 AI 評測

這個技能質量不錯,能幫你用最低成本完成各種網頁操作,從免費抓取到智慧瀏覽器都有覆蓋。它最大的優點是省錢——總是先用免費工具,不行再升級。文件寫得很詳細,示例豐富。不過它比較複雜,新手可能不容易上手;而且某些觸發詞太模糊,偶爾會誤判你的需求。總體來說瑕不掩瑜,是目前同類技能中設計最完善的一檔。

📊 多維度評分

適應性4.4
規範性4.2
有效性4.7
可靠性4.5
可信度5

📁 包含檔案 (27 個)

📄 README.md 4.8 KB
📄 SKILL.md 11.3 KB
📄 _meta.json 130 B
📄 evals/compare_with_baseline.sh 1.9 KB
📄 evals/eval_results.json 236 B
📄 evals/evals.json 4.3 KB
📄 evals/trigger_evals.json 1.8 KB
📄 references/anti-detection.md 3.9 KB
📄 references/extended-content.md 41 B
📄 references/opencli-usage.md 1.4 KB
📄 references/routing.md 2.7 KB
📄 references/setup.md 899 B
📄 references/state-management.md 800 B
📄 scripts/sync-cookies.sh 15.9 KB
📄 scripts/web-read.sh 1.8 KB
📄 scripts/web-search.sh 1.4 KB
📄 scripts/web-trending.sh 2 KB
📄 task_suite.yaml 4.9 KB
📄 tests/run_tests.sh 3.2 KB
📄 tests/test_agent_browser.sh 2.6 KB
📄 tests/test_anti_detection.sh 4.6 KB
📄 tests/test_antibot.py 5.4 KB
📄 tests/test_opencli.sh 2.2 KB
📄 tests/test_session.sh 3.1 KB
📄 tests/test_smoke.py 404 B
📄 tests/test_stagehand.sh 3 KB
📄 tests/test_structure.sh 2.4 KB