<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Browser-Automation on recca0120 技術筆記</title><link>https://recca0120.github.io/tags/browser-automation/</link><description>Recent content in Browser-Automation on recca0120 技術筆記</description><generator>Hugo -- gohugo.io</generator><language>zh-hant-tw</language><lastBuildDate>Tue, 07 Apr 2026 11:34:00 +0800</lastBuildDate><atom:link href="https://recca0120.github.io/tags/browser-automation/index.xml" rel="self" type="application/rss+xml"/><item><title>bb-browser：不寫爬蟲、不用 API key，你的瀏覽器就是 API</title><link>https://recca0120.github.io/2026/04/07/bb-browser-your-browser-is-the-api/</link><pubDate>Tue, 07 Apr 2026 11:34:00 +0800</pubDate><guid>https://recca0120.github.io/2026/04/07/bb-browser-your-browser-is-the-api/</guid><description>&lt;img src="https://recca0120.github.io/" alt="Featured image of post bb-browser：不寫爬蟲、不用 API key，你的瀏覽器就是 API" /&gt;&lt;p&gt;想拿 Twitter 的搜尋結果，傳統做法有三條路：申請 API key（限制一堆）、寫爬蟲（被封 IP）、用 Playwright 開 headless browser（被偵測到不是真人）。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://github.com/epiral/bb-browser" target="_blank" rel="noopener"
 &gt;bb-browser&lt;/a&gt; 走第四條路：直接用你已經開著的 Chrome。你登入過 Twitter，cookie 已經在那邊了，bb-browser 就在那個標籤裡跑 &lt;code&gt;fetch()&lt;/code&gt;，從網站的角度看，這就是你本人在瀏覽。&lt;/p&gt;
&lt;h2 id="跟爬蟲和-playwright-差在哪"&gt;&lt;a href="#%e8%b7%9f%e7%88%ac%e8%9f%b2%e5%92%8c-playwright-%e5%b7%ae%e5%9c%a8%e5%93%aa" class="header-anchor"&gt;&lt;/a&gt;跟爬蟲和 Playwright 差在哪
&lt;/h2&gt;&lt;p&gt;先把差異講清楚。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;bb-browser&lt;/th&gt;
 &lt;th&gt;Playwright / Selenium&lt;/th&gt;
 &lt;th&gt;爬蟲（requests、Scrapy）&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;瀏覽器&lt;/td&gt;
 &lt;td&gt;你真實的 Chrome&lt;/td&gt;
 &lt;td&gt;隔離的無頭瀏覽器&lt;/td&gt;
 &lt;td&gt;沒有瀏覽器&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;登入狀態&lt;/td&gt;
 &lt;td&gt;已經登入，直接用&lt;/td&gt;
 &lt;td&gt;要重新登入或注入 cookie&lt;/td&gt;
 &lt;td&gt;要手動帶 cookie&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;反爬偵測&lt;/td&gt;
 &lt;td&gt;隱形（就是真人）&lt;/td&gt;
 &lt;td&gt;容易被偵測&lt;/td&gt;
 &lt;td&gt;容易被封&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;指紋&lt;/td&gt;
 &lt;td&gt;你的真實指紋&lt;/td&gt;
 &lt;td&gt;無頭瀏覽器指紋&lt;/td&gt;
 &lt;td&gt;沒有指紋&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;關鍵在於 bb-browser 不啟動新的瀏覽器實例。它透過 CDP（Chrome DevTools Protocol）連到你正在用的 Chrome，在標籤裡注入程式碼。網站看到的 User-Agent、cookie、TLS 指紋全部都是真的，因為本來就是你的瀏覽器。&lt;/p&gt;
&lt;h2 id="架構"&gt;&lt;a href="#%e6%9e%b6%e6%a7%8b" class="header-anchor"&gt;&lt;/a&gt;架構
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AI Agent (Claude Code, Codex, Cursor)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ CLI 或 MCP (stdio)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ▼
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bb-browser CLI ──HTTP──▶ Daemon ──CDP WebSocket──▶ 真實瀏覽器
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ┌──────┴──────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ 每標籤事件快取│
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ (網路、控制台)│
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └─────────────┘
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;bb-browser 會起一個 daemon（預設 &lt;code&gt;127.0.0.1:19824&lt;/code&gt;），透過 CDP WebSocket 跟 Chrome 溝通。CLI 指令送到 daemon，daemon 在對應的標籤裡執行。&lt;/p&gt;
&lt;h2 id="安裝和基本用法"&gt;&lt;a href="#%e5%ae%89%e8%a3%9d%e5%92%8c%e5%9f%ba%e6%9c%ac%e7%94%a8%e6%b3%95" class="header-anchor"&gt;&lt;/a&gt;安裝和基本用法
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install -g bb-browser
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;拉取社群適配器：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bb-browser site update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;跑一條命令試試：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bb-browser site zhihu/hot
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;這會打開知乎的標籤（如果你已經登入），用你的 cookie 去撈熱門問題列表。&lt;/p&gt;
&lt;h3 id="結構化輸出"&gt;&lt;a href="#%e7%b5%90%e6%a7%8b%e5%8c%96%e8%bc%b8%e5%87%ba" class="header-anchor"&gt;&lt;/a&gt;結構化輸出
&lt;/h3&gt;&lt;p&gt;所有命令都支援 &lt;code&gt;--json&lt;/code&gt; 和 &lt;code&gt;--jq&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bb-browser site xueqiu/hot-stock &lt;span class="m"&gt;5&lt;/span&gt; --jq &lt;span class="s1"&gt;&amp;#39;.items[] | {name, changePercent}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# {&amp;#34;name&amp;#34;:&amp;#34;云天化&amp;#34;,&amp;#34;changePercent&amp;#34;:&amp;#34;2.08%&amp;#34;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# {&amp;#34;name&amp;#34;:&amp;#34;东芯股份&amp;#34;,&amp;#34;changePercent&amp;#34;:&amp;#34;-7.60%&amp;#34;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="瀏覽器操作"&gt;&lt;a href="#%e7%80%8f%e8%a6%bd%e5%99%a8%e6%93%8d%e4%bd%9c" class="header-anchor"&gt;&lt;/a&gt;瀏覽器操作
&lt;/h3&gt;&lt;p&gt;除了跑適配器，也能直接操作瀏覽器：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bb-browser open https://example.com &lt;span class="c1"&gt;# 開啟 URL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bb-browser snapshot -i &lt;span class="c1"&gt;# 無障礙樹快照&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bb-browser click @3 &lt;span class="c1"&gt;# 點擊元素&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bb-browser fill @5 &lt;span class="s2"&gt;&amp;#34;hello&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 填入文字&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bb-browser &lt;span class="nb"&gt;eval&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;document.title&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# 執行 JavaScript&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bb-browser fetch URL --json &lt;span class="c1"&gt;# 帶認證的 fetch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bb-browser screenshot &lt;span class="c1"&gt;# 截圖&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="36-個平台103-條命令"&gt;&lt;a href="#36-%e5%80%8b%e5%b9%b3%e5%8f%b0103-%e6%a2%9d%e5%91%bd%e4%bb%a4" class="header-anchor"&gt;&lt;/a&gt;36 個平台、103 條命令
&lt;/h2&gt;&lt;p&gt;bb-browser 的適配器涵蓋的平台很廣：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;搜尋&lt;/strong&gt;：Google、百度、Bing、DuckDuckGo&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;社交&lt;/strong&gt;：Twitter/X、Reddit、微博、小紅書、LinkedIn&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;開發&lt;/strong&gt;：GitHub、StackOverflow、Hacker News、npm、PyPI、arXiv、V2EX、Dev.to&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新聞&lt;/strong&gt;：BBC、Reuters、36kr、今日頭條&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;影片&lt;/strong&gt;：YouTube、Bilibili&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;金融&lt;/strong&gt;：雪球、Yahoo Finance、東方財富&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;知識&lt;/strong&gt;：Wikipedia、知乎&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;每個適配器就是一個 JavaScript 檔案，社群驅動。要加新平台，寫一個 JS 檔丟到 &lt;code&gt;bb-sites&lt;/code&gt; repo 就好。&lt;/p&gt;
&lt;h2 id="適配器的三種複雜度"&gt;&lt;a href="#%e9%81%a9%e9%85%8d%e5%99%a8%e7%9a%84%e4%b8%89%e7%a8%ae%e8%a4%87%e9%9b%9c%e5%ba%a6" class="header-anchor"&gt;&lt;/a&gt;適配器的三種複雜度
&lt;/h2&gt;&lt;p&gt;不是每個網站都一樣好搞。bb-browser 把適配器分成三層：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;層級&lt;/th&gt;
 &lt;th&gt;做法&lt;/th&gt;
 &lt;th&gt;範例&lt;/th&gt;
 &lt;th&gt;開發時間&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Level 1&lt;/td&gt;
 &lt;td&gt;直接用 cookie 發 fetch&lt;/td&gt;
 &lt;td&gt;Reddit、GitHub&lt;/td&gt;
 &lt;td&gt;~1 分鐘&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Level 2&lt;/td&gt;
 &lt;td&gt;需要抓 Bearer token + CSRF&lt;/td&gt;
 &lt;td&gt;Twitter、知乎&lt;/td&gt;
 &lt;td&gt;~3 分鐘&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Level 3&lt;/td&gt;
 &lt;td&gt;注入 Webpack 模組或讀 Pinia store&lt;/td&gt;
 &lt;td&gt;Twitter 搜尋&lt;/td&gt;
 &lt;td&gt;~10 分鐘&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Level 1 最簡單，有些網站的 API 只要帶 cookie 就能用。Level 3 最複雜，要反向工程前端打包的模組，從 Webpack 的 &lt;code&gt;__webpack_require__&lt;/code&gt; 或 Vue 的 Pinia store 裡撈資料。&lt;/p&gt;
