feat: configure web search availability for all providers - #12369
Conversation
Adds an experimental.websearch config flag that exposes the websearch tool to models from any provider, not only the Kilo gateway. The flag is editable from the VS Code Web Tools settings tab (renamed from Browser) and the Kilo Console Tools page, with project/global overlay inheritance and revert support. Environment flags KILO_ENABLE_EXA and KILO_ENABLE_PARALLEL keep working as before.
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Incremental updateSince the last review, one new commit was added: The fix:
This is a small, correctly scoped follow-up that reuses existing global/project config infrastructure rather than introducing new patterns. No new issues found in the incremental diff. Files Reviewed (2 primary files in this incremental commit)
Previous Review Summaries (6 snapshots, latest commit b71a9c0)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit b71a9c0)Status: No Issues Found | Recommendation: Merge Incremental updateSince the last review, the branch merged All previously open inline findings on this PR have already been resolved by earlier commits ( Files Reviewed (1 file in this incremental commit)
Previous review (commit 605dc48)Status: No Issues Found | Recommendation: Merge Incremental updateCommit No new issues found in the incremental diff. Files Reviewed (1 file in this incremental commit)
Previous review (commit c5d3032)Status: No Issues Found | Recommendation: Merge Incremental updateCommit No new issues found in the incremental diff. Files Reviewed (7 files in this incremental commit)
Previous review (commit 34e787e)Status: 1 Issue Found | Recommendation: Address before merge Overview
Issue Details (click to expand)WARNING
This incremental commit ( Fix these issues in Kilo Cloud Files Reviewed (6 files in this incremental commit)
Previous review (commit 91d8758)Status: No Issues Found | Recommendation: Merge All three actionable findings from the previous review were addressed in commit
The config key was also renamed from One prior thread remains intentionally open per the author: the companion Cloud Files Reviewed (10 files in this incremental commit)
Previous review (commit 44f1373)Status: 4 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (13 files)
Reviewed by claude-sonnet-5 · Input: 34 · Output: 4.7K · Cached: 781.5K Review guidance: REVIEW.md from base branch |
…-setting # Conflicts: # packages/opencode/test/tool/registry.test.ts
|
|
||
| const updateWebsearch = (checked: boolean) => { | ||
| updateConfig({ web_search: checked }) | ||
| } |
There was a problem hiding this comment.
Found one issue worth addressing: an inconsistency between project and global configuration.
The toggle displays the effective merged value but always writes to the global configuration. When a project override exists, clicking the toggle may have no effect because the project value continues to take precedence. The toggle should either update the project setting or display the global value and indicate when it is overridden.
|
Other than just just a few minor fixes after merging with latest main:
|
|
@johnnyeric - thanks for the review, I think I've addressed your comments. Would be great for a re-review! |
…-setting feat: configure web search availability for all providers




What
Adds a top-level
web_searchconfig option that lets users expose the built-inwebsearchtool to models from any provider. It defaults to off for third-party providers, preserving the existing managed-provider behavior; setweb_search: trueto opt in. TheKILO_ENABLE_EXA/KILO_ENABLE_PARALLELenv flags continue to enable it as before.The option is controllable from three surfaces sharing one source of truth (
kilo.json):{ "web_search": true }Why
Web search is available automatically for the managed Kilo provider, while third-party providers previously required backend environment flags. Search requests go directly from the client to Exa/Parallel, so users can now make an explicit choice to enable them from normal settings instead.
Notes for reviewers
websearchby default and receives it withweb_search: true.packages/opencode/src/tool/registry.tsdelta remains a single marked early-return at the existing upstream call site.https://app.kilo.ai/config.jsonsolely for editor$schemavalidation.Companion: Kilo-Org/cloud#4798