Sibyl gives your AI Agent the web, without the bloat — extensible and lightweight by design 🕷️
Sibyl uses SearXNG for web search and Crawl4AI for webpage fetching by default. Both run locally with no API key. Lots of other options are available (e.g., Exa, Firecrawl, Brightdata, etc.). Check the Configuration section for more details.
Get a working setup in a few steps:
-
Install Sibyl globally via NPM:
# ⚠️ Not yet available on npm npm i -g sibyl -
Run a local SearXNG instance for searching the web:
# Create and enter a working directory for the SearXNG local instance mkdir ~/searxng cd ~/searxng # Download SearXNG's default settings curl -o settings.yml https://raw.githubusercontent.com/searxng/searxng/master/searx/settings.yml # Enable the JSON output format and replace the placeholder secret key sed -i -e 's/ - html$/ - html\n - json/' \ -e "s/secret_key: \"ultrasecretkey\"/secret_key: \"$(openssl rand -hex 32)\"/" \ searxng/settings.yml # Start SearXNG on http://localhost:8080 with the updated settings docker run -d \ --restart unless-stopped \ -p 8080:8080 \ -v ./settings.yml:/etc/searxng/settings.yml \ --name searxng \ searxng/searxng:latest
-
Run a local Crawl4AI instance for fetching webpages:
docker run -d \ --restart unless-stopped \ -p 11235:11235 \ --shm-size=3g \ --name crawl4ai \ unclecode/crawl4ai:latest
-
Run your first search:
sibyl search "how to use react with vite" -
Configure your settings!
Check the Configuration section for more details.
| Command | Description |
|---|---|
search |
Searches the web sibyl search "react vite boostrap" |
fetch |
Gets the content of a site in token-efficient markdown sibyl fetch https://vite.dev/guide |
ask |
Asks a query using LLM from a site's content sibyl ask https://vite.dev/guide "how to start a react project with vite" |
--help, -h |
Show help. |
--version |
Show version. |
See the configuration documentation for more details at docs/CONFIGURATION.md
See the plugin development documentation for more details at docs/CREATING-PLUGINS.md
See the contribution documentation for more details at docs/CONTRIBUTION.md
