hermes agent推荐将api密钥存于~/.hermes/.env文件,格式为key_name=value,设权限600,通过python-dotenv自动加载,并支持多环境隔离。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用Hermes Agent时需安全存放API密钥、令牌等敏感凭据,则必须避免将其硬编码于YAML配置文件中。将敏感信息移入独立的.env文件并配合环境变量加载机制,是官方推荐的最小权限实践方式。以下是具体操作步骤:
一、创建并初始化.env文件
该方法通过显式声明独立环境变量文件,使Hermes Agent在启动时自动读取其中定义的密钥值,从而与主配置解耦,降低泄露风险。
1、进入Hermes Agent配置根目录:cd ~/.hermes/
2、创建空白.env文件:touch .env
3、设置文件权限为仅所有者可读写:chmod 600 .env
4、向文件中写入对应模型提供商的API密钥,格式须严格遵循KEY_NAME=value,例如:OPENAI_API_KEY=sk-prod-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
二、验证.env文件被正确加载
此步骤确保Hermes Agent运行时能成功解析.env中的变量,并将其映射至配置路径,防止因加载失败导致服务降级或认证异常。
1、执行配置回显命令:hermes config show
2、检查输出中是否包含已定义的密钥字段(如openai.api_key),若显示为[REDACTED]或实际值则表示加载成功
3、手动触发一次密钥校验:hermes config validate --secret OPENAI_API_KEY
4、确认返回状态为valid且无missing或malformed提示
三、启用dotenv自动加载机制
当项目部署于CI/CD流水线或容器环境中时,需确保Python运行时具备自动加载.env的能力,避免依赖交互式shell环境变量继承。
1、安装python-dotenv包:pip install python-dotenv
2、在项目启动入口(如hermes/__main__.py)顶部添加加载逻辑:from dotenv import load_dotenv; load_dotenv('.env')
3、验证加载路径是否正确:python -c "import os; print(os.getenv('OPENAI_API_KEY', 'NOT_LOADED'))"
4、若输出为密钥值而非NOT_LOADED,说明加载机制已就绪
四、多环境隔离.env文件
针对开发、预发、生产等不同部署场景,应为每个环境维护专属.env文件,避免交叉污染与误用。
1、在~/.hermes/下创建环境专用文件:cp .env .env.development && cp .env .env.production
2、为各文件填入对应环境的密钥值,例如.env.production中使用生产级API Key
3、启动Agent时指定环境变量文件:HERMES_ENV_FILE=.env.production hermes agentstart
4、确认当前生效的环境文件路径:hermes config show --source











