Web Search & Fetch
Give Chetty read-only web search and the ability to read public pages, so it can answer from sources outside your machine.
The bundled web plugin adds two tools. WebSearch returns search results, and WebFetch reads a page and either returns its Markdown or summarizes what it read. A fresh installation has the plugin turned off.
Enable search
- Sign in as an administrator and open Settings → Plugins.
- Open the card named
weband turn the plugin on. - To use search, open Settings → Access and paste a Tavily key or a Serper key on the web plugin's row. The fields are labelled Tavily API key and Serper API key, and a secret key is write-only: Chetty shows whether one is set, not its value.
- Save, and let Chetty restart so the change takes effect.
Fetching public pages works without a search key. Without either key, WebSearch answers with a message that suggests fetching a known address instead.
The Search provider setting defaults to Automatic, which uses Tavily when its key is configured and otherwise Serper. Picking one provider without its key reports the missing key. Search results sets how many results come back; it runs from 1 to 10 and defaults to 5.
Note: Saving plugin settings, or enabling and disabling the plugin, asks Chetty to restart before the change takes effect.
Search the web
A WebSearch query is at least two characters long. You can also ask for results from certain sites, or exclude others, by naming host names without a scheme, path, port or wildcard. Excluded hosts win, and each filter also covers subdomains.
You get up to the configured number of results, 5 by default and 10 at most. Serper returns US results only; Tavily has no locale setting. Snippets stop at 300 characters, and provider-written answer summaries are not returned.
An answer that draws on search results lists the addresses it used in a Sources section, so you can check them.
Fetch a public page
WebFetch takes a public http:// or https:// address and the question you want answered. It upgrades HTTP to HTTPS and refuses addresses that carry credentials or point at a non-public network address.
It follows up to three redirects to the same host on the same port, and a leading www. does not count as a different host. A redirect to another host is not followed: the tool returns the new address, and you ask again with it and the same question.
A response of up to 10 MB is accepted; a larger one fails. A very long page is cut and marked [Content truncated].
Fetched content is untrusted, so the plugin summarizes it through Chetty's host inference route by default. Pages from documentation hosts come back as Markdown directly when they are small enough.
Documentation hosts
Documentation hosts lists the sites whose pages can be returned without summarizing. It accepts exact host names and *.example.com patterns for subdomains, and ignores entries that are not valid host names.
The list does not bypass the address, network or redirect checks. Fill it with sites that publish documentation, not with sites that carry user-submitted content. If the stored value is not a list at all, no host counts as documentation.
The shipped list covers documentation sites such as MDN, Python, Rust, Go, TypeScript, Node, React, Vue, Angular, Next.js, Django, FastAPI, pandas, NumPy, Apple, Android, Flutter, PostgreSQL, MySQL, SQLite, Redis, GraphQL, Prisma, AWS, Google Cloud, Kubernetes, Docker, Git and nginx. See Settings → Plugins → web → Documentation hosts for the current list.
Permissions and limits
Both tools are read-only. The plugin uses outbound network access and the host inference route for summaries. It is not user-grantable, so once it is enabled every account can use both tools, subject to the account's tool permissions; see Users and access overview.
- Search needs a configured Tavily or Serper key.
- Fetch cannot reach authenticated or private pages. For GitHub addresses, Chetty is told to prefer the
ghcommand through Bash; Bash comes from the Terminal plugin, so that account needs the Terminal plugin granted. - Fetch can fail when the host inference route is unavailable, except for suitably small pages from documentation hosts.