Skip to content

Add Keenable web search provider (keyless by default) - #5889

Open
ilya-bogin-keenable wants to merge 2 commits into
Mintplex-Labs:masterfrom
keenableai:feat/keenable-web-search
Open

Add Keenable web search provider (keyless by default)#5889
ilya-bogin-keenable wants to merge 2 commits into
Mintplex-Labs:masterfrom
keenableai:feat/keenable-web-search

Conversation

@ilya-bogin-keenable

Copy link
Copy Markdown

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: _keenableSearch provider + switch case. Maps results to
    the common {title, link, snippet} shape and reports citations like the others.
  • updateENV.js / systemSettings.js: AGENT_KEENABLE_API_KEY and
    AGENT_KEENABLE_API_URL, plus the agent_search_provider validation allowlist.
  • Frontend: provider entry in the web-search selector + an options form
    (optional API key, optional base URL) + icon.
  • .env.example (server + docker).

Config

  • API key: optional. Blank = keyless free tier; set it to lift limits.
  • AGENT_KEENABLE_API_URL: optional base-URL override (HTTPS enforced; defaults
    to https://api.keenable.ai).

Verified the provider against the public endpoint (keyless) and the frontend
forms parse/build clean.

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)
@timothycarambat timothycarambat added the Integration Request Request for support of a new LLM, Embedder, or Vector database label Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Integration Request Request for support of a new LLM, Embedder, or Vector database

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants