Add Keenable web search provider (keyless by default) - #5889
Open
ilya-bogin-keenable wants to merge 3 commits into
Open
Add Keenable web search provider (keyless by default)#5889ilya-bogin-keenable wants to merge 3 commits into
ilya-bogin-keenable wants to merge 3 commits into
Conversation
Keenable is a web search API built for AI agents. Unlike the other providers, it works without an API key by default (keyless public endpoint); setting AGENT_KEENABLE_API_KEY uses the authenticated endpoint and lifts rate limits. - web-browsing.js: _keenableSearch provider + switch case - updateENV.js / systemSettings.js: AGENT_KEENABLE_API_KEY + AGENT_KEENABLE_API_URL - agent_search_provider validation allowlist - frontend: provider entry + options form (optional key, base URL) + icon - .env.example (server + docker)
Member
|
@ilya-bogin-keenable all PR's need an issue for tracking. https://github.com/Mintplex-Labs/anything-llm/blob/master/CONTRIBUTING.md#before-you-start |
Author
|
Thanks, opened #6077 as the tracking issue for this. |
Author
|
@timothycarambat the tracking issue is up: #6077 (opened the same day you asked, via the Quick recap in case it helps: it adds Keenable as a web-search provider for the agent web-browsing skill, and it is the only one there that works with no API key (keyless endpoint by default; a key only lifts rate limits). 8 files / +174, purely additive, no behaviour change for the existing providers. Rebased on |
Keenable returns both fields on every result: snippet carries the page text and description is the page's meta description, which is empty for most pages, so the agent received citations with an empty snippet. Keenable also returns whole pages, so the text is collapsed and capped at 500 chars.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Keenable as a web search provider for agent skills, alongside the existing
Tavily/Brave/SearXNG/DuckDuckGo/etc. providers.
The difference from the other providers is that it doesn't require an API key.
By default it uses Keenable's keyless public endpoint, so it works out of the
box (like DuckDuckGo). Setting an API key switches to the authenticated endpoint
and lifts the rate limits.
Changes
web-browsing.js:_keenableSearchprovider + switch case. Maps results tothe common
{title, link, snippet}shape and reports citations like the others.updateENV.js/systemSettings.js:AGENT_KEENABLE_API_KEYandAGENT_KEENABLE_API_URL, plus theagent_search_providervalidation allowlist.(optional API key, optional base URL) + icon.
.env.example(server + docker).Config
AGENT_KEENABLE_API_URL: optional base-URL override (HTTPS enforced; defaultsto
https://api.keenable.ai).Verified the provider against the public endpoint (keyless) and the frontend
forms parse/build clean.