Skip to content

feat: add Fireworks AI as built-in provider - #6054

Closed
kshitijk4poor wants to merge 1 commit into
NousResearch:mainfrom
kshitijk4poor:feat/fireworks-provider
Closed

feat: add Fireworks AI as built-in provider#6054
kshitijk4poor wants to merge 1 commit into
NousResearch:mainfrom
kshitijk4poor:feat/fireworks-provider

Conversation

@kshitijk4poor

Copy link
Copy Markdown
Collaborator

Summary

Add Fireworks AI (api.fireworks.ai) as a first-class built-in provider. Fireworks offers fast serverless inference with an OpenAI-compatible endpoint.

Partial support already existed on upstream/main:

  • agent/models_dev.py: "fireworks": "fireworks-ai" mapping
  • agent/model_metadata.py: "api.fireworks.ai": "fireworks" URL mapping

This PR completes the integration across the remaining 10 files.

Changes

File What
hermes_cli/auth.py PROVIDER_REGISTRY entry + aliases (fireworks-ai, fw)
hermes_cli/config.py FIREWORKS_API_KEY + FIREWORKS_BASE_URL in OPTIONAL_ENV_VARS
hermes_cli/models.py Label, aliases, provider order (no static model list)
hermes_cli/model_normalize.py Added to _PASSTHROUGH_PROVIDERS
hermes_cli/providers.py HermesOverlay + label + alias entries
hermes_cli/main.py Setup flow, --provider choices, provider dispatch
agent/model_metadata.py _PROVIDER_PREFIXES (URL mapping already existed)
agent/auxiliary_client.py Default aux model (accounts/fireworks/models/llama3.1-8b)
.env.example Documented env vars
cli-config.yaml.example Provider list + auxiliary comments

Dynamic model discovery

No static model list — models discovered dynamically via models.dev registry (14 models with tool_call support) and live /v1/models endpoint.

Test plan

  • python -m pytest tests/hermes_cli/test_fireworks_provider.py -v — 30 passed
  • Full suite python -m pytest tests/ -q
  • hermes setup model → select fireworks → dynamic model list shown
  • hermes chat --provider fireworks with FIREWORKS_API_KEY set

Add fireworks as a first-class provider with full parity to existing
API-key providers (gemini, cerebras, zai, etc.):

- PROVIDER_REGISTRY entry with FIREWORKS_API_KEY env var
- Provider aliases: fireworks-ai, fw -> fireworks
- models.dev integration (14 models with context lengths)
- Dynamic model discovery (no static model list)
- URL-to-provider mapping already existed (api.fireworks.ai -> fireworks)
- models_dev.py mapping already existed (fireworks -> fireworks-ai)
- Passthrough model normalization
- Default auxiliary model (accounts/fireworks/models/llama3.1-8b)
- HermesOverlay in new providers.py system
- CLI --provider choices, setup flow, config docs
- 30 provider-specific tests
@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 30, 2026
@nateGeorge

Copy link
Copy Markdown
Contributor

👍 This is the more complete implementation and should be the one to merge.

It covers the full stack: auth registry, model normalization, provider wiring, auxiliary client, and config examples — plus dynamic model discovery instead of a hardcoded list.

One feature from #15332 worth porting as a follow-up: the fireworks-pass provider option for the kimi-k2p5-turbo router (Fireworks Full Access Pass billing path). That would be a small additive PR once this lands.

@teknium1

Copy link
Copy Markdown
Contributor

Fireworks AI support landed via PR #62593. This contribution was part of the Fireworks provider cluster credited in the salvage PR; thank you for the implementation and review work.

@teknium1 teknium1 closed this Jul 11, 2026
@kshitijk4poor
kshitijk4poor deleted the feat/fireworks-provider branch August 5, 2026 07:07
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.

4 participants