From 927d106eaeaf642dc143fb2bf824e4280c9bca1b Mon Sep 17 00:00:00 2001 From: Jason Tudisco Date: Mon, 16 Mar 2026 20:18:27 -0600 Subject: [PATCH] Add provider-based web search with Tavily support - Add `SEARCH_PROVIDER` config with Tavily/Brave API key validation in server and prod script - Introduce unified `web_search` tool and shared search service with Tavily + Brave backends - Update chat UI tool status/result labels to treat both search tools consistently --- client/src/components/chat-room.riot | 6 +- client/src/components/message-bubble.riot | 8 +- prod.sh | 16 ++- server/.env.example | 8 +- server/src/handlers/ws.rs | 22 +++-- server/src/main.rs | 23 ++++- server/src/models/mod.rs | 2 +- server/src/services/brave.rs | 29 +----- server/src/services/mod.rs | 2 + server/src/services/openrouter.rs | 4 +- server/src/services/search.rs | 79 +++++++++++++++ server/src/services/tavily.rs | 91 ++++++++++++++++++ .../17fc5479-fa75-4a91-818a-06e6ea01e689.png | Bin 0 -> 1430613 bytes 13 files changed, 245 insertions(+), 45 deletions(-) create mode 100644 server/src/services/search.rs create mode 100644 server/src/services/tavily.rs create mode 100644 server/uploads/avatars/17fc5479-fa75-4a91-818a-06e6ea01e689.png diff --git a/client/src/components/chat-room.riot b/client/src/components/chat-room.riot index a5703e9..e81321d 100644 --- a/client/src/components/chat-room.riot +++ b/client/src/components/chat-room.riot @@ -101,7 +101,7 @@