Kaede AkinoandClaude Opus 5 c1af3a189f Let the user overrule the built-in search guess
Whether an endpoint really runs web search on its own servers is inferred
from the model id, and a gateway can make that inference wrong in either
direction. Both directions turned up within a day of shipping it: an
OpenAI-shaped `/responses` proxy in front of Claude got a server tool it
forwards as an ordinary function, and DeepSeek's Anthropic-shaped
endpoint — which does implement the tool — got refused for not being
Claude. A guess that fails both ways needs a switch, so Web Search grows
one. On by default; off sends every model through the backend, which
behaves the same on every endpoint.

The switch made it worth separating the two questions that were tangled
together. Whether the protocol has anywhere to *put* a server tool is a
hard fact about the request body — Chat Completions does not, and no
setting overrides that, because overriding it yields a request with no
search tool of any kind. Whether the endpoint runs search *for this
model* is the guess. They now have separate names.

DeepSeek is also a first party on the Anthropic shape. Its `/anthropic`
guide lists `server_tool_use` and `web_search_tool_result` as supported
content blocks while marking `code_execution_tool_result` and
`mcp_tool_use` unsupported in the same table, so that list is real rather
than copied from Anthropic's. The family rule was reading "not
Anthropic's own model" as "no native search", which refused a pairing
that works. It is about implementation, not branding. The tool
*declaration* name is the one thing that page does not document; sending
Anthropic's `web_search_20250305` is an assumption, and an unverified
one.

`DuckDuckGo` gains the `(Local)` suffix `Bing` already had. Both are the
same thing — a browser-shaped request whose answer is a page Termind
parses itself — so marking one and not the other was distinguishing
nothing. Applied to both it separates the two backends that have no key
and no contract from the three that do.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 01:24:49 +08:00
2026-08-24 18:20:20 +08:00
2026-08-24 18:20:20 +08:00
2026-08-24 18:20:20 +08:00
S
Description
AI-driven remote workspace for Mac, iPhone, and iPad.
https://termind.akinokaede.com
GPL-3.0
23 MiB
0 Stars 1 Watchers 0 Forks
Languages
Swift 98.9%
Python 0.8%
Ruby 0.3%