fix: standardize provider user agents with the AstrBot version - #10082
Merged
Merged
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
astrbot-docs | 6975439 | Commit Preview URL Branch Preview URL |
Sep 14 2026, 12:22 PM |
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.
Provider requests currently use SDK-specific or hardcoded user agents. Default built-in chat, speech, embedding, and reranking requests to
astrbot/<version>, derived fromastrbot.__version__. Preserve configured HTTP User-Agent overrides regardless of header casing, and remove hardcoded Claude Code headers from new coding-plan provider templates. Existing saved custom headers are preserved.Cover both SDK clients and direct HTTP sessions, including SDK-specific handling for Gemini, DashScope, and Edge TTS. Gemini's generated duplicate header is removed after client initialization; Edge TTS uses its shared SDK synthesis-header default because it does not expose a per-client header option.
Validation:
ruff format .,ruff check ., and 230 passing targeted Python tests. New tests capture local HTTP and WebSocket requests to verify exact default and custom user agents. External provider authentication and service acceptance were not exercised.Summary by Sourcery
Standardize provider User-Agent headers around the current AstrBot version while retaining explicit user configuration.
Bug Fixes:
astrbot/<version>while preserving configured custom overrides regardless of header casing.Enhancements:
Tests: