diff options
| author | Grail Finder <wohilas@gmail.com> | 2026-03-03 08:27:14 +0300 |
|---|---|---|
| committer | Grail Finder <wohilas@gmail.com> | 2026-03-03 08:27:14 +0300 |
| commit | 6e7a063300b953fe87939d5d22c264700782f479 (patch) | |
| tree | 283afb43af5c4957c04d4a21eebcb0e04be42d4a | |
| parent | c05b93299c670f7c54c165d08899fc75ec4c80c1 (diff) | |
Enha: remove window tools if no vision
| -rw-r--r-- | browser.go | 1 | ||||
| -rw-r--r-- | tools.go | 19 | ||||
| -rw-r--r-- | tui.go | 1 |
3 files changed, 20 insertions, 1 deletions
@@ -362,6 +362,5 @@ func pwDrag(args map[string]string) []byte { } func init() { - logger = logger.With("component", "browser") checkPlaywright() } @@ -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 @@ -860,6 +860,7 @@ func init() { if event.Key() == tcell.KeyCtrlK { // add message from tools cfg.ToolUse = !cfg.ToolUse + UpdateToolCapabilities() updateStatusLine() return nil } |
