Don't mix Hermes Agent's config.yaml and .env with each other. Simple understanding: .env is more suitable for keys and environment variables, and config.yaml is more suitable for placing structured function configurations, such as provider routing, MCP servers, browser, gateway, toolsets, memory, etc.
How to divide labor
.env Put this kind of content: API key, bot token, service address, sensitive credentials.config.yaml Put these things: model routing, MCP server list, include/exclude, browser backend, cron, gateway behavior, sandbox settings.
Recommended for newbies
- Write the base configuration in
hermes setupfor the first time. - Use
hermes config editwhen changing the structured configuration. - Don't scatter keys in the project directory, give priority to
~/.hermes/.env. - After changing the configuration, restart Hermes or run the corresponding reload command.
In a word: .env manages keys, config.yaml manages behavior; Don't cram everything into one file.
Official open source address: https://github.com/NousResearch/hermes-agent; Official document entry: https://hermes-agent.nousresearch.com/.