diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-21 20:58:39 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-21 20:58:39 +0200 |
| commit | a7422ddeb7771983e984350b31092fe4898897c6 (patch) | |
| tree | 2833a9c8f5c2ab646ceee5f42b711b7d0c35ec47 /docs/superpowers/specs/2026-07-31-web-search-design.md | |
| parent | 2cae7f19ac90e6df9d4008e6e364bae30e8b389a (diff) | |
| download | llamachat-feature/external-providers.tar.gz llamachat-feature/external-providers.zip | |
fix: web search on DeepSeek and other reasoning modelsfeature/external-providers
A searched turn on a cloud reasoning model ended at the thinking: the
model emitted the tool call, but finish_reason: "tool_calls" landed on
the same SSE line as the include_usage block, so the single-event parser
returned that line as a usage chunk and the loop never saw the tool
finish. The parser now emits every event a line carries, so the search
fires.
Also in this change:
- Replay each round's reasoning_content on the assistant tool-call
message, which interleaved-thinking models require to keep going.
- Add a per-provider replay_reasoning option (DeepSeek, SiliconFlow
GLM-4.7+) to carry prior turns' reasoning_content when search is on.
- Add an on-demand diagnostic log gated by $LLAMACHAT_DEBUG_LOG.
- Record provider, usage_json and reported_cost_usd per reply, so a
searched turn keeps every round's billed usage for external consumers.
Diffstat (limited to 'docs/superpowers/specs/2026-07-31-web-search-design.md')
0 files changed, 0 insertions, 0 deletions
