| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| BFEv1.8.8.3 source code.tar.gz | 2026-10-11 | 7.4 MB | |
| BFEv1.8.8.3 source code.zip | 2026-10-11 | 11.4 MB | |
| README.md | 2026-10-11 | 2.3 kB | |
| Totals: 3 Items | 18.8 MB | 0 | |
Fixed
- Fix token usage collection for non-streaming gzip responses (
Content-Encoding: gzipwithTransfer-Encoding: chunked): the compressed body is now decompressed on a parse-only copy (forwarding bytes untouched), the whole-body parse gate accepts chunked non-SSE JSON bodies, and the content-type decoder tolerates media type parameters (e.g.application/json; charset=utf-8) while passing compressed bodies through untouched, soai_output_tokens/ai_total_tokens/ai_cache_read_tokensand RMB billing reflect the real usage instead of 0 (issue [#1406]) - Fall back to the model's chat-mode price when the
(model, mode)price entry is missing but a chat entry exists (product decision: an unpriced mode bills the same as chat), and mark such requests with the newai_price_missaccess-log field (bfe-access-pb >= v0.3.14, field 763) counted byPriceFallbackUsed, so under-priced rows stay visible in reconciliation (issue [#1408]) - Drop the EstimateToken residue (auth-time prompt seeding / response-byte completion guessing) from the shared
TokenUsageand suppress the token fields in the access log for non-2xx responses (new usage disposition,UsageDispositionNone): a failed request no longer logs request-body/4 asai_input_tokenswhileai_total_tokensstays 0 (issue [#1409])
Added
- Make the "usage unrecognized and not estimatable" billing bypass observable (issue [#1410]): the request-finish guard keeps its yardstick behavior (billing fields zeroed, no RMB deduction) but now increments the
UsageUnrecognizedmodule counter (exported via monitorHandlers, alertable) and logs a warn with cluster/key_id/model and theresponse_completed/allow_estimatesub-criteria; the client-abort zero-deduction branch is counted too (counter-only). The access log gainsai_usage_source(bfe-access-pb >= v0.3.15, field 764):parsed(final usage from the upstream response, including zero-output final events) /estimated(approved EstimateToken fallback) /unrecognized(billing skipped, the reported token fields are auth-time seeding residue), orthogonal to the non-2xx suppression, so billing bypasses become directly queryable (ai_usage_source='unrecognized') instead of requiring out-of-band reconciliation. SC03 TC-24 covers the three-way distinction end to end