feat(web): register Keenable provider in WebUI, docs, and tests
Bring the Keenable search provider in line with the established multi-file provider pattern so it surfaces everywhere the others do: - settings_api.py: register in the web-search provider options so it appears in the WebUI settings dropdown (credential: api_key, optional). - WebUI provider-brand: add keenable brand entry + brand test. - docs/configuration.md: provider table row + config example. - Harden _search_keenable: honor config.timeout and return explicit messages on HTTP status errors (429 / other), matching peer providers. - Add env-key and HTTP-error tests; add the websocket settings whitelist assertion. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
committed by
Xubin Ren
co-authored by
Claude Opus 4.8
parent
4f6e5e9cb8
commit
fa3e902ee8
@@ -1456,6 +1456,7 @@ By default, web search uses `duckduckgo`, and it works out of the box without an
|
||||
| `olostep` | `apiKey` | `OLOSTEP_API_KEY` | No |
|
||||
| `bocha` | `apiKey` | `BOCHA_API_KEY` | Free tier (1M calls for startups) |
|
||||
| `volcengine` | `apiKey` | `VOLCENGINE_SEARCH_API_KEY` or `WEB_SEARCH_API_KEY` | Monthly quota, then paid |
|
||||
| `keenable` | `apiKey` (optional) | `KEENABLE_API_KEY` | Free tier (no login); key raises rate limits |
|
||||
| `searxng` | `baseUrl` | `SEARXNG_BASE_URL` | Yes (self-hosted) |
|
||||
| `duckduckgo` (default) | — | — | Yes |
|
||||
|
||||
@@ -1565,6 +1566,22 @@ You can set `BOCHA_API_KEY` in the environment instead of storing it in config.
|
||||
|
||||
You can also set `WEB_SEARCH_API_KEY` for compatibility with the Volcengine web-search skill. Create the key in the [Volcengine web search console](https://console.volcengine.com/search-infinity/web-search), then copy it from [API keys](https://console.volcengine.com/search-infinity/api-key). Volcengine Ark keys are separate and do not work for this search provider.
|
||||
|
||||
**Keenable** (free tier, no login required):
|
||||
```json
|
||||
{
|
||||
"tools": {
|
||||
"web": {
|
||||
"search": {
|
||||
"provider": "keenable",
|
||||
"apiKey": "${KEENABLE_API_KEY}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Search works without a key on the free tier; `apiKey` is optional and raises rate limits. Create a key at [keenable.ai](https://keenable.ai). You can also set `KEENABLE_API_KEY` in the environment instead of storing it in config.
|
||||
|
||||
**SearXNG** (self-hosted, no API key needed):
|
||||
```json
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user