diff --git a/backend/apps/agents/browser/browser_fast_path.py b/backend/apps/agents/browser/browser_fast_path.py index eae29c0d..4395a7b9 100644 --- a/backend/apps/agents/browser/browser_fast_path.py +++ b/backend/apps/agents/browser/browser_fast_path.py @@ -65,7 +65,9 @@ P_CLASSIFIER_SYSTEM = ( "If line 1 is READ or ACT, follow it with a short browsing brief:\n" "ENTRY: the best starting URL; use a direct deep/search URL when the site's " "pattern is well known (LinkedIn people search is " - "https://www.linkedin.com/search/results/people/?keywords=NAME).\n" + "https://www.linkedin.com/search/results/people/?keywords=NAME). Always a normal " + "page a person would see, never a raw JSON/API endpoint (e.g. Instagram's " + "web/search/topsearch), which renders as an unreadable data wall.\n" "Then 3-6 numbered steps, one short action each.\n" "Copy any text the user wants typed, sent, or posted EXACTLY, character for " "character. Never invent names, values, or wording the user did not give." diff --git a/backend/apps/agents/browser/browser_schema.py b/backend/apps/agents/browser/browser_schema.py index 3d74e9ac..f2e28bc6 100644 --- a/backend/apps/agents/browser/browser_schema.py +++ b/backend/apps/agents/browser/browser_schema.py @@ -243,7 +243,13 @@ BROWSER_TOOLS_SCHEMA = [ }, { "name": "BrowserNavigate", - "description": "Navigate the browser to a URL.", + "description": ( + "Navigate the browser to a URL. Use a normal page URL a person would see. " + "Do NOT point it at a raw JSON/API endpoint (a /api/... or search-JSON URL " + "like Instagram's web/search/topsearch): that paints an unreadable data wall " + "in the card. To READ a site's own API, use BrowserReplayRoute, which fetches " + "the JSON silently without disturbing the page." + ), "input_schema": { "type": "object", "properties": {