| name | hermes-webclaw |
| description | Hermes Agent plugin that replaces the bundled Firecrawl plugin with native WebClaw v1 API support — search, scrape/extract, and crawl. Install when the user wants to use WebClaw as their web backend in Hermes, set up WEBCLAW_API_KEY, or switch from Firecrawl to WebClaw. |
| license | AGPL-3.0 |
| compatibility | Hermes Agent ≥ 0.13.0, Python 3.11+, httpx |
| metadata | {"author":"jal-co","version":"1.0.0","webclaw-api":"v1","hermes-plugin-kind":"backend"} |
hermes-webclaw
Hermes Agent plugin providing native WebClaw v1 API
support as a drop-in replacement for the bundled Firecrawl plugin.
What is WebClaw?
WebClaw is a fast, open-source web
extraction toolkit built in Rust. It extracts clean markdown, JSON, or
LLM-optimized text from any website using HTTP with browser-grade TLS
impersonation — no headless browser required. 118ms average response time.
What this plugin does
Registers a WebSearchProvider subclass (webclaw) that Hermes's built-in
web_search, web_extract, and web_crawl tools route through, plus 9
dedicated tools for the full WebClaw v1 API surface:
| Tool | WebClaw endpoint | What it does |
|---|
webclaw_scrape | /v1/scrape | Single URL extraction — CSS filtering, screenshots, mobile UA, page Q&A |
webclaw_search | /v1/search | Web search with optional parallel scraping of result URLs |
webclaw_crawl | /v1/crawl | Async BFS site crawl with depth/page limits, sitemap seeding |
webclaw_extract | /v1/extract | LLM-powered structured data extraction via JSON schema or prompt |
webclaw_summarize | /v1/summarize | LLM-powered page summarization |
webclaw_diff | /v1/diff | Content change tracking against a previous snapshot |
webclaw_map | /v1/map | Sitemap discovery via sitemap.xml and robots.txt |
webclaw_batch | /v1/batch | Multi-URL extraction in a single concurrent request |
webclaw_brand | /v1/brand | Brand identity extraction — colors, fonts, logo, favicon |
Install
1. Get a WebClaw API key
Sign up at webclaw.io and create an API key from the
dashboard. Keys are prefixed with wc_.
2. Copy plugin files to Hermes
Run the install script on the Hermes host:
bash scripts/install.sh
Or manually:
PLUGIN_DIR=/usr/local/lib/hermes-agent/plugins/web/webclaw
mkdir -p "$PLUGIN_DIR"
cp scripts/plugin.yaml "$PLUGIN_DIR/plugin.yaml"
cp scripts/__init__.py "$PLUGIN_DIR/__init__.py"
cp scripts/provider.py "$PLUGIN_DIR/provider.py"
3. Set the API key
Add to ~/.hermes/.env:
WEBCLAW_API_KEY=wc_your_key_here
4. Set WebClaw as the web backend
Edit ~/.hermes/config.yaml:
web:
backend: webclaw
Or set per-capability:
web:
search_backend: webclaw
extract_backend: webclaw
crawl_backend: webclaw
5. (Optional) Disable Firecrawl
Both plugins register as web providers. If Firecrawl has credentials
configured, disable it to avoid conflicts:
mv /usr/local/lib/hermes-agent/plugins/web/firecrawl \
/usr/local/lib/hermes-agent/plugins/web/firecrawl.disabled
6. Restart the gateway
sudo systemctl restart hermes-gateway
7. Verify
Check the gateway logs for WebClaw registration:
journalctl -u hermes-gateway --no-pager -n 20 | grep -i webclaw
Or run hermes tools and confirm WebClaw appears as the web backend.
Environment variables
| Variable | Required | Description |
|---|
WEBCLAW_API_KEY | Yes | Your WebClaw API key (wc_...). Get one at webclaw.io. |
WEBCLAW_BASE_URL | No | Override API base URL. Default: https://api.webclaw.io. |
Self-hosting WebClaw
If running webclaw-server locally:
WEBCLAW_API_KEY=your_secret
WEBCLAW_BASE_URL=http://your-server:3000
Uninstall
rm -rf /usr/local/lib/hermes-agent/plugins/web/webclaw
mv /usr/local/lib/hermes-agent/plugins/web/firecrawl.disabled \
/usr/local/lib/hermes-agent/plugins/web/firecrawl
sudo systemctl restart hermes-gateway
Credits
Powered by WebClaw by
@0xMassi.