|
hai 7 meses | |
---|---|---|
extension | hai 7 meses | |
src | hai 7 meses | |
.gitignore | hai 7 meses | |
LICENSE | hai 7 meses | |
README.md | hai 7 meses | |
config_example.yaml | hai 7 meses | |
install.sh | hai 7 meses | |
pyproject.toml | hai 7 meses |
Open source multi-agent browser automation tool with built-in Chrome extension.
The system architecture is visualized using a mermaid diagram, illustrating the interaction between various components such as the Chrome Extension, WebSocket Server, and Multi-Agent components.
graph TB
subgraph "Nano Browser Agent Server"
direction LR
WS[WebSocket Server]
subgraph "Multi-Agent Component"
direction TB
N[Navigator]
P[Planner]
E[Evaluator]
V[Validator]
end
end
subgraph "Chrome Extension"
direction TB
UI[Chat Sidebar UI]
CE[Extension Background]
end
%% External Communications
UI <--> CE
CE <-->|WebSocket| WS
%% Agent interactions
P -->|Next step| N
N -->|Execution results| E
E -->|Success/Failure + Feedback| P
P -->|Final result| V
V -->|Validation failure + Feedback| P
%% Layout hints
linkStyle 2,3,4,5 stroke-width:2
To install the Chrome Extension:
chrome://extensions/
.nanobrowser/extension/src
directory.To run the NanoBrowser Agent Server via script (MacOS), follow these steps:
Navigate to the nanobrowser
directory:
cd nanobrowser
bash
./install.sh
Run the NanoBrowser Agent Server:
uv run nanobrowser
To run the NanoBrowser Agent Server manually on Linux/MacOS or Windows, follow these steps:
uv
:bash
curl -LsSf https://astral.sh/uv/install.sh | sh
Create a Virtual Environment:
Navigate to the nanobrowser
directory:
cd nanobrowser
bash
uv venv --python 3.10
Install Dependencies:
Install the required dependencies:
uv pip install .
config.yaml
file does not exist, copy the example configuration:
bash
cp config_example.yaml config.yaml
Edit config.yaml
with your settings, including filling in the LLM API keys.
Run the Project:
bash
uv run nanobrowser
## Contributing
Contributions to the NanoBrowser project are welcome! To contribute:
1. Fork the repository.
2. Clone your fork.
3. Create a new branch for your feature or fix.
4. Make your changes and commit them.
5. Push to your fork and create a pull request.
Thank you for your interest in contributing to NanoBrowser!
## Acknowledgments
Special thanks to the open-source projects that inspired NanoBrowser:
- python-cdp
- Agent-E
- fuji-web
Their foundational work helped shape this project. We appreciate the open-source community's collaborative spirit.
## License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.