You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(brave) add brave search API key catalog entry (#1416)
## Summary
- Brave Search API removed their free tier — OpenClaw's web_search tool
now requires an API key
- Adds a brave-search entry to the Secret Catalog so users can configure
their Brave Search API key through the Settings UI
- The key is delivered as BRAVE_API_KEY env var to the container, which
OpenClaw reads natively — no config-writer or image changes needed
Files changed (8):
- kiloclaw/packages/secret-catalog/src/catalog.ts — new brave-search
catalog entry
- kiloclaw/packages/secret-catalog/src/types.ts — add 'brave' to icon
key schema
- src/app/(app)/claw/components/icons/BraveSearchIcon.tsx — Brave lion
logo SVG (from Simple Icons)
- src/app/(app)/claw/components/secret-ui-adapter.ts — icon +
description mapping
- src/app/(app)/claw/components/SettingsTab.tsx — "Search" section above
Developer Tools
- src/app/(app)/claw/components/changelog-data.ts — changelog entry
- kiloclaw/packages/secret-catalog/src/__tests__/catalog.test.ts —
catalog test updates
- kiloclaw/src/routes/kiloclaw.test.ts — buildConfiguredSecrets test
updates
## Verification
- pnpm --filter @kilocode/kiloclaw-secret-catalog test — 56/56 passed
- pnpm --filter kiloclaw test — 956/956 passed
- pnpm run format — clean
- pnpm run typecheck — clean
- Manual e2e test: Added a real Brave API key via the Settings UI,
redeployed instance, confirmed web_search tool works with Brave Search
## Visual Changes
- New Search section appears in Settings tab above Developer Tools
- Shows Brave lion icon, "Brave Search" label, and single API Key field
- Validation: keys must start with BSA followed by 20+
alphanumeric/underscore/hyphen characters
- Changelog entry added for the feature
<img width="969" height="535" alt="Screenshot 2026-03-23 at 10 17 39 AM"
src="https://github.com/user-attachments/assets/4c8705c6-9a97-4376-8c5f-662d5fc46656"
/>
## Reviewer Notes
- Validation pattern ^BSA[A-Za-z0-9_-]{20,}$ was verified against a real
Brave API key — third-party secret scanners (GitGuardian) suggested BSAI
prefix but real keys show the 4th char varies
- Env var is BRAVE_API_KEY (not BRAVE_SEARCH_API_KEY) — this is what
OpenClaw's built-in web_search tool reads
- No image rebuild required — the bootstrap generically decrypts all
KILOCLAW_ENC_* vars
- The some + filter pattern in SettingsTab matches existing sections
(github, agentcard, onepassword) — kept consistent rather than
introducing a new pattern
- Brave lion logo SVG sourced from Simple Icons project, consistent with
other branded icons (Discord, Slack, GitHub) in the same directory
Copy file name to clipboardExpand all lines: src/app/(app)/claw/components/changelog-data.ts
+7Lines changed: 7 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,13 @@ export type ChangelogEntry = {
10
10
11
11
// Newest entries first. Developers add new entries to the top of this array.
12
12
exportconstCHANGELOG_ENTRIES: ChangelogEntry[]=[
13
+
{
14
+
date: '2026-03-23',
15
+
description:
16
+
'Added Brave Search integration. Connect your Brave Search API key in Settings to enable the web_search tool. Brave Search removed their free tier, so an API key is now required.',
0 commit comments