Tools
Searxng
SearXNG web search plugin for OpenClaw — use your self-hosted SearXNG instance as an agent search tool
Install
openclaw plugins install openclaw-searxng
Configuration Example
search:
formats:
- html
- json
README
# openclaw-searxng
An [OpenClaw](https://openclaw.ai) plugin that registers a `searxng_search` agent tool backed by your self-hosted [SearXNG](https://searxng.github.io/searxng/) instance.
No API keys. No rate limits. Full control.
## Features
- 🔍 Web search via any SearXNG instance
- 🔒 Optional bearer token auth for protected instances
- ⚡ Configurable result count, language, and freshness filters
- 🛡️ Graceful error handling (timeouts, bad responses)
## Requirements
- OpenClaw (latest)
- A running SearXNG instance with JSON format enabled
### Enable JSON format in SearXNG
In your `settings.yml`:
```yaml
search:
formats:
- html
- json
```
## Installation
```bash
openclaw plugins install openclaw-searxng
```
Or manually place this directory in `~/.openclaw/extensions/searxng/` and add to your config:
```json
{
"plugins": {
"allow": ["searxng"]
}
}
```
## Configuration
```bash
openclaw config set plugins.entries.searxng.config.url "https://your-searxng-instance.example.com"
# Optional: bearer token for auth-protected instances
openclaw config set plugins.entries.searxng.config.token "your-token"
# Optional: default max results (default: 5)
openclaw config set plugins.entries.searxng.config.maxResults 5
# Optional: request timeout in ms (default: 10000)
openclaw config set plugins.entries.searxng.config.timeoutMs 10000
```
Then restart the gateway:
```bash
openclaw gateway restart
```
## Usage
Once configured, the `searxng_search` tool is automatically available to the agent. You can also invoke it explicitly:
> "Search for the latest news on TypeScript 5.5"
> "Look up how to configure Traefik with Docker"
## Tool Parameters
| Parameter | Type | Required | Description |
|------------|--------|----------|--------------------------------------------------|
| `query` | string | ✅ | Search query |
| `count` | number | ❌ | Max results (default from config, max 10) |
| `language` | string | ❌ | Language code, e.g. `"en"`, `"fr"` (default: `"en"`) |
| `freshness`| string | ❌ | `"day"`, `"week"`, `"month"`, or `"year"` |
## License
MIT
tools
Comments
Sign in to leave a comment