Web research tool (opt-in)¶
Status: Shipped (API + Vue toggle + disclaimer UI); Tavily live optional (tavily-python). See PRODUCT_ROADMAP.md.
User chooses KB (default) or web per message. Not silent open-web mode.
Flow¶
flowchart TB
START --> Route{research_mode}
Route -->|kb| C1[condense] --> MQ[multi_query] --> RET[retrieve_kb] --> RR[rerank]
Route -->|web| C2[condense] --> WEB[web_search]
RR --> GEN[generate]
WEB --> GEN
GEN --> FMT[format]
API¶
Metadata: source_kind (kb|web), optional disclaimer for web.
Config¶
Modules¶
backend/app/services/tools/web_search.py- Graph node
web_searchingraph/nodes.py
Security¶
Opt-in only; disclaimer; rate limits; no arbitrary URL fetch in v1.