Web research (no API keys)
Interactive sessions get read-only internet research tools on by default (an assistant that can’t look things up is silly); toggle them under Web tools in /config. They’re built for no required API keys and no paid vendor coupling: npm metadata comes from the configured registry, search defaults to DuckDuckGo’s keyless HTML endpoint, pages are extracted locally, and browser rendering uses local Playwright/Chromium when available. One-shot and eval runs stay off unless you set TSFORGE_WEB=1, so headless sweeps have no network reach beyond your model endpoint.
TSFORGE_WEB=1 tsforge "update the deprecated API call (check the library's current docs)"The tools
Section titled “The tools”package_info: read current npm package metadata from the configured registry. Latest dist-tag, versions, deprecation status, peer deps, homepage, repository, and dependency names.package_docs: read package docs without a docs API. Localnode_modulesREADME/package metadata/types first, then the npm registry README when needed.web_fetch: retrieve a URL and return readable markdown. The page is fetched and the content extracted on-machine (no third-party reader API), so you get clean text without shipping the URL to a service.web_browse: open a public URL in local headless Chromium via Playwright and return rendered visible text, final URL, title, and links. Use it for JavaScript-rendered docs thatweb_fetchcannot see. No hosted browser service.web_search: discover sources for a query. It returns public result URLs only, supportsrecency(day,month,year),domainsfor official-site scoping, andmaxResultsup to 20. Defaults to DuckDuckGo’s keyless HTML endpoint.
SearXNG is not bundled or started by tsforge. If you run your own SearXNG service (Docker, Compose, or any deployment), point TSFORGE_SEARXNG_URL at it for full privacy/control:
TSFORGE_WEB=1 TSFORGE_SEARXNG_URL=http://localhost:8888 tsforgeFor current TypeScript/library work, ask the agent to search the official host first, then fetch the source it picks:
Check the current TanStack Query docs before changing this hook. Use domain-scoped web search if needed.When they’re active
Section titled “When they’re active”The tools are read-only and offline-safe. Interactive sessions enable them by default, but one-shot and eval runs stay offline unless you opt in, so headless sweeps are deterministic. Under a policy mode that denies network (e.g. ci), the tools are unavailable even with the flag set. See Permissions & policy.
| Env var | Default | Effect |
|---|---|---|
TSFORGE_WEB | on interactive, off one-shot/eval | force keyless research tools on (=1) or off (=0) |
TSFORGE_NPM_REGISTRY | npm registry | registry used by package_info / package_docs |
TSFORGE_SEARXNG_URL | unset | route web_search to a SearXNG instance you already run |
TSFORGE_WEB_SEARCH_BACKEND | auto | duckduckgo or searxng; searxng fails closed if no SearXNG URL is set |
→ Environment variables · MCP servers · Permissions & policy