Allows users to load web pages across various components of big-AGI
. This feature is supported by Puppeteer-based
browsing services, which are the most common way to render web pages in a headless environment.
Once configured, the Browsing service provides the following functionality:
big-AGI
will load and attach the page (very effective)/browse [URL]
in the chat to command big-AGI
to load the specified web pageloadURL()
function whenever a URL is encounteredIt does not yet support the following functionality:
/react
yetFirst of all, you need to procure a Puppteer web browsing service endpoint. big-AGI
supports services like:
Service | Working | Type | Location | Special Features |
---|---|---|---|---|
BrightData Scraping Browser | Yes | Proprietary | Cloud | Advanced scraping tools, global IP pool |
Cloudflare Browser Rendering | ? | Proprietary | Cloud | Integrated CDN, optimized browser rendering |
⬇️ Browserless 2.0 | Okay | OpenSource | Local (Docker) | Parallelism, debug viewer, advanced APIs |
⬇️ Your Chrome Browser (ALPHA) | Alpha | Proprietary | Local (Chrome) | Personal, experimental use (ALPHA!) |
other Puppeteer-based WSS Services | ? | Varied | Cloud/Local | Service-specific features |
Procure an Endpoint
wss://${auth}@{some host}:{port}
, or ws:// for local services on your machineConfigure big-AGI
Enable Features: Choose which browse-related features you want to enable:
/browse
command in the chat to load a web pageloadURL()
function in ReAct for advanced interactionsBrowserless 2.0 is a Docker-based service that provides a headless
browsing experience compatible with big-AGI
. An open-source solution that simplifies web automation tasks,
in a scalable manner.
Launch Browserless with:
docker run -p 9222:3000 browserless/chrome:latest
Now you can use the following connection string in big-AGI
: ws://127.0.0.1:9222
.
You can also browse to http://127.0.0.1:9222 to see the Browserless debug viewer
and configure some options.
The chat agent won't be able to access the web sites if the browserless container does not have direct Internet access. You can resolve the issue by defining internet proxy for the running container. You can then use the evironment file in the a `docker-compose.yaml
browserless:
image: browserless/chrome:latest
env_file:
- .env
ports:
- "9222:3000" # Map host's port 9222 to container's port 3000
environment:
- MAX_CONCURRENT_SESSIONS=10
You can then add the proxy lines to your .env
file.
https_proxy=http://PROXY-IP:PROXY-PORT
http_proxy=http://PROXY-IP:PROXY-PORT
This is how you can define it in a one liner docker
docker run --env https_proxy=http://PROXY-IP:PROXY-PORT --env http_proxy=http://PROXY-IP:PROXY-PORT -p 9222:3000 browserless/chrome:latest
Note: if you are using docker-compose
, please see the
docker/docker-compose-browserless.yaml file for an example
on how to run big-AGI
and Browserless simultaneously in a single application.
EXPERIMENTAL - UNTESTED - You can use your own Chrome browser as a browsing service, by configuring it to expose a WebSocket endpoint.
--remote-debugging-port=9222
webSocketDebuggerUrl
value
ws://localhost:9222/...
You can set the Puppeteer WebSocket endpoint (PUPPETEER_WSS_ENDPOINT
) in the deployment before running it.
This is useful for self-hosted instances or when you want to pre-configure the endpoint for all users, and will
allow your to skip points 2 and 3 above.
Always deploy your own user authentication, authorization and security solution. For this feature, the tRPC route that provides browsing service, shall be secured with a user authentication and authorization solution, to prevent unauthorized access to the browsing service.
If you encounter any issues or have questions about configuring the browse functionality, join our community on Discord for support and discussions.
Enjoy the enhanced browsing experience within big-AGI
and explore the web without ever leaving your chat!
Last updated on Feb 27, 2024 (edit on GitHub)