
rootandClaude Opus 5.5
d53df25fc8
feat(agent): web.search / web.fetch via Brave Search (WEB-1)
- adapters/websearch: Brave client (X-Subscription-Token, error classes),
result normalization with redaction/truncation, SSRF guard, HTML→text fetch
(10s, 512KB, text/html|text/plain only)
- modules/websearch: 10-min PG cache (region websearch), cross-process
per-minute limit, web.fetch allowlist = URLs from the caller's latest
web.search; POST /websearch/test
- settings.agent.webSearch (key write-only → secret_ref); settings card
under Agent; web.* offered to the model only when enabled, plus a system
prompt rule; outputs marked untrusted
- capability count 27 → 29; e2e E13; runbook docs/runbook/websearch.md
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 00:14:08 +08:00
..
2026-09-28 21:34:51 +08:00
2026-09-28 21:34:51 +08:00
2026-09-28 21:34:51 +08:00
2026-09-28 20:28:41 +08:00
2026-09-29 00:14:08 +08:00
2026-09-29 00:14:08 +08:00
2026-09-28 20:09:29 +08:00
2026-09-28 20:09:29 +08:00
2026-09-29 00:05:21 +08:00
2026-09-28 20:09:29 +08:00
2026-09-28 20:09:29 +08:00
2026-09-28 22:26:29 +08:00
2026-09-28 20:09:29 +08:00
2026-09-28 20:09:29 +08:00
2026-09-28 21:34:51 +08:00
2026-09-28 20:09:29 +08:00
2026-09-28 20:09:29 +08:00
2026-09-28 20:09:29 +08:00
2026-09-28 20:09:29 +08:00
2026-09-28 20:09:29 +08:00
2026-09-28 03:05:51 +08:00
2026-09-28 03:05:51 +08:00
2026-09-28 16:58:38 +08:00
2026-09-29 00:05:21 +08:00