Skip to content

Commit fe00413

Browse files
committed
feat: interactive browser session and supportsImages gating for browser_action
1 parent b975ced commit fe00413

File tree

5 files changed

+206
-484
lines changed

5 files changed

+206
-484
lines changed

src/core/task/Task.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2207,7 +2207,7 @@ export class Task extends EventEmitter<TaskEvents> implements TaskLike {
22072207
return SYSTEM_PROMPT(
22082208
provider.context,
22092209
this.cwd,
2210-
(this.api.getModel().info.supportsComputerUse ?? false) && (browserToolEnabled ?? true),
2210+
(this.api.getModel().info.supportsImages ?? false) && (browserToolEnabled ?? true),
22112211
mcpHub,
22122212
this.diffStrategy,
22132213
browserViewportSize,

src/core/webview/generateSystemPrompt.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ export const generateSystemPrompt = async (provider: ClineProvider, message: Web
4545
const rooIgnoreInstructions = provider.getCurrentTask()?.rooIgnoreController?.getInstructions()
4646

4747
// Determine if browser tools can be used based on model support, mode, and user settings
48-
let modelSupportsComputerUse = false
48+
let modelSupportsImages = false
4949

50-
// Create a temporary API handler to check if the model supports computer use
50+
// Create a temporary API handler to check if the model supports images (needed for screenshot-driven browsing)
5151
// This avoids relying on an active Cline instance which might not exist during preview
5252
try {
5353
const tempApiHandler = buildApiHandler(apiConfiguration)
54-
modelSupportsComputerUse = tempApiHandler.getModel().info.supportsComputerUse ?? false
54+
modelSupportsImages = tempApiHandler.getModel().info.supportsImages ?? false
5555
} catch (error) {
56-
console.error("Error checking if model supports computer use:", error)
56+
console.error("Error checking if model supports images:", error)
5757
}
5858

5959
// Check if the current mode includes the browser tool group
@@ -62,7 +62,7 @@ export const generateSystemPrompt = async (provider: ClineProvider, message: Web
6262

6363
// Only enable browser tools if the model supports it, the mode includes browser tools,
6464
// and browser tools are enabled in settings
65-
const canUseBrowserTool = modelSupportsComputerUse && modeSupportsBrowser && (browserToolEnabled ?? true)
65+
const canUseBrowserTool = modelSupportsImages && modeSupportsBrowser && (browserToolEnabled ?? true)
6666

6767
const systemPrompt = await SYSTEM_PROMPT(
6868
provider.context,

0 commit comments

Comments
 (0)