Interface: WebSearchPluginConfig
AppKit config accepted by the web-search plugin.
Extends
Section titled “Extends”BasePluginConfig
Indexable
Section titled “Indexable”[
key:string]:unknown
Properties
Section titled “Properties”allowedUrls?
Section titled “allowedUrls?”
optionalallowedUrls?:string|string[]
Optional URL allow-list. Each entry is a glob (or bare host) tested
against a URL’s full href. When set, web_search silently filters
citations to the permitted set and web_fetch refuses a disallowed URL.
Accepts a string[] or a comma-/whitespace-separated string; falls back
to WEB_SEARCH_ALLOWED_URLS. Omit (or leave empty) for no restriction.
See allowlist.ts.
approval?
Section titled “approval?”
optionalapproval?:ApprovalGate|ApprovalPolicy
Approval gate applied to BOTH tools (per-tool overrides via
WebSearchToolOptions.approval win). true gates every call;
a URL-pattern (or list) gates only matching calls; an
ApprovalPolicy states the mode directly. Omit for no approval.
fetchMaxLength?
Section titled “fetchMaxLength?”
optionalfetchMaxLength?:number
Hard cap on the character length of a single web_fetch result. Falls
back to WEB_SEARCH_FETCH_MAX_LENGTH, then DEFAULT_FETCH_MAX_LENGTH.
optionalhost?:string
Inherited from
Section titled “Inherited from”BasePluginConfig.host
maxCitations?
Section titled “maxCitations?”
optionalmaxCitations?:number
Hard cap on the number of citations a single search returns. Falls back
to WEB_SEARCH_MAX_CITATIONS, then DEFAULT_MAX_CITATIONS.
model?
Section titled “model?”
optionalmodel?:string
The web-search model to use by default: a Databricks serving endpoint
name ("databricks-gemini-3-pro"), a loose name ("gemini", "gpt"),
or a capability class. Fuzzy-matched against the live catalogue. Falls
back to WEB_SEARCH_MODEL, then DATABRICKS_SERVING_ENDPOINT_NAME, then
the modelFallbacks order. Chosen independently of the calling
agent’s chat model.
modelFallbacks?
Section titled “modelFallbacks?”
optionalmodelFallbacks?:string|string[]
Priority-ordered web-search model candidates tried when model is
unset, each fuzzy-matched and checked for web-search support. Falls back
to WEB_SEARCH_MODEL_FALLBACKS (comma/space-separated), then
DEFAULT_MODEL_FALLBACKS (Gemini, then GPT).
modelFuzzyMatch?
Section titled “modelFuzzyMatch?”
optionalmodelFuzzyMatch?:boolean
Enable fuzzy matching of loose model names against the catalogue.
Defaults to true; falls back to WEB_SEARCH_FUZZY.
modelFuzzyThreshold?
Section titled “modelFuzzyThreshold?”
optionalmodelFuzzyThreshold?:number
Fuse.js fuzzy threshold. Falls back to WEB_SEARCH_FUZZY_THRESHOLD, then the shared default.
optionalname?:string
Inherited from
Section titled “Inherited from”BasePluginConfig.name
scrapeFallback?
Section titled “scrapeFallback?”
optionalscrapeFallback?:boolean
Fall back to a DuckDuckGo scrape when the workspace has NO deployed
web-search-capable model (no GPT / Gemini serving endpoint). The native
Databricks tool is always preferred; this only kicks in when there is no
native option, so the tool still returns results instead of erroring.
Defaults to true; set false (or WEB_SEARCH_SCRAPE_FALLBACK=0) to
require a native model and error otherwise.
telemetry?
Section titled “telemetry?”
optionaltelemetry?:TelemetryOptions
Inherited from
Section titled “Inherited from”BasePluginConfig.telemetry
timeoutMs?
Section titled “timeoutMs?”
optionaltimeoutMs?:number
Per-request network timeout in ms for search + fetch. Falls back to
WEB_SEARCH_TIMEOUT_MS, then DEFAULT_TIMEOUT_MS.
urlPolicy?
Section titled “urlPolicy?”
optionalurlPolicy?:UrlPolicyMode
Which URLs the tools may reach (UrlPolicyMode). Falls back to
WEB_SEARCH_URL_POLICY, then to "allowlist" when allowedUrls
has entries and "unrestricted" when it does not. Naming the mode
explicitly is the way to state that an open deployment is intended;
"allowlist" with no entries, or "unrestricted" alongside entries, is
a contradiction and fails at resolution.
webSearchTools?
Section titled “webSearchTools?”
optionalwebSearchTools?:Record<string,unknown>
Provider -> tool-spec override map, merged over the built-in
WEB_SEARCH_PROVIDERS defaults. Keyed by provider family
("openai", "gemini"); each value may override the tool entry
and/or the api surface. Use to change the tool shape as the platform
evolves without a code change. Falls back to WEB_SEARCH_TOOLS parsed as
JSON. This is the WEB_SEARCH_TOOLS setting.