From 6e7a063300b953fe87939d5d22c264700782f479 Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Tue, 3 Mar 2026 08:27:14 +0300 Subject: [PATCH] Enha: remove window tools if no vision --- browser.go | 1 - tools.go | 19 +++++++++++++++++++ tui.go | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/browser.go b/browser.go index 7b2ffe4..44962ae 100644 --- a/browser.go +++ b/browser.go @@ -362,6 +362,5 @@ func pwDrag(args map[string]string) []byte { } func init() { - logger = logger.With("component", "browser") checkPlaywright() } diff --git a/tools.go b/tools.go index 715701b..4c3bad6 100644 --- a/tools.go +++ b/tools.go @@ -1376,7 +1376,26 @@ var fnMap = map[string]fnSig{ "pw_drag": pwDrag, } +func removeWindowToolsFromBaseTools() { + windowToolNames := map[string]bool{ + "list_windows": true, + "capture_window": true, + "capture_window_and_view": true, + } + var filtered []models.Tool + for _, tool := range baseTools { + if !windowToolNames[tool.Function.Name] { + filtered = append(filtered, tool) + } + } + baseTools = filtered + delete(fnMap, "list_windows") + delete(fnMap, "capture_window") + delete(fnMap, "capture_window_and_view") +} + func registerWindowTools() { + removeWindowToolsFromBaseTools() if windowToolsAvailable { fnMap["list_windows"] = listWindows fnMap["capture_window"] = captureWindow diff --git a/tui.go b/tui.go index eb1b165..a06a45b 100644 --- a/tui.go +++ b/tui.go @@ -860,6 +860,7 @@ func init() { if event.Key() == tcell.KeyCtrlK { // add message from tools cfg.ToolUse = !cfg.ToolUse + UpdateToolCapabilities() updateStatusLine() return nil }