feat(providers): add Volcengine and BytePlus support - #14070
Open
kshitijk4poor wants to merge 2 commits into
Open
feat(providers): add Volcengine and BytePlus support#14070kshitijk4poor wants to merge 2 commits into
kshitijk4poor wants to merge 2 commits into
Conversation
Based on PR #8952 by @Maaannnn. Adds Volcengine and BytePlus as first-class providers, each with standard and Coding Plan model catalogs. The model prefix (volcengine/ vs volcengine-coding-plan/) determines the runtime base URL automatically. - New hermes_cli/provider_contracts.py centralises all constants - ProviderConfig entries in auth.py with api_key auth - Model catalogs, aliases, and provider ordering in models.py/providers.py - Auxiliary client entries and context window resolution - gateway /provider command detects known Volcengine/BytePlus endpoints - Comprehensive tests and docs update
- Rename provider_contracts.py -> volcengine_byteplus.py for explicitness - Consolidate duplicate host-to-provider mappings: provider_for_base_url() now uses the canonical _URL_TO_PROVIDER from model_metadata.py instead of maintaining a separate 20-entry dict - Add volcengine/byteplus to runtime_provider.py model-dependent base URL resolution (kimi-style special case) so manually-edited configs resolve the coding-plan base URL correctly - Remove volcengine/byteplus from _API_KEY_PROVIDER_AUX_MODELS — the main-model-first design in _resolve_auto() handles these providers already; entries were dead code in the normal flow - Add VOLCENGINE_API_KEY and BYTEPLUS_API_KEY to OPTIONAL_ENV_VARS in config.py so they appear in hermes setup - Update docs: environment-variables.md, fallback-providers.md, configuration.md
15 tasks
This was referenced May 20, 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.
Summary
Salvage of PR #8952 by @Maaannnn — adds Volcengine and BytePlus as first-class inference providers, each with standard and Coding Plan model catalogs.
The model prefix (
volcengine/vsvolcengine-coding-plan/) determines the runtime base URL automatically. Both catalogs share a single API key per provider.Based on #8952. Closes #8952.
Changes from original PR
Contributor commit (cherry-picked):
hermes_cli/volcengine_byteplus.py(renamed fromprovider_contracts.py) centralizes all constants/providercommand detects known Volcengine/BytePlus endpointsFollow-up fixes:
provider_contracts.py→volcengine_byteplus.pyfor explicitnessprovider_for_base_url()now uses_URL_TO_PROVIDERfrom model_metadata.py instead of maintaining a separate 20-entry dict_API_KEY_PROVIDER_AUX_MODELS— the main-model-first design in_resolve_auto()handles these providers alreadyVOLCENGINE_API_KEYandBYTEPLUS_API_KEYtoOPTIONAL_ENV_VARSin config.pyTest results
447 directly related tests pass. Full hermes_cli/ + agent/ suite: 1048 passed (3 pre-existing platform-specific failures unrelated to this PR).