Admin Configuration
Configure in Admin → Sources → Web Search:Chat-Level Configuration
Chat owners configure web search per chat in Chat Settings → Web Search:End-User Sidebar Toggles
Chat owners can optionally allow end users to control web search features from the sidebar at runtime:Search Providers
All providers are configured in Admin → Tools ([
#/admin/tool]) with their respective API keys.
Pinned Pages
Pinned pages are specific URLs that are always fetched on every message, regardless of the user’s query. They serve as authoritative reference material:- Each URL is fetched in parallel (10s timeout, 500KB limit per page)
- HTML is stripped to plaintext and truncated to ~4,000 characters
- Injected into the system prompt as
[pinnedN]references with priority instruction - Appear in citations alongside regular web search results
- Useful for grounding a chat to specific documentation, policies, or reference pages
How It Works
- Before each LLM call, the orchestrator checks if web search is enabled for the chat
- Web search runs against the configured provider with domain filters applied
- Pinned pages are fetched in parallel (independent of the search query)
- Results are formatted as
[webN]and[pinnedN]context blocks and injected into the message history - The LLM sees both document RAG results and web results, with instructions to cite sources inline
- Citations from web search and pinned pages are streamed to the client alongside document citations
Server-Side Default Merging
When a chat has web search enabled but no explicit provider selected:- The server reads
appSettings.defaultWebSearchProviderand applies it defaultWebSearchConfig(maxResults, includeAnswer) is merged — chat-level overrides take precedence- This happens in
ai.tsbefore the orchestrator is invoked