MCPcopy Index your code
hub / github.com/nanobrowser/nanobrowser

github.com/nanobrowser/nanobrowser @v0.1.13 sqlite

repository ↗ · DeepWiki ↗ · release v0.1.13 ↗
716 symbols 1,457 edges 140 files 108 documented · 15% 27 cross-repo links
README

banner

GitHub Twitter Discord Ask DeepWiki

🌐 Nanobrowser

Nanobrowser 是一款在瀏覽器中執行的開放原始碼 AI 網頁自動化工具。作為 OpenAI Operator 的免費替代方案,提供彈性的 LLM 選項與多代理系統。

⬇️ 從 Chrome 線上應用程式商店 免費取得 Nanobrowser

👏 加入我們的 Discord | X 社群

❤️ 喜歡 Nanobrowser 嗎?請給我們一顆星星 🌟 並協助分享!

Nanobrowser Demo GIF

Nanobrowser 的多代理系統即時分析 HuggingFace,其中 Planner 會在遇到障礙時自行修正,並動態指示 Navigator 調整做法——這一切都在本機瀏覽器中執行。

🔥 為什麼選擇 Nanobrowser?

正在尋找功能強大的 AI 瀏覽器代理,卻不想每月為 OpenAI Operator 支付 200 美元嗎?Nanobrowser 作為一款 Chrome 擴充功能,提供進階的網頁自動化能力,同時讓您保有完全的掌控權:

  • 100% 免費 - 無訂閱費或隱藏成本。安裝後使用自己的 API 金鑰,只需支付給供應商的 API 使用費。
  • 注重隱私 - 所有處理都在本機瀏覽器內完成。您的認證資訊會儲存在本機,絕不會與任何雲端服務分享。
  • 彈性的 LLM 選項 - 可連接您偏好的 LLM 供應商,並可為不同代理選擇不同模型。
  • 完全開放原始碼 - 瀏覽器自動化過程完全透明,沒有任何黑箱作業或隱藏的處理程序。

請注意: 我們目前支援 OpenAI、Anthropic、Gemini、Ollama、Groq、Cerebras、Llama 以及自訂的 OpenAI 相容供應商,未來將會支援更多。

📊 主要功能

  • 多代理系統:由專業的 AI 代理協同合作,完成複雜的網頁工作流程
  • 互動式側邊面板:直覺的聊天介面,提供即時的狀態更新
  • 任務自動化:跨網站無縫自動化重複性任務
  • 後續提問:針對已完成的任務提出與上下文相關的追問
  • 對話歷史紀錄:輕鬆存取並管理與 AI 代理的互動歷史
  • 支援多種 LLM:可連接您偏好的 LLM 供應商,並為不同代理指派不同模型

🌐 瀏覽器支援

正式支援: - Chrome - 完整支援所有功能 - Edge - 完整支援所有功能

不支援: - Firefox、Safari,以及其他 Chromium 衍生瀏覽器 (Opera、Arc 等)

注意:雖然 Nanobrowser 可能可在其他 Chromium 系瀏覽器上運作,我們仍建議使用 Chrome 或 Edge,以獲得最佳體驗並確保相容性。

🚀 快速入門

  1. 從 Chrome 線上應用程式商店安裝 (穩定版):
  2. 前往 Nanobrowser 的 Chrome 線上應用程式商店頁面
  3. 按一下 [新增至 Chrome] 按鈕
  4. 在提示出現時確認安裝

重要提示:若要體驗最新功能,請參考下方的 「手動安裝最新版本」 進行安裝,因為 Chrome 線上應用程式商店的版本可能會因審核流程而延遲。

  1. 設定代理模型
  2. 按一下工具列中的 Nanobrowser 圖示以開啟側邊面板
  3. 按一下右上角的 設定 圖示
  4. 新增 LLM API 金鑰
  5. 為不同代理 (Navigator、Planner) 選擇要使用的模型

🔧 手動安裝最新版本

若要取得包含所有最新功能的版本:

  1. 下載

    • 從官方 GitHub 的 版本頁面 下載最新的 nanobrowser.zip 檔案。
  2. 安裝

    • 解壓縮 nanobrowser.zip
    • 在 Chrome 中開啟 chrome://extensions/
    • 啟用 開發人員模式 (右上角)
    • 按一下 載入未封裝的擴充功能 (左上角)
    • 選擇已解壓縮的 nanobrowser 資料夾。
  3. 設定代理模型

    • 按一下工具列中的 Nanobrowser 圖示以開啟側邊面板
    • 按一下右上角的 設定 圖示。
    • 新增 LLM API 金鑰。
    • 為不同代理 (Navigator、Planner) 選擇要使用的模型。
  4. 升級

    • 從版本頁面下載最新的 nanobrowser.zip 檔案。
    • 解壓縮並用新檔案覆寫您現有的 Nanobrowser 檔案。
    • 前往 Chrome 的 chrome://extensions/ 頁面,然後在 Nanobrowser 卡片上按一下重新整理圖示。

