Web Search
Feynman’s web research tools come from the bundled pi-web-access package. The lead agent, the researcher, and the verifier use them to find and read documentation, blog posts, news, repositories, and open-access papers alongside Feynman’s paper databases.
Tools
| Tool | Purpose |
|---|---|
web_search |
Search with one query or a queries batch. Supports numResults, recencyFilter (day, week, month, year), domainFilter (prefix a domain with - to exclude it), provider, and includeContent to fetch page text for the results |
fetch_content |
Fetch one or more URLs as readable Markdown. Handles web pages, PDFs, GitHub repos, issues, and pull requests, images, and videos. mode: "raw" returns the exact text body; mode: "answer" with a prompt answers a question from the page |
get_search_content |
Read stored results from an earlier search or fetch by responseId, paged with offset and limit, or search them with findText |
source_check |
Gather passages for a claim into an evidence artifact for manual review; it does not decide support on its own |
Fetched page bodies are stored for one hour in ~/.feynman/agent/web-search-cache/ so get_search_content can page through them without re-fetching.
Default behavior
With no key and no configuration, web_search works through Exa’s hosted MCP endpoint. In auto mode it tries a configured SearXNG endpoint first; when the active model uses openai-codex, it then tries Codex-backed OpenAI search; otherwise it tries Exa before OpenAI, then any other provider you have configured. Browser-cookie access for Gemini Web is off unless you opt in with allowBrowserCookies.
Configuration
Check the current search configuration:
feynman search status
Set a provider, optionally saving its API key:
feynman search set exa <api-key>
feynman search set perplexity <api-key>
feynman search set gemini <api-key>
feynman search set auto
feynman search set supports auto, exa, perplexity, and gemini. It also sets the search workflow to none (raw results, no curator window) and turns browser-cookie access off. feynman search clear resets the provider to auto and keeps saved API keys.
For other providers (Brave, Tavily, Jina, Kagi, Parallel, SearXNG, DuckDuckGo, and more), multi-provider search with provider: "all", fallback routes, proxies, and PDF extraction settings, edit ~/.feynman/agent/web-search.json directly. The pi-web-access README documents every field.
Commands
| Command | Description |
|---|---|
/search |
Browse stored web search results from the current session |
/websearch [queries] |
Open the search curator and run searches yourself |
/curator [on|off] |
Toggle the search curator workflow |
/google-account |
Show the Google account used for Gemini Web |
To turn one of these commands off, set commands.<name>.enabled to false in web-search.json (keys: websearch, curator, search, google-account).