Hermes Agent
Hermes Agent is an open-source command-line and messaging agent from Nous Research. It accepts any endpoint that implements OpenAI’s chat completions, including Bayle.
Show the prompt
Help me set this up to use Bayle AI, an OpenAI-compatible API. Full guide: https://docs.bayle.ai/guides/agents/hermes-agent/
Goal: point Hermes Agent (https://hermes-agent.nousresearch.com) at Bayle.
1. Install Hermes Agent if `hermes --version` fails (macOS, Linux and WSL2):
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
On native Windows, follow https://hermes-agent.nousresearch.com/docs/getting-started/installation instead.
2. Pick a model that supports function calling, since Hermes calls tools:
curl -s "https://api.bayle.ai/models?type=text" \
| jq -r '.data[] | select(.model_spec.capabilities.supportsFunctionCalling) | .id'
Show me the list, let me choose, and use that id as MODEL_ID.
3. Configure it in files. The key goes in ~/.hermes/.env as a reference to my BAYLE_API_KEY, never as the literal key (if the file already has a BAYLE_API_KEY line, leave it; otherwise ask me to add it myself):
# ~/.hermes/config.yaml
providers:
bayle:
api: https://api.bayle.ai
key_env: BAYLE_API_KEY
transport: chat_completions
model:
provider: custom:bayle
default: MODEL_ID
Merge this into any existing config instead of overwriting it. Alternatively I can run `hermes model`, choose "Custom endpoint" and enter the same base URL and model; if I prefer that, walk me through it.
4. Hermes features such as vision and web summarisation have their own model settings. Mention that they are not moved by this change.
5. Verify with a short Hermes run on the chosen model, or a curl to POST https://api.bayle.ai/chat/completions if Hermes has no non-interactive mode.
Rules:
1. The base URL is https://api.bayle.ai exactly as written. Append no path to it.
2. Read the key from the BAYLE_API_KEY environment variable. Never write the key itself into a file you create, a command, a commit or the chat. Where the tool keeps the key in its own settings screen, tell me where to paste it. If BAYLE_API_KEY is not set, stop and ask me to create a key at https://chat.bayle.ai/developers and export it.
3. Take model ids only from GET https://api.bayle.ai/models (no key needed). Never guess one.
4. Finish with one real test request, show me the result and list the files you changed.Install
Section titled “Install”curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashThat is the installer for macOS, Linux and WSL2. For Windows and other methods, see the official install guide.
Configure interactively
Section titled “Configure interactively”Run:
hermes modelChoose Custom endpoint, then enter:
| Prompt | Value |
|---|---|
| Base URL | https://api.bayle.ai |
| API key | Your Bayle key |
| Model | MODEL_ID |
Configure in a file
Section titled “Configure in a file”Hermes keeps settings in ~/.hermes/config.yaml and secrets in ~/.hermes/.env. Put the key in
the .env file:
BAYLE_API_KEY=your-keyThen declare Bayle as a named provider and select it:
providers: bayle: api: https://api.bayle.ai key_env: BAYLE_API_KEY transport: chat_completions
model: provider: custom:bayle default: MODEL_IDHermes adds /chat/completions and /models to the base URL itself.
Pick a model
Section titled “Pick a model”Hermes calls tools, so pick a model that supports function calling:
curl -s "https://api.bayle.ai/models?type=text" \ | jq -r '.data[] | select(.model_spec.capabilities.supportsFunctionCalling) | .id'Good to know
Section titled “Good to know”Some Hermes features, such as vision and web summarisation, have their own model settings. Setting the main model to Bayle doesn’t move those; configure each one if you want it on Bayle too.
See Bayle as an agent backend for retries and balance errors.