Skip to content

feat(providers): add Volcengine and BytePlus support - #14070

Open
kshitijk4poor wants to merge 2 commits into
mainfrom
feat/volcengine-byteplus
Open

feat(providers): add Volcengine and BytePlus support#14070
kshitijk4poor wants to merge 2 commits into
mainfrom
feat/volcengine-byteplus

Conversation

@kshitijk4poor

Copy link
Copy Markdown
Collaborator

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/ vs volcengine-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):

  • New hermes_cli/volcengine_byteplus.py (renamed from provider_contracts.py) centralizes all constants
  • ProviderConfig entries in auth.py with api_key auth
  • Model catalogs, aliases, and provider ordering in models.py/providers.py
  • Context window resolution via model_metadata.py
  • Gateway /provider command detects known Volcengine/BytePlus endpoints
  • Comprehensive tests

Follow-up fixes:

  • Renamed provider_contracts.pyvolcengine_byteplus.py for explicitness
  • Consolidated duplicate host-to-provider mapping: provider_for_base_url() now uses _URL_TO_PROVIDER from model_metadata.py instead of maintaining a separate 20-entry dict
  • Added volcengine/byteplus to runtime_provider.py model-dependent base URL resolution (kimi-style special case at line 646) so manually-edited configs resolve correctly
  • Removed volcengine/byteplus from _API_KEY_PROVIDER_AUX_MODELS — the main-model-first design in _resolve_auto() handles these providers already
  • Added VOLCENGINE_API_KEY and BYTEPLUS_API_KEY to OPTIONAL_ENV_VARS in config.py
  • Updated docs: environment-variables.md, fallback-providers.md, configuration.md
  • Added @Maaannnn to AUTHOR_MAP

Test results

447 directly related tests pass. Full hermes_cli/ + agent/ suite: 1048 passed (3 pre-existing platform-specific failures unrelated to this PR).

Maaannnn and others added 2 commits April 22, 2026 22:33
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
@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/cli CLI entry point, hermes_cli/, setup wizard comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint labels Apr 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants