keep compact agent core tools available

This commit is contained in:
pewdiepie-archdaemon
2026-09-17 18:47:04 +00:00
parent 25ff725c1d
commit 4d7c9d44d1
5 changed files with 53 additions and 39 deletions
+7
View File
@@ -102,6 +102,13 @@ PREVIEW_TOOLS = (
READ_TOOLS | SAFE_WRITE_TOOLS | EXPLICIT_EXECUTE_TOOLS | SAFE_UI_TOOLS
| BROKERED_JOB_TOOLS | CONTRACT_REQUIRED_TOOLS
)
# Keep a small recovery-capable surface on every interactive compact agent
# turn. Routing still adds domain tools, while policy and action guards remain
# authoritative for execution. Python is deliberately excluded here because
# the WebUI does not own a confined workspace.
INTERACTIVE_CORE_TOOLS = frozenset({
'web_search', 'web_fetch', 'private_browser', 'bash', 'ask_user',
})
# The interactive compact-v5 surface above stays unchanged. These tools are
# added only for a server-validated ``odysseus-native`` request with an active,
# confined workspace. This lets the model-specific clean runtime serve native
+11
View File
@@ -3970,6 +3970,17 @@ def requested_capabilities(message: str, history: Iterable = (), *, active_docum
# Keep the common ``nees`` typo because a missed route leaves the model
# with no way to answer and encourages it to ask unnecessary questions.
return frozenset({"search_browser"})
if (
re.search(r"\b(?:online|on\s+the\s+(?:web|internet))\b", text, re.I)
and re.search(
r"\b(?:find|look|search|check|locate|get|download|available|manual|guide|docs?)\b",
text,
re.I,
)
):
# Explicitly asking Odysseus to look online is sufficient web intent,
# including referential follow-ups such as "Can you look online?".
return frozenset({"search_browser"})
if (
len(concrete_urls) >= 2
and re.search(r"\b(?:open|fetch|read|retrieve|check|use)\b", text, re.I)