Skip to content

[feat]: add Fireworks AI provider and Fire Pass support#3564

Open
paraddox wants to merge 1 commit intoNousResearch:mainfrom
paraddox:feat/fireworks-provider
Open

[feat]: add Fireworks AI provider and Fire Pass support#3564
paraddox wants to merge 1 commit intoNousResearch:mainfrom
paraddox:feat/fireworks-provider

Conversation

@paraddox
Copy link
Copy Markdown
Contributor

@paraddox paraddox commented Mar 28, 2026

What does this PR do?

Adds Fireworks AI as a first-class Hermes provider, including Fire Pass support.

This PR wires Fireworks into the existing provider/auth/setup/model-selection flows instead of treating it like a custom endpoint. It uses the standard Fireworks API key and base URL, supports the Fire Pass router model, and keeps Fire Pass
extensible by treating it as a small catalog rather than a one-off hardcoded branch.

For regular Fireworks usage, Hermes now fetches account-scoped Fireworks models at runtime. For Fire Pass, Hermes keeps a curated router list so the setup flow stays reliable even though Fire Pass is a separate product surface.

This approach fits Hermes’s existing provider architecture:

  • normal provider registration in auth.py
  • setup-time provider/model selection in setup.py
  • provider catalog logic in models.py
  • no new abstraction or separate fake provider for Fire Pass

Related Issue

Fixes #3510

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 🔒 Security fix
  • 📝 Documentation update
  • ✅ Tests (adding or improving test coverage)
  • ♻️ Refactor (no behavior change)
  • 🎯 New skill (bundled or hub)

Changes Made

  • Added fireworks as an API-key provider in hermes_cli/auth.py
  • Added Fireworks env metadata in hermes_cli/config.py
  • Added Fireworks provider support to interactive setup in hermes_cli/setup.py
  • Added Fireworks provider support to hermes model flows in hermes_cli/main.py
  • Added Fireworks model catalogs and account-scoped runtime model discovery in hermes_cli/models.py
  • Added Fire Pass model support with the current router model catalog
  • Added Fire Pass Kimi router context length handling in agent/model_metadata.py
  • Added provider aliases, labels, parser support, and auto-provider selection behavior for Fireworks
  • Added regression coverage in:
    • tests/hermes_cli/test_models.py
    • tests/hermes_cli/test_setup_model_provider.py
    • tests/test_api_key_providers.py
    • tests/test_setup_model_selection.py
    • tests/test_model_provider_persistence.py
    • tests/test_cli_provider_resolution.py
    • tests/agent/test_model_metadata.py

How to Test

  1. Configure a Fireworks key and run:
    source venv/bin/activate
    hermes setup
    

Choose Fireworks AI (open models + Fire Pass) and verify the provider setup completes.

  1. Verify model flows:

    hermes model
    hermes chat --provider fireworks -q "hello"
    Confirm Fireworks appears as a normal provider and --provider fireworks is accepted.

  2. Run the targeted regression slice:

    source venv/bin/activate
    python -m pytest tests/hermes_cli/test_models.py tests/hermes_cli/test_setup_model_provider.py tests/test_api_key_providers.py tests/test_model_provider_persistence.py tests/test_cli_provider_resolution.py tests/agent/test_model_metadata.py -q

    Expected result:

    • 257 passed, 24 warnings

Checklist

Code

Documentation & Housekeeping

  • I've updated relevant documentation (README, docs/, docstrings) — or N/A
  • I've updated cli-config.yaml.example if I added/changed config keys — or N/A
  • I've updated CONTRIBUTING.md or AGENTS.md if I changed architecture or workflows — or N/A
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide (https://github.com/NousResearch/hermes-agent/blob/main/CONTRIBUTING.md#cross-platform-compatibility) — or N/A
  • I've updated tool descriptions/schemas if I changed tool behavior — or N/A

Screenshots / Logs

Targeted verification:

$ source venv/bin/activate
$ python -m pytest tests/hermes_cli/test_models.py tests/hermes_cli/test_setup_model_provider.py tests/test_api_key_providers.py tests/test_model_provider_persistence.py tests/test_cli_provider_resolution.py tests/agent/test_model_metadata.py -q
257 passed, 24 warnings in 4.26s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Firework Pass Support

1 participant