nanobrowser

nanobrowserApache-2.0活跃维护

开源的浏览器 AI 智能体,直接接管你已登录的真实浏览器自动完成日常网页任务,免去重复点击和填表。

Open-source AI agent for web automation. Use your real, logged-in browser to automate daily tasks.

v0.3.0发布于 2026-10-15 15:44 UTC14,280star +16 / 7 天1,528fork同步于 2026-11-10 23:28 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/nanobrowser/nanobrowser.git
cd nanobrowser
corepack enable
pnpm install
pnpm build
硬件要求按 README 说明

README 未说明显存或 GPU 要求;本地模型建议上下文窗口 16k tokens 以上,推荐 Qwen3.8 27B,简单任务用本地模型即可。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源浏览器 AI 代理,在你已登录的真实浏览器里自动完成网页任务

开源的浏览器 AI 智能体,直接接管你已登录的真实浏览器自动完成日常网页任务,免去重复点击和填表。

核心能力

  • 侧边栏用自然语言下任务,代理读页面、点击、输入并跨标签页操作
  • 每个任务独立标签组,可并行跑多个任务同时继续浏览
  • Ask/Auto 双模式,提交、发送、删除、上传前可要求确认
  • 支持云端多家厂商与 Ollama、LM Studio 等本地模型,按对话切换
  • 长任务自动摘要早期步骤,聊天记录可回退重跑或导出 Markdown

容易踩的坑

需 Node.js 24 LTS 与 pnpm 10,版本不符会构建失败;构建后要在 chrome://extensions 开启开发者模式并加载 dist 目录;本地模型需配置 OLLAMA_ORIGINS 或开启 LM Studio 的 CORS,且模型必须支持 tool calling。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.3.0
  1. v0.3.0Nanobrowser v0.3.0最新正式版2026-10-15 · 2026-10-15 15:44 UTC

    Nanobrowser v0.3.0

    Nanobrowser 0.3 is rebuilt from the ground up: one agent in the side panel, on top of a new browser control layer that clicks the right element, acts like a real user and reports what really happened.

    What's new

    • CDP. The new browser control is rebuilt with chrome.debugger API, it uses CDP to interact with elements in web pages. It's more stable than the previous injected scripts solution.
    • One agent, one chat per tab. The old planner and navigator are replaced by a single agent. Several tasks can run side by side, each in its own tab group.
    • You decide what it may do. Ask mode (default) asks before the agent submits, sends, deletes or uploads; Auto mode goes ahead. Payments, passwords, codes and access grants are always handed to you. Set any site to Allow, Ask or Block.
    • More reliable actions. Each element has an ID tied to that exact element, clicks and typing are real browser input, and every action is sent once and reports whether the page responded.
    • Any model with tool calling. Anthropic, OpenAI, Gemini, OpenRouter, Grok, DeepSeek, Mistral, any OpenAI-compatible endpoint, Ollama and LM Studio. Pick the model and reasoning effort per chat; Test models in Settings checks which ones work.
    • Attachments and uploads. Attach images, text files or a screenshot of the tab; the agent can upload your files to a page and save results (CSV, Markdown) to Downloads.
    • Shortcuts, voice and custom instructions. Start saved prompts with /, speak with OpenAI's or Gemini's voice model, and tell the agent what to keep in mind in every chat.
    • Long tasks and history. Long chats are summed up automatically, with your own messages kept in full. Edit and rerun any message, or export a chat as Markdown.
    • English, Simplified Chinese and Traditional Chinese, in light or dark.

    Updating from 0.2

    Your providers and API keys, default model, saved prompts and blocked sites move to 0.3. Earlier conversations stay in your browser until you export or delete them in Settings → Data.

    Privacy

    A daily count of users and anonymous usage counts are sent with no ID, and never include your pages, sites, messages or keys. Both can be turned off in Settings → Data. See PRIVACY.md.

    Full Changelog: https://github.com/nanobrowser/nanobrowser/compare/v0.2.0...v0.3.0

  2. v0.2.02026-10-02 · 2026-10-02 13:51 UTC
    查看更新说明

    What's new

    • Built with WXT: the extension is now a single package built with WXT instead of a multi-package monorepo. Development mode reloads pages instantly and reloads the extension automatically.
    • New AI engine: LLM calls now run on the Vercel AI SDK instead of LangChain. Structured output is more reliable with Anthropic, Gemini 3, DeepSeek and GPT-6 models.
    • Reasoning effort: models that support it now use a reasoning effort setting instead of temperature and top P.
    • Updated default models for OpenAI, Anthropic, Gemini, Grok, DeepSeek and Ollama.
    • Ollama now connects through its OpenAI-compatible API. Existing Ollama settings keep working.

    Breaking changes

    • Groq, Cerebras and Llama API providers were removed. Their saved settings and API keys are deleted when you upgrade. To keep using one, add it again as a custom OpenAI-compatible provider, and choose a new model for any agent that used it.
    • The Minimal reasoning effort option was removed. If you had saved Minimal, it is now treated as Low.

    For developers

    • Building the extension requires Node.js 24 LTS and pnpm 10.
  3. v0.1.132025-11-22 · 2025-11-22 13:52 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/nanobrowser/nanobrowser/compare/v0.1.12...v0.1.13

  4. v0.1.122025-09-03 · 2025-09-03 08:21 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/nanobrowser/nanobrowser/compare/v0.1.9...v0.1.12

  5. v0.1.11Nanobrowser v0.1.11pre-release2025-09-03 · 2025-09-03 05:27 UTC
    查看更新说明

    What's Changed

    • Fix inconsistent anonymous id bug

    Full Changelog: https://github.com/nanobrowser/nanobrowser/compare/v0.1.10...v0.1.11

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    GitHub Twitter Discord DeepWiki Sponsor

    🌐 Nanobrowser

    Nanobrowser is an open-source AI agent that works in your own browser. Tell it a task in the side panel; it reads the pages, clicks, types and moves between tabs to get it done, and it asks you before it submits, sends, deletes or uploads anything.

    ⬇️ Get Nanobrowser from the Chrome Web Store for free

    👏 Join the community on Discord | X

    ❤️ Support the project by sponsoring us. Every contribution helps keep Nanobrowser free and open source.

    🔥 Why Nanobrowser?

    • Free. No subscription and no hidden costs. Use your own API key or a local model, and pay only for what you use.
    • Private. Everything runs in your browser. Your keys stay in the browser and go only to their own provider. Pages go only to the model you choose. A daily count of users and usage counts are sent without an ID and never include your pages or sites; see PRIVACY.md.
    • Flexible LLM. Choose from many cloud providers, or run a model on your own computer, and switch whenever you like. No lock-in.
    • Open source. All the code is public, so you can see exactly how it works and change it to fit your needs.

    📊 Key Features

    • Chat in the side panel: say what you need in plain words. The agent reads pages, clicks, types and moves between tabs to get it done.
    • Several tasks at once: each task works in its own tab group, so you can run a few side by side and keep browsing.
    • You choose when it asks: pick Ask or Auto mode, and set rules for each site (see below).
    • Your choice of model: cloud or local. Pick the model, and how hard it thinks, for each chat.
    • Images and files: attach images, text files or a screenshot of the current tab. The agent can also upload your files to a page.
    • Save results: the agent can save its work, like a CSV table or a Markdown report, to your Downloads folder. Chrome asks you the first time.
    • Shortcuts: save a prompt you use often and start it by typing /. You can give it a start page and a model.
    • Voice input: speak instead of typing, with OpenAI's or Gemini's voice model.
    • Memory: tell the agent what to keep in mind in every chat, like who you are or how you like your answers.
    • Long tasks: when a chat gets long, older steps are summed up automatically so the task can go on. Your own messages are always kept in full.
    • Chat history: go back to any chat, edit a message and run it again from there, or export the chat as Markdown.
    • Your language and theme: English, Simplified Chinese or Traditional Chinese, in light or dark.

    🌐 Browser Support

    • Supported: Chrome and Edge.
    • Not supported: Firefox, Safari, and other Chromium-based browsers (Opera, Arc, Brave and others). Nanobrowser may work in them, but they are not tested.

    🛡️ You decide what the agent may do

    What the agent doesAsk mode (default)Auto mode
    Read pages, click links, scroll, move between tabsGoes aheadGoes ahead
    Submit, send, delete or uploadAsks you firstGoes ahead
    Pay, enter a password or code, grant accessHands the step to youHands the step to you

    You can also set a site to Allow (go ahead in both modes), Ask (ask in both modes) or Block (the agent may not use it), in Settings → Permissions.

    [!NOTE] You are always in charge.

    • The agent may not notice every step that needs you. When it does notice one, your settings always apply, and no AI model can change them.
    • The agent reads text on a web page as information, never as orders. This helps against pages that try to trick it (prompt injection), but no protection is perfect.
    • So use sites you trust, keep an eye on the agent, and press Stop at any time to take over.

    🤖 Models

    KindProviders
    CloudAnthropic, OpenAI, Google Gemini, OpenRouter, xAI Grok, DeepSeek, Mistral, and any OpenAI-compatible endpoint
    LocalOllama and LM Studio, and other servers (llama.cpp, vLLM and others) through the OpenAI-compatible provider
    • A model must support tool calling. Test models in Settings checks each model and marks the ones that cannot be used.
    • Choose the model and the reasoning effort in the panel, per conversation. Settings holds the defaults.
    • Vision models can also take screenshots of the page and read the images you attach.
    • Local models work best for simple, clear tasks. We currently recommend Qwen3.8 27B. Give them a context window of 16k tokens or more. Ollama needs OLLAMA_ORIGINS to allow the extension, and LM Studio needs CORS on; the provider card shows how when a request is refused.
    • Voice input uses OpenAI's or Gemini's voice model with your key from that provider.

    💡 Try these

    "Summarize this page in a few bullet points."

    "Compare the three laptops I have open and put the prices and specs in a table."

    "Find a portable Bluetooth speaker on Amazon that is water-resistant, under $50, with at least 10 hours of battery."

    "Extract the top 10 headlines from TechCrunch in the last 24 hours and save them as a CSV file."

    🚀 Quick Start

    1. Install it from the Chrome Web Store: click Add to Chrome and confirm. In Edge, first allow extensions from other stores when Edge asks.

    2. Set it up: the welcome page opens and helps you connect a cloud provider or a local model. You can also do it later in Settings → Providers.

    3. Use it: click the Nanobrowser icon in the toolbar, or press Alt+Shift+N, to open the side panel on the current tab.

    🔧 Build from Source

    1. Prerequisites: Node.js 24 LTS and pnpm 10 (corepack switches to the pinned 10.34.7).

    2. Clone and build:

      git clone https://github.com/nanobrowser/nanobrowser.git
      cd nanobrowser
      corepack enable # skip if pnpm 10 is already installed
      pnpm install
      pnpm build      # builds the extension into dist/
      
    3. Load it in Chrome or Edge:

      • Open chrome://extensions (in Edge, edge://extensions).
      • Turn on Developer mode (top right).
      • Click Load unpacked and choose the dist folder.

    Then set it up and use it as in the Quick Start. To update, pull the latest source, run pnpm build again, and click the reload icon on the Nanobrowser card in the extensions page.

    🛠️ Development

    pnpm dev               # run in development mode, reloads on changes; load dist/ in Chrome
    pnpm zip               # make a release build as a zip file in dist-zip/
    pnpm type-check        # check types
    pnpm lint              # check code style and import rules
    pnpm test              # run the unit tests
    pnpm install-chrome    # install Chrome for Testing, used by the browser tests
    pnpm autorun scenarios # run the browser tests on local test pages, without a window
    

    How it works. The agent sits on top of a browser control layer. The layer looks at the page, acts on it, and reports what happened. It has no AI model in it, so the same input always gives the same result. This makes the agent more reliable:

    • It clicks the right element. Each element the agent sees gets an ID that is tied to that exact element. If the page changes, an old ID stops working instead of pointing at something else.
    • It acts like a real user. Clicks and typing are real browser input. Before acting, the layer checks that the element is visible, not moving, enabled, and not covered by something else.
    • It tells the agent what really happened. Each action is sent only once. The result says whether it went through, whether the page responded, and whether the page reached the expected state.

    The layer talks to the page only through Chrome's chrome.debugger API, and uses Puppeteer to keep track of frames on the page. For developers there is a test panel to try the layer by hand: bind a key to the open-test-panel command in chrome://extensions/shortcuts.

    AGENTS.md (also CLAUDE.md) explains the design rules, how the repository is laid out and how we work, for people and for AI coding assistants.

    🤝 Contributing

    Contributions of all kinds are welcome:

    🔒 Security

    If you find a security vulnerability, please do not disclose it in public issues, pull requests or discussions. Report it through a GitHub Security Advisory, so it can be fixed before it is made public. See SECURITY.md.

    💬 Community

    👏 Acknowledgments

    Nanobrowser builds on other great open-source projects:

    Thanks to their creators and contributors.

    📄 License

    Nanobrowser is licensed under the Apache License 2.0. See the LICENSE file for details.