🛠️ 從原始碼建置

如果您偏好自行建置 Nanobrowser,請依照以下步驟操作:

  1. 先決條件
  2. Node.js (v22.12.0 或更高版本)
  3. pnpm (v9.15.1 或更高版本)

  4. 複製儲存庫bash git clone https://github.com/nanobrowser/nanobrowser.git cd nanobrowser

  5. 安裝相依套件bash pnpm install

  6. 建置擴充功能bash pnpm build

  7. 載入擴充功能

  8. 建置完成的擴充功能將位於 dist 目錄中
  9. 依照「手動安裝」一節中的步驟,將擴充功能載入瀏覽器

  10. 開發模式 (選用): bash pnpm dev

🤖 選擇您的模型

Nanobrowser 允許您為每個代理設定不同的 LLM 模型,以平衡效能與成本。以下是建議的設定:

追求高效能

  • Planner:Claude Sonnet 4
  • 更佳的推理與規劃能力
  • Navigator:Claude Haiku 3.5
  • 有效率地處理網頁導覽任務
  • 在效能與成本之間取得良好平衡

講求成本效益

  • Planner:Claude Haiku 或 GPT-4o
  • 以較低成本獲得合理的效能
  • 處理複雜任務可能需要更多次的迭代
  • Navigator:Gemini 2.5 Flash 或 GPT-4o-mini
  • 輕量級且具成本效益
  • 適合基本的導覽任務

本機模型

  • 設定選項
  • 使用 Ollama 或其他自訂的 OpenAI 相容供應商,在本機執行模型
  • 零 API 成本並確保完全隱私,所有資料都保留在本機電腦

  • 推薦模型

  • Qwen3-30B-A3B-Instruct-2507
  • Falcon3 10B
  • Qwen 2.5 Coder 14B
  • Mistral Small 24B
  • 社群最新測試結果
  • 歡迎社群成員在我們的 Discord 分享其他本機模型的使用經驗

  • 提示詞工程

  • 本機模型通常需要更具體、清楚的提示詞
  • 避免使用高層次、模糊的指令
  • 將複雜的任務拆解成清楚、詳細的步驟
  • 提供明確的上下文與限制條件

請注意:講求成本效益的設定可能會產生較不穩定的輸出,且處理複雜任務時可能需要更多次的迭代。

提示:歡迎盡情嘗試自己的模型設定!找到絕佳組合了嗎?到我們的 Discord 與社群分享,幫助大家最佳化設定。

💡 實際應用案例

以下是幾個只要一句話就能完成的強大任務:

  1. 新聞摘要

    "前往 TechCrunch,擷取過去 24 小時內的 10 大頭條新聞"

  2. GitHub 研究

    "在 GitHub 上找出星星數最多的熱門 Python 儲存庫"

  3. 購物研究

    "在 Amazon 上找一款具備防水設計、價格低於 50 美元的可攜式藍牙喇叭,且電池續航力至少要有 10 小時"

🛠️ 發展藍圖

我們正積極開發 Nanobrowser,未來將有更多令人期待的功能推出,歡迎加入我們!

請至我們的 GitHub Discussions 查看詳細的發展藍圖與即將推出的功能。

🤝 如何貢獻

我們需要您的幫助,讓 Nanobrowser 變得更好! 我們歡迎各種形式的貢獻:

  • 分享提示詞與使用案例
  • 加入我們的 Discord 伺服器
  • 分享您如何使用 Nanobrowser,協助我們建立實用的提示詞與實際應用案例資料庫。
  • 提供回饋意見
  • 試用 Nanobrowser,並在我們的 Discord 伺服器 上提供效能回饋或改進建議。
  • 貢獻程式碼
  • 請參閱我們的 CONTRIBUTING.md,瞭解如何為本專案貢獻程式碼的指南。
  • 針對錯誤修復、新功能或文件改進,提出 Pull Request。

我們深信開放原始碼與社群協作的力量。歡迎與我們一同打造網頁自動化的未來!

🔒 安全性

如果您發現安全漏洞,請不要透過 Issues、Pull Request 或 Discussions 公開揭露。

