Skip to content

fix: route Zhipu coding-plan base URLs to the Zhipu token counter - #260

Merged
hetaoBackend merged 1 commit into
mainfrom
fix/zhipu-coding-plan-token-counter
Sep 21, 2026
Merged

hetaoBackend merged 1 commit into
mainfrom
fix/zhipu-coding-plan-token-counter

Conversation

@yujiachen-y

@yujiachen-y yujiachen-y commented Sep 20, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #258


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…ses token counter

Z.AI / Zhipu coding-plan base URLs (/api/coding/paas/v4) were not claimed
by the Zhipu tokenizer adapter, so they fell through to generic-responses,
which appended /v1 to the already-versioned path and POSTed to a
non-existent /api/coding/paas/v4/v1/responses/input_tokens (guaranteed 404,
silently degrading the token estimate to the BPE fallback).

- Claim the coding-plan paths in ZHIPU_PATHS and derive the tokenizer
  endpoint from the plan root instead of hardcoding the general-plan path,
  so coding-plan keys hit /api/coding/paas/v4/tokenizer and fail classified
  (cached as unsupported) until Zhipu enables the endpoint for that plan.
- Stop appending /v1 in buildResponsesInputTokensUrl when the base URL
  already ends in a version segment (/v<digits>), fixing the doubled
  version for any versioned OpenAI-compatible gateway.
- Add routing and URL-construction tests, register them in the capability
  suite, and refresh the source inventory.

Fixes #258
@hetaoBackend
hetaoBackend merged commit bcdd606 into main Sep 21, 2026
13 checks passed
@hetaoBackend
hetaoBackend deleted the fix/zhipu-coding-plan-token-counter branch September 21, 2026 02:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Z.AI / Zhipu Coding Plan base URLs fall through to the generic Responses token counter and POST to a non-existent /v1/responses/input_tokens

2 participants