Repository navigation
lane: the daily activity claim rides the chat envelope (#85) - #88
Merged
Merged
Conversation
It used to send an empty conversation id and a hand-written reasoning_effort — shapes no chat turn ever produces — so the gate's content check answered CLIENT_ERROR on every hourly retry while the same model conversed fine. The claim now goes through wbApplyModelQuirks (deepseek thinking switch, effort mapped at the light rung) and wbConversationID like real traffic.
This was referenced Oct 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #85 — 每日活跃 auto-claim failed on every hourly retry with
CLIENT_ERROR("上游内容门拦截了请求里的客户端特征文本,改写后仍被拒绝") while the same model conversed perfectly on the normal path (1.0s to first token, images included).#81 established that this gate's refusals are envelope checks, and
wbPostOncealready enforces the system-opener half centrally. The daily claim was still the one caller sending shapes no chat turn ever produces:wbConversationID(seed)→ 32 hex""wbApplyModelQuirks(thinking:{type:enabled}+ mapped effort)reasoning_effort:"none"An empty
X-Conversation-IDis the exact header the v1.7.16 fix put there for everyone else, and"none"is not a spelling the deepseek family accepts — it has nothinkingfield beside it at all.What it does
wbConversationID("wb-daily-activity"), so the header is populated like real traffic.wbApplyModelQuirks(..., "light"), which switches deepseek thinking on and maps the rung to its cheapest effort (low) — the claim is meant to be the smallest turn that counts, and thinking is forced for this family either way.stream_optionsgoes away:wbApplyModelQuirkssets it.Verified:
go vet ./...+go test ./...green. A new test pins the wire shape the claim now sends (32-hexX-Conversation-ID,X-Model-ID,reasoning_effort=low,thinking.type=enabled) so a hand-rolled body cannot regress into this again without a failing test; the existing once-per-day and spent-window tests still pass.One thing this does not fix: the 积分 card's HTTP 404 on
/v2/billing/meter/get-user-resourcefor 国际版 accounts, which the issue raises alongside it. That is an endpoint question, not a parsing one — guessing the path would be worse than leaving it for someone who can see the real response.