&lt;h2 id="當-mcp-server-給-ai-agent-用"&gt;&lt;a href="#%e7%95%b6-mcp-server-%e7%b5%a6-ai-agent-%e7%94%a8" class="header-anchor"&gt;&lt;/a&gt;當 MCP Server 給 AI Agent 用
&lt;/h2&gt;&lt;p&gt;這是 bb-browser 最有意思的用法。設定成 MCP server 之後，Claude Code 或 Cursor 就能直接存取你的瀏覽器能看到的所有網站。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;bb-browser&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;npx&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;-y&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;bb-browser&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;--mcp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;設好之後，你可以跟 Claude Code 說「幫我查一下 arXiv 上最近的 RAG 論文」，它就會透過 bb-browser 去 arXiv 搜尋，用你的真實瀏覽器。&lt;/p&gt;
&lt;p&gt;沒有 bb-browser 的 AI agent 只能操作檔案和終端。有了 bb-browser，它能存取整個網際網路——用你的身份。&lt;/p&gt;
&lt;p&gt;之前寫的 &lt;a class="link" href="https://recca0120.github.io/2026/03/15/cli-anything-agent-native-cli/" &gt;CLI-Anything&lt;/a&gt; 是把桌面軟體包成 CLI 給 agent 呼叫，&lt;a class="link" href="https://recca0120.github.io/2026/04/07/aionui-ai-cowork-app/" &gt;AionUi&lt;/a&gt; 是統一管理多個 agent 的介面。bb-browser 則是從另一個角度擴展 agent 能力：讓它直接用你的瀏覽器上網。&lt;/p&gt;
&lt;h2 id="注意事項"&gt;&lt;a href="#%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a0%85" class="header-anchor"&gt;&lt;/a&gt;注意事項
&lt;/h2&gt;&lt;p&gt;幾件事要想清楚再用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;用的是你的真實帳號&lt;/strong&gt;。bb-browser 代你操作，如果操作頻率太高，帳號可能被平台標記。它不是隱形的爬蟲，它就是你&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;安全性&lt;/strong&gt;。daemon 預設只綁 localhost，但如果開到 &lt;code&gt;0.0.0.0&lt;/code&gt;，任何能連到你機器的人都能操作你的瀏覽器。搭配 Tailscale 或 ZeroTier 用比較安全&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;適配器品質不一&lt;/strong&gt;。社群驅動的好處是覆蓋廣，壞處是有些適配器可能跟不上網站改版&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;macOS 用戶&lt;/strong&gt;注意 IPv6 問題，daemon 要加 &lt;code&gt;--host 127.0.0.1&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="適合什麼場景"&gt;&lt;a href="#%e9%81%a9%e5%90%88%e4%bb%80%e9%ba%bc%e5%a0%b4%e6%99%af" class="header-anchor"&gt;&lt;/a&gt;適合什麼場景
&lt;/h2&gt;&lt;p&gt;bb-browser 不是拿來大規模爬資料的。如果你要爬百萬筆資料，還是用 Scrapy。&lt;/p&gt;
&lt;p&gt;它適合的場景是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;讓 AI agent 能查網路資料，不需要一個一個申請 API key&lt;/li&gt;
&lt;li&gt;快速從某個已登入的平台撈結構化資料&lt;/li&gt;
&lt;li&gt;跨平台研究——一分鐘內同時查 arXiv、Twitter、GitHub、知乎、StackOverflow&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一條指令就能完成以前要寫爬蟲才能做的事，而且不會被擋。&lt;/p&gt;
&lt;h2 id="參考資源"&gt;&lt;a href="#%e5%8f%83%e8%80%83%e8%b3%87%e6%ba%90" class="header-anchor"&gt;&lt;/a&gt;參考資源
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/epiral/bb-browser" target="_blank" rel="noopener"
 &gt;bb-browser GitHub Repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/nicepkg/bb-sites" target="_blank" rel="noopener"
 &gt;bb-sites 社群適配器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://chromedevtools.github.io/devtools-protocol/" target="_blank" rel="noopener"
 &gt;Chrome DevTools Protocol 文件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://modelcontextprotocol.io/" target="_blank" rel="noopener"
 &gt;Model Context Protocol 規範&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>