化 settings.json 骨架與 MCP 協(xié)議驗(yàn)證)
1. BrowserUse 配 TaoToken開源 AI 瀏覽器自動(dòng)化 settings.json 骨架與 MCP 協(xié)議驗(yàn)證BrowserUse 是一個(gè)基于 MIT 許可證的開源 AI 瀏覽器自動(dòng)化項(xiàng)目它把「打開網(wǎng)頁(yè)、點(diǎn)擊按鈕、填表單、抓數(shù)據(jù)」這類操作交給大模型來(lái)決策而不是靠人寫死的 CSS 選擇器或 XPath。適合誰(shuí)用需要批量做網(wǎng)頁(yè)數(shù)據(jù)采集、自動(dòng)化測(cè)試、RPA 流程、或者想讓 Claude Desktop、Cursor 這類 AI 助手直接操作瀏覽器的開發(fā)者。它的核心檢索詞就是BrowserUse、開源、AI 瀏覽器自動(dòng)化、MIT 許可證、MCP 協(xié)議。我這次要解決的具體問(wèn)題是BrowserUse 在 MCP 協(xié)議模式下如何把模型請(qǐng)求統(tǒng)一走 TaoToken 的 API 通道而不是每個(gè)模型單獨(dú)配一套 Key。很多人在 BrowserUse 里配 OpenAI、Claude、Gemini 時(shí)Key 散落在環(huán)境變量、settings.json、MCP server 配置三處換一個(gè)模型就要改一遍非常容易出錯(cuò)。TaoToken 提供的是統(tǒng)一的 API 入口兼容 OpenAI 風(fēng)格的請(qǐng)求格式所以只要把 base_url 和 api_key 指向它BrowserUse 的 LLM 調(diào)用和 MCP 工具調(diào)用就能共用一條通道。下面我會(huì)先講清楚 BrowserUse 的配置結(jié)構(gòu)再給出一份可以直接復(fù)制的 settings.json 骨架然后接入 TaoToken最后用 MCP 協(xié)議做連通性驗(yàn)證。整個(gè)過(guò)程不需要你改 BrowserUse 的源碼只動(dòng)配置文件。2. TaoToken 前置準(zhǔn)備Key 與 API 通道在動(dòng)手改 settings.json 之前先把 TaoToken 這邊的準(zhǔn)備工作做完。這一步不復(fù)雜但順序不能亂否則后面 MCP 驗(yàn)證會(huì)報(bào) 401。2.1 獲取 API Key打開 TaoToken 控制臺(tái)進(jìn)入 API Keys 頁(yè)面創(chuàng)建一個(gè)新的 Key。建議給這個(gè) Key 起一個(gè)能識(shí)別的名字比如browseruse-mcp方便以后在多個(gè)項(xiàng)目里區(qū)分。創(chuàng)建后立刻復(fù)制保存頁(yè)面刷新后就看不到完整 Key 了。注意Key 只顯示一次建議直接存到密碼管理器或本地.env文件不要提交到 Git。2.2 確認(rèn) API 入口地址TaoToken 的 API 入口是https://taotoken.net/api這個(gè)地址兼容 OpenAI 的/v1/chat/completions路徑。BrowserUse 底層通過(guò) LangChain 調(diào)用模型LangChain 的 OpenAI 兼容模式需要你提供base_url和api_key兩個(gè)參數(shù)。所以配置時(shí)base_url 填https://taotoken.net/apiapi_key 填剛才創(chuàng)建的 Key。如果你用的是 Claude 系列模型TaoToken 同樣支持 Anthropic 風(fēng)格的調(diào)用但 BrowserUse 的 MCP 配置里統(tǒng)一用 OpenAI 兼容格式最省事因?yàn)?LangChain 的ChatOpenAI類可以直接對(duì)接。2.3 確認(rèn)模型名稱在 TaoToken 的模型列表里確認(rèn)你要用的模型 ID比如gpt-4o、claude-sonnet-4-20250514、gemini-2.5-flash等。BrowserUse 的 settings.json 里需要填具體的模型名填錯(cuò)會(huì)直接報(bào) model not found。建議先用一個(gè)便宜或免費(fèi)的模型做連通性測(cè)試驗(yàn)證通過(guò)后再換成生產(chǎn)模型。3. 可復(fù)制配置settings.json 骨架與 TaoToken 接入BrowserUse 的配置分兩塊一塊是 BrowserUse 自身的 settings.json另一塊是 MCP server 的配置。這兩塊可以放在同一個(gè)文件里也可以分開。我下面給的骨架是合并寫法方便你一次改完。3.1 settings.json 完整骨架{ llm: { provider: openai, model: gpt-4o, base_url: https://taotoken.net/api, api_key: sk-your-taotoken-key, temperature: 0.0, max_tokens: 4096 }, browser: { headless: false, viewport: { width: 1280, height: 800 }, user_data_dir: ./browser_profile, timeout: 30000 }, agent: { max_steps: 50, use_vision: true, save_conversation_path: ./logs/conversation.json }, mcp: { enabled: true, servers: { browseruse: { command: python, args: [-m, browser_use.mcp_server], env: { OPENAI_API_KEY: sk-your-taotoken-key, OPENAI_BASE_URL: https://taotoken.net/api, BROWSER_USE_MODEL: gpt-4o } } } } }這份骨架里llm段控制 BrowserUse 主流程的模型調(diào)用mcp段控制 MCP server 啟動(dòng)時(shí)的環(huán)境變量。兩處都指向 TaoToken這樣無(wú)論你是直接跑 BrowserUse 腳本還是通過(guò) Claude Desktop 調(diào)用 MCP走的都是同一條 API 通道。3.2 關(guān)鍵參數(shù)說(shuō)明參數(shù)作用建議值llm.provider指定 LangChain 的模型類openai兼容模式llm.base_urlAPI 入口https://taotoken.net/apillm.api_key鑒權(quán) Key你的 TaoToken Keyllm.model模型 ID按需選測(cè)試用便宜模型mcp.servers.browseruse.env.OPENAI_BASE_URLMCP server 的 API 入口同上browser.headless是否無(wú)頭模式調(diào)試時(shí)設(shè)false生產(chǎn)設(shè)true3.3 環(huán)境變量方式推薦如果你不想把 Key 寫進(jìn) JSON可以用環(huán)境變量。BrowserUse 和 LangChain 都會(huì)優(yōu)先讀環(huán)境變量export OPENAI_API_KEYsk-your-taotoken-key export OPENAI_BASE_URLhttps://taotoken.net/api export BROWSER_USE_MODELgpt-4o然后 settings.json 里把a(bǔ)pi_key留空或刪掉只保留base_url和model。這樣 Key 不會(huì)進(jìn)版本庫(kù)團(tuán)隊(duì)協(xié)作時(shí)每人自己配環(huán)境變量。3.4 MCP server 啟動(dòng)命令BrowserUse 的 MCP server 可以通過(guò)命令行啟動(dòng)方便你單獨(dú)測(cè)試python -m browser_use.mcp_server \ --model gpt-4o \ --base-url https://taotoken.net/api \ --api-key sk-your-taotoken-key啟動(dòng)后它會(huì)監(jiān)聽標(biāo)準(zhǔn)輸入輸出等待 MCP 客戶端比如 Claude Desktop發(fā)來(lái)的 JSON-RPC 請(qǐng)求。如果你看到進(jìn)程沒(méi)有立刻退出說(shuō)明 server 已經(jīng)起來(lái)了。4. 驗(yàn)證請(qǐng)求MCP 協(xié)議連通性與成功結(jié)果配置寫完必須驗(yàn)證。驗(yàn)證分兩步先驗(yàn)證 LLM 通道能通再驗(yàn)證 MCP 協(xié)議能通。兩步都過(guò)了才算自動(dòng)化鏈路可用。4.1 驗(yàn)證 LLM 通道寫一個(gè)最小的 Python 腳本用 LangChain 的ChatOpenAI指向 TaoToken發(fā)一條測(cè)試消息from langchain_openai import ChatOpenAI llm ChatOpenAI( modelgpt-4o, base_urlhttps://taotoken.net/api, api_keysk-your-taotoken-key, temperature0.0, ) resp llm.invoke(只回復(fù)兩個(gè)字通了) print(resp.content)如果輸出「通了」說(shuō)明 TaoToken 的 API 通道正常Key 和 base_url 都沒(méi)問(wèn)題。如果報(bào) 401檢查 Key 是否復(fù)制完整如果報(bào) 404檢查 base_url 是否多了或少了/v1。TaoToken 的入口是https://taotoken.net/apiLangChain 會(huì)自動(dòng)補(bǔ)/v1/chat/completions所以你不要手動(dòng)加/v1。4.2 驗(yàn)證 MCP 協(xié)議連通性MCP 協(xié)議驗(yàn)證需要一個(gè) MCP 客戶端。最簡(jiǎn)單的辦法是用 Claude Desktop 或 Cursor在它們的 MCP 配置里加上 BrowserUse server{ mcpServers: { browseruse: { command: python, args: [-m, browser_use.mcp_server], env: { OPENAI_API_KEY: sk-your-taotoken-key, OPENAI_BASE_URL: https://taotoken.net/api, BROWSER_USE_MODEL: gpt-4o } } } }保存后重啟 Claude Desktop在對(duì)話里輸入用 browseruse 打開 https://example.com告訴我頁(yè)面標(biāo)題是什么。如果 Claude 返回了「Example Domain」或類似標(biāo)題說(shuō)明 MCP 協(xié)議連通BrowserUse 的瀏覽器操作能力已經(jīng)被 AI 助手調(diào)用成功。這一步的成功結(jié)果就是AI 助手不再只是聊天而是真的打開了瀏覽器并讀取了頁(yè)面內(nèi)容。4.3 驗(yàn)證 BrowserUse 主流程如果你不用 MCP 客戶端也可以直接跑 BrowserUse 的 Python APIimport asyncio from browser_use import Agent from langchain_openai import ChatOpenAI async def main(): llm ChatOpenAI( modelgpt-4o, base_urlhttps://taotoken.net/api, api_keysk-your-taotoken-key, ) agent Agent( task打開 https://example.com 并返回頁(yè)面標(biāo)題, llmllm, ) result await agent.run() print(result) asyncio.run(main())運(yùn)行后如果打印出頁(yè)面標(biāo)題說(shuō)明 BrowserUse 的認(rèn)知-決策-執(zhí)行三層架構(gòu)全部走通TaoToken 作為統(tǒng)一 API 通道也驗(yàn)證完畢。5. 本篇常見(jiàn)錯(cuò)排查配置過(guò)程中最容易踩的坑集中在 Key、base_url、模型名和 MCP 環(huán)境變量這四處。下面按報(bào)錯(cuò)信息分類排查。5.1 401 Unauthorized最常見(jiàn)。原因通常是 Key 復(fù)制時(shí)帶了空格或者用了舊 Key。排查動(dòng)作把 Key 重新復(fù)制一遍確認(rèn)沒(méi)有換行符在 TaoToken 控制臺(tái)確認(rèn)這個(gè) Key 的狀態(tài)是「啟用」檢查環(huán)境變量和 settings.json 里是否同時(shí)存在兩個(gè)不同的 Key導(dǎo)致覆蓋。5.2 404 Not Foundbase_url 寫錯(cuò)。TaoToken 的入口是https://taotoken.net/api不要寫成https://taotoken.net/api/v1也不要寫成https://taotoken.net。LangChain 和 OpenAI SDK 會(huì)自動(dòng)拼接/v1/chat/completions你多寫一層就 404。5.3 model not found模型 ID 拼錯(cuò)或者這個(gè)模型在你的 TaoToken 賬戶里沒(méi)有權(quán)限。排查動(dòng)作在 TaoToken 模型列表里復(fù)制準(zhǔn)確的模型 ID先用gpt-4o或gemini-2.5-flash這類通用模型測(cè)試確認(rèn)通道通了再換專用模型。5.4 MCP server 啟動(dòng)后立刻退出通常是python -m browser_use.mcp_server這個(gè)模塊不存在或者 Python 環(huán)境不對(duì)。排查動(dòng)作確認(rèn)你安裝的是 BrowserUse 的完整包而不是只裝了核心庫(kù)用pip show browser-use確認(rèn)版本在命令行手動(dòng)運(yùn)行啟動(dòng)命令看報(bào)錯(cuò)信息。如果提示缺少依賴按提示安裝。5.5 Claude Desktop 里看不到 browseruse 工具M(jìn)CP 配置文件的路徑或格式不對(duì)。Claude Desktop 的 MCP 配置在~/Library/Application Support/Claude/claude_desktop_config.jsonmacOS或%APPDATA%\Claude\claude_desktop_config.jsonWindows。排查動(dòng)作確認(rèn) JSON 格式合法沒(méi)有多余逗號(hào)確認(rèn)command指向的 Python 是你要用的那個(gè)環(huán)境重啟 Claude Desktop不是刷新窗口。5.6 瀏覽器啟動(dòng)失敗browser.headless設(shè)成true時(shí)某些系統(tǒng)缺少顯示驅(qū)動(dòng)會(huì)報(bào)錯(cuò)。排查動(dòng)作調(diào)試階段先把headless設(shè)為false看瀏覽器能不能正常彈出如果彈出正常再改回true做生產(chǎn)部署。另外確認(rèn) Playwright 的瀏覽器驅(qū)動(dòng)已安裝運(yùn)行playwright install chromium。5.7 請(qǐng)求超時(shí)browser.timeout默認(rèn) 30000 毫秒復(fù)雜頁(yè)面可能不夠。排查動(dòng)作把 timeout 調(diào)到 60000同時(shí)檢查agent.max_steps是否太小導(dǎo)致任務(wù)沒(méi)跑完就被截?cái)?。如果模型響?yīng)慢換一個(gè)更快的模型比如gemini-2.5-flash。6. 接入文檔與后續(xù)動(dòng)作配置和驗(yàn)證都過(guò)了之后你手里應(yīng)該有一份能跑的 settings.json 和一套驗(yàn)證通過(guò)的 MCP 鏈路。接下來(lái)如果要做長(zhǎng)期編碼或 Agent 項(xiàng)目建議把 Key 管理、模型切換、日志監(jiān)控這三件事規(guī)范化。Key 管理方面用環(huán)境變量或密鑰管理服務(wù)不要硬編碼。模型切換方面TaoToken 的兼容格式讓你可以在 settings.json 里只改model字段就換模型不用動(dòng) base_url 和 Key。日志監(jiān)控方面BrowserUse 的save_conversation_path會(huì)把每一步?jīng)Q策記錄下來(lái)出問(wèn)題時(shí)可以回放。如果你在排障或接入過(guò)程中遇到問(wèn)題可以直接查 TaoToken 的接入文檔里面有各語(yǔ)言 SDK 的示例和常見(jiàn)錯(cuò)誤碼說(shuō)明。需要管理或新建 Key 時(shí)去 API Keys 頁(yè)面操作。想先驗(yàn)證模型對(duì)話是否正常可以用模型對(duì)話頁(yè)面發(fā)一條測(cè)試消息。長(zhǎng)期做編碼或 Agent 項(xiàng)目的話Coding Plan 提供了更穩(wěn)定的通道和額度方案適合把 BrowserUse 這類自動(dòng)化工具跑在生產(chǎn)環(huán)境。整個(gè)鏈路的核心就一句話BrowserUse 負(fù)責(zé)瀏覽器操作TaoToken 負(fù)責(zé)統(tǒng)一模型通道MCP 協(xié)議負(fù)責(zé)把兩者串起來(lái)。settings.json 骨架和驗(yàn)證腳本都在上面復(fù)制改 Key 就能用。