fix(agents): add missing DeepSeek V4 proxy models to reasoning_content replay set#86551
fix(agents): add missing DeepSeek V4 proxy models to reasoning_content replay set#86551liaoyl830 wants to merge 1 commit into
Conversation
…t replay set When DeepSeek V4 models (deepseek-v4-flash-free, big-pickle) are accessed through proxy providers like OpenCode Zen, the reasoning_content field is stripped from assistant message replay, causing the API to return 500 errors because these models require reasoning_content to be echoed back. The root cause is that `isDeepSeek` detection only checks endpoint class (deepseek-native) which doesn't match proxy endpoints (opencode-native). The model ID fallback set REASONING_CONTENT_REPLAY_MODEL_IDS also didn't include these model variants. Fix: - Add deepseek-v4-flash-free and big-pickle to REASONING_CONTENT_REPLAY_MODEL_IDS in both openai-transport-stream.ts and transcript-policy.ts - Add regression tests for DeepSeek V4 Flash Free and Big Pickle via proxy Fixes openclaw#86521
|
Thanks for the context here. I swept through the related work, and this is now duplicate or superseded. Close: this PR is superseded by the merged, proof-backed OpenCode Zen DeepSeek replay fix at #87593. The remaining Canonical path: Close this branch, keep #87593 as the canonical shipped fix, and handle any remaining So I’m closing this here and keeping the remaining discussion on #87593 and #86521. Review detailsBest possible solution: Close this branch, keep #87593 as the canonical shipped fix, and handle any remaining Do we have a high-confidence way to reproduce the issue? Yes for the original Is this the best way to solve the issue? No, this branch is no longer the best way to solve the issue. Current main's suffix-normalized fix is the safer canonical solution for Security review: Security review cleared: The diff only changes in-repo TypeScript replay allowlists and tests; no dependency, workflow, secret, permission, package, or code-execution surface is introduced. AGENTS.md: found and applied where relevant. What I checked:
Likely related people:
Codex review notes: model internal, reasoning high; reviewed against 8ded75628437; fix evidence: release v2026.6.6, commit ad3e3cb7d2d3. |
|
ClawSweeper PR egg 🎁 Pass real behavior proof to wake the egg and unlock a hatchable treat. Where did the egg go?
|
|
Thanks for the PR. Before this can move forward, please add live proof from the affected surface, not just unit tests, mocked tests, or source inspection. A useful proof update should include:
Please redact secrets, tokens, phone numbers, and private message content from logs or screenshots. |
This comment was marked as spam.
This comment was marked as spam.
|
@liaoyl830 thanks for the PR. ClawSweeper is still waiting on real behavior proof before this can move forward. Useful proof can be a screenshot, short video, terminal output, copied live output, linked artifact, or redacted logs that show the changed behavior after the fix. Please redact private tokens, phone numbers, private endpoints, customer data, and anything else sensitive. Once proof is added to the PR body or a comment, ClawSweeper or a maintainer can re-check it. |
|
Thanks @liaoyl830 for the DeepSeek replay coverage here. I am closing this because the same affected OpenCode Zen / DeepSeek reasoning_content replay path is now covered by the merged fix in #87593: #87593 This PR remains part of the audit trail at #86551, and Clownfish is preserving the contributor credit and context from your branch while keeping validation and follow-up on the landed fix path. If the specific |
Summary
deepseek-v4-flash-free,big-pickle) accessed through proxy providers (e.g. OpenCode Zen) losereasoning_contentin assistant message replay, causing 500 errors from the APIisDeepSeekdetection only checksendpointClass === "deepseek-native"which doesn't match proxy endpoints (opencode-native)REASONING_CONTENT_REPLAY_MODEL_IDSwas missing these model variantsFix:
deepseek-v4-flash-freeandbig-pickletoREASONING_CONTENT_REPLAY_MODEL_IDSin bothopenai-transport-stream.tsandtranscript-policy.tsFixes #86521
Test plan
npx vitest run src/agents/openai-transport-stream.test.ts— 392 passing (includes 2 new tests)npx vitest run src/agents/transcript-policy.test.ts— 98 passing (includes 4 new model IDs)Real behavior proof
This fix targets the model ID fallback path in
shouldPreserveReasoningContentReplay. The model ID check already works for proxy endpoints — the issue was simply thatdeepseek-v4-flash-freeandbig-picklewere missing from the set. The new unit tests cover both proxy model configurations. A live reproduction would require an OpenCode Zen (or similar) proxy configured with a DeepSeek V4 model.