chore: auto-commit (3 archivos)
- tools_nav.go - tools_read.go - captcha_sniff.go Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+9
-5
@@ -54,7 +54,7 @@ func (d *deps) handleTabNavigate(_ context.Context, _ mcp.CallToolRequest, a tab
|
||||
if err != nil {
|
||||
return mcp.NewToolResultError(err.Error()), nil
|
||||
}
|
||||
return mcp.NewToolResultText("navigated to " + a.URL), nil
|
||||
return mcp.NewToolResultText("navigated to " + a.URL + d.captchaMarker(portOr(a.Port))), nil
|
||||
}
|
||||
|
||||
// ---- tab_list ----
|
||||
@@ -88,14 +88,18 @@ type tabNewArgs struct {
|
||||
|
||||
func tabNewTool() mcp.Tool {
|
||||
return mcp.NewTool("tab_new",
|
||||
mcp.WithDescription("Open a new tab via PUT /json/new. Returns the new tab's JSON."),
|
||||
mcp.WithDescription("Open a new tab in the BACKGROUND via Target.createTarget (background:true). No roba el foco del WM: la ventana del navegador no se eleva, el usuario sigue escribiendo donde estaba. Returns the new tab's JSON."),
|
||||
mcp.WithNumber("port", mcp.Description("CDP port. Default 9333 (Chrome isolated del MCP); usa 9222 explícito solo para adjuntarte al navegador diario.")),
|
||||
mcp.WithString("url", mcp.Description("Optional start URL. Empty = about:blank.")),
|
||||
)
|
||||
}
|
||||
|
||||
func (d *deps) handleTabNew(_ context.Context, _ mcp.CallToolRequest, a tabNewArgs) (*mcp.CallToolResult, error) {
|
||||
tab, err := browser.CdpNewTab("localhost", portOr(a.Port), a.URL)
|
||||
// CdpNewTabBackground usa Target.createTarget{background:true} en vez de
|
||||
// PUT /json/new. El endpoint HTTP /json/new SIEMPRE trae la pestaña al
|
||||
// frente y eleva la ventana del SO, robando el foco del usuario que está
|
||||
// escribiendo en otra ventana. La variante background no eleva la ventana.
|
||||
tab, err := browser.CdpNewTabBackground("localhost", portOr(a.Port), a.URL)
|
||||
if err != nil {
|
||||
return mcp.NewToolResultError(err.Error()), nil
|
||||
}
|
||||
@@ -247,7 +251,7 @@ func (d *deps) handlePageWaitLoad(_ context.Context, _ mcp.CallToolRequest, a pa
|
||||
if err != nil {
|
||||
return mcp.NewToolResultError(err.Error()), nil
|
||||
}
|
||||
return mcp.NewToolResultText("page loaded"), nil
|
||||
return mcp.NewToolResultText("page loaded" + d.captchaMarker(portOr(a.Port))), nil
|
||||
}
|
||||
|
||||
// ---- page_wait_idle ----
|
||||
@@ -279,5 +283,5 @@ func (d *deps) handlePageWaitIdle(_ context.Context, _ mcp.CallToolRequest, a pa
|
||||
if err != nil {
|
||||
return mcp.NewToolResultError(err.Error()), nil
|
||||
}
|
||||
return mcp.NewToolResultText("network idle"), nil
|
||||
return mcp.NewToolResultText("network idle" + d.captchaMarker(portOr(a.Port))), nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user