請建立一個 GitHub Security Advisory 來負責任地回報此漏洞。這讓我們能在漏洞被公開之前解決問題。

我們感謝您協助維護 Nanobrowser 及其使用者的安全!

💬 社群

歡迎加入我們持續成長的開發者與使用者社群:

👏 致謝

Nanobrowser 的開發建立在許多優秀的開放原始碼專案之上:

由衷感謝這些專案的建立者與貢獻者!

📄 授權

本專案採用 Apache License 2.0 授權 - 詳情請參閱 LICENSE 檔案。

由 Nanobrowser 團隊用 ❤️ 打造。

喜歡 Nanobrowser 嗎?請給我們一顆星星 🌟 並加入我們的 Discord | X

⚠️ 衍生專案免責聲明

我們明確「不予背書、不提供支援、也不參與」任何 基於本程式碼所打造、與加密貨幣、代幣、NFT 或其他區塊鏈相關應用有關的專案。

此類衍生專案與官方 Nanobrowser 專案或核心團隊沒有任何關聯非由我們維護、亦未與我們有任何連結」。

對於使用第三方衍生專案所造成的任何損失、損害或問題,我們概不負責。 使用者與其互動時請自行承擔風險。

我們保留權利 對任何濫用或誤導性使用我們名稱、程式碼或品牌的行為,公開聲明切割並加以澄清。

我們鼓勵開放原始碼創新,但也提醒社群務必審慎判斷。請在使用由獨立開發者基於本程式碼所打造的任何軟體或服務前,先充分了解相關風險。

Extension points exported contracts — how you extend this code

ImportMetaEnv (Interface)
(no doc)
vite-env.d.ts
FavoritePrompt (Interface)
(no doc)
packages/storage/lib/prompt/favorites.ts
ManifestParserInterface (Interface)
(no doc)
packages/dev-utils/lib/manifest-parser/type.ts
JsonSchemaObject (Interface)
(no doc)
packages/schema-utils/lib/helper.ts
Logger (Interface)
(no doc)
chrome-extension/src/background/log.ts
Window (Interface)
(no doc)
pages/side-panel/src/SidePanel.tsx
ModelSettingsProps (Interface)
(no doc)
pages/options/src/components/ModelSettings.tsx
ImportMeta (Interface)
(no doc)
vite-env.d.ts

Core symbols most depended-on inside this repo

t
called by 235
packages/i18n/lib/i18n-dev.ts
emitEvent
called by 76
chrome-extension/src/background/agent/types.ts
toString
called by 43
chrome-extension/src/background/agent/agents/errors.ts
createLogger
called by 21
chrome-extension/src/background/log.ts
getCurrentPage
called by 18
chrome-extension/src/background/browser/context.ts
addMessageWithTokens
called by 16
chrome-extension/src/background/agent/messages/service.ts
filterExternalContent
called by 12
chrome-extension/src/background/agent/messages/utils.ts
createStorage
called by 11
packages/storage/lib/base/base.ts

Shape

Function 308
Method 232
Class 99
Interface 66
Enum 11

Languages

TypeScript100%

Modules by API surface

chrome-extension/src/background/browser/page.ts53 symbols
chrome-extension/src/background/agent/agents/errors.ts36 symbols
pages/options/src/components/ModelSettings.tsx35 symbols
chrome-extension/src/background/browser/dom/views.ts25 symbols
chrome-extension/src/background/browser/context.ts24 symbols
chrome-extension/src/background/agent/messages/service.ts23 symbols
chrome-extension/src/background/agent/agents/navigator.ts23 symbols
pages/side-panel/src/SidePanel.tsx21 symbols
chrome-extension/src/background/browser/dom/service.ts20 symbols
chrome-extension/public/buildDomTree.js20 symbols
chrome-extension/src/background/agent/types.ts19 symbols
chrome-extension/src/background/agent/executor.ts18 symbols

Dependencies from manifests, versioned

@extension/dev-utilsworkspace:* · 1×
@extension/hmrworkspace:* · 1×
@extension/i18nworkspace:* · 1×
@extension/sharedworkspace:* · 1×
@extension/storageworkspace:* · 1×
@extension/tailwindcss-configworkspace:* · 1×
@extension/tsconfigworkspace:* · 1×
@extension/uiworkspace:* · 1×
@extension/vite-configworkspace:* · 1×
@langchain/anthropic0.3.33 · 1×
@langchain/cerebras0.0.4 · 1×
@langchain/core0.3.79 · 1×

For agents

$ claude mcp add nanobrowser \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact