📦nanobrowser / nanobrowser
← 返回首页
Open-Source Chrome extension for AI-powered web automation. Run multi-agent workflows using your own LLM API key. Alternative to OpenAI Operator.
⚖️ Apache-2.0#chrome-extension#agent#ai-agents#ai-tools#automation🌐 nanobrowser.ai📅 创建于 2024-12-31🔄 更新于 2026-10-24
🔗 GitHub TypeScript

📄 仓库 README

在 GitHub 查看 ↗
来自 GitHub 仓库自述文件 · 版权归原作者所有

Nanobrowser

[![GitHub](https://img.shields.io/badge/GitHub-181717?style=for-the-badge&logo=github&logoColor=white)](https://github.com/nanobrowser) [![Twitter](https://img.shields.io/badge/Twitter-000000?style=for-the-badge&logo=x&logoColor=white)](https://x.com/nanobrowser_ai) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/NN3ABHggMK) [![DeepWiki][deepwiki-badge]](https://deepwiki.com/nanobrowser/nanobrowser) [![Sponsor](https://img.shields.io/badge/Sponsor-ff69b4?style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/alexchenzl)

🌐 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 does Ask mode (default) Auto mode
Read pages, click links, scroll, move between tabs Goes ahead Goes ahead
Submit, send, delete or upload Asks you first Goes ahead
Pay, enter a password or code, grant access Hands the step to you Hands 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

Kind Providers
Cloud Anthropic, OpenAI, Google Gemini, OpenRouter, xAI Grok, DeepSeek, Mistral, and any OpenAI-compatible endpoint
Local Ollama 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:

bash 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/

  1. 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.

📈 近 7 天 Star 趋势

每日新增 Star(柱)与累计 Star(线)· 数据来自 GitHub

🏆 排名变化趋势

在各榜单中的排名历史(数字越小越靠前)

📋 历史上榜记录

每次快照的详细数据
日期 榜单 排名 周期新增 总 STAR