mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-11 14:00:29 +00:00
80b20cb1ff
OpenRouter and other OpenAI-compatible gateways normalize chain-of-thought into a "reasoning" delta field, while DeepSeek's direct API uses "reasoning_content". The OpenAI-compatible client only read "reasoning_content", so reasoning models routed via OpenRouter (e.g. deepseek/deepseek-v4-pro, the configured Assistant default) had every thinking token dropped. The Assistant showed a long dead pause and then the answer instead of a live thinking stream, which read as "DeepSeek doesn't stream". Parse "reasoning" on both the streaming delta and the non-streaming message, and surface it as a thinking event alongside the existing reasoning_content path. Direct DeepSeek (reasoning_content) is unchanged. Adds a regression test feeding an OpenRouter-style reasoning stream.