From a50fb2247d9feddd4e7c76f5359cfffc9cb5eb45 Mon Sep 17 00:00:00 2001 From: Brad Oyler Date: Sat, 31 Jan 2026 07:39:46 -0500 Subject: [PATCH 1/3] add web search to tools via BRAVE_API_KEY --- src/gateway/env.ts | 1 + src/types.ts | 1 + start-moltbot.sh | 9 +++++++++ 3 files changed, 11 insertions(+) diff --git a/src/gateway/env.ts b/src/gateway/env.ts index a57e781..6c920f1 100644 --- a/src/gateway/env.ts +++ b/src/gateway/env.ts @@ -55,6 +55,7 @@ export function buildEnvVars(env: MoltbotEnv): Record { if (env.SLACK_APP_TOKEN) envVars.SLACK_APP_TOKEN = env.SLACK_APP_TOKEN; if (env.CDP_SECRET) envVars.CDP_SECRET = env.CDP_SECRET; if (env.WORKER_URL) envVars.WORKER_URL = env.WORKER_URL; + if (env.BRAVE_API_KEY) envVars.BRAVE_API_KEY = env.BRAVE_API_KEY; return envVars; } diff --git a/src/types.ts b/src/types.ts index bb82c8c..52a3ed9 100644 --- a/src/types.ts +++ b/src/types.ts @@ -26,6 +26,7 @@ export interface MoltbotEnv { DISCORD_DM_POLICY?: string; SLACK_BOT_TOKEN?: string; SLACK_APP_TOKEN?: string; + BRAVE_API_KEY?: string; // Cloudflare Access configuration for admin routes CF_ACCESS_TEAM_DOMAIN?: string; // e.g., 'myteam.cloudflareaccess.com' CF_ACCESS_AUD?: string; // Application Audience (AUD) tag diff --git a/start-moltbot.sh b/start-moltbot.sh index 7e225e8..c613ccb 100644 --- a/start-moltbot.sh +++ b/start-moltbot.sh @@ -152,6 +152,7 @@ config.agents.defaults = config.agents.defaults || {}; config.agents.defaults.model = config.agents.defaults.model || {}; config.gateway = config.gateway || {}; config.channels = config.channels || {}; +config.tools = config.tools || {}; // Clean up any broken anthropic provider config from previous runs // (older versions didn't include required 'name' field) @@ -191,6 +192,14 @@ if (process.env.TELEGRAM_BOT_TOKEN) { config.channels.telegram.dmPolicy = process.env.TELEGRAM_DM_POLICY || 'pairing'; } +// web search via Brave +if (process.env.BRAVE_API_KEY) { + config.tools.web = config.tools.web || {}; + config.tools.web.search = config.tools.web.search || {}; + config.tools.web.search.enabled = true; + config.tools.web.search.apiKey = process.env.BRAVE_API_KEY; +} + // Discord configuration if (process.env.DISCORD_BOT_TOKEN) { config.channels.discord = config.channels.discord || {}; From 17c54e8f9425c8225e690a40d96fd8b1cf60e345 Mon Sep 17 00:00:00 2001 From: Brad Oyler Date: Sat, 31 Jan 2026 08:41:31 -0500 Subject: [PATCH 2/3] add provider + params --- start-moltbot.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/start-moltbot.sh b/start-moltbot.sh index c613ccb..f0c6e1f 100644 --- a/start-moltbot.sh +++ b/start-moltbot.sh @@ -197,6 +197,10 @@ if (process.env.BRAVE_API_KEY) { config.tools.web = config.tools.web || {}; config.tools.web.search = config.tools.web.search || {}; config.tools.web.search.enabled = true; + config.tools.web.search.provider = 'brave'; + config.tools.web.search.maxResults = 5; + config.tools.web.search.timeoutSeconds: 20; + config.tools.web.search.cacheTtlMinutes: 15; config.tools.web.search.apiKey = process.env.BRAVE_API_KEY; } From 08d323656f2b35e679c0fcfeeb2bfc6258eec72e Mon Sep 17 00:00:00 2001 From: Brad Oyler Date: Sat, 31 Jan 2026 08:53:53 -0500 Subject: [PATCH 3/3] typo fix --- start-moltbot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/start-moltbot.sh b/start-moltbot.sh index f0c6e1f..48d0764 100644 --- a/start-moltbot.sh +++ b/start-moltbot.sh @@ -199,8 +199,8 @@ if (process.env.BRAVE_API_KEY) { config.tools.web.search.enabled = true; config.tools.web.search.provider = 'brave'; config.tools.web.search.maxResults = 5; - config.tools.web.search.timeoutSeconds: 20; - config.tools.web.search.cacheTtlMinutes: 15; + config.tools.web.search.timeoutSeconds = 20; + config.tools.web.search.cacheTtlMinutes = 15; config.tools.web.search.apiKey = process.env.BRAVE_API_KEY; }