需先获取OpenRouter密钥并配置到Hermes Agent中,再指定免费模型ID(如google/gemma-2-9b-it),最后验证调用链路;密钥须通过.env文件或环境变量注入,配置文件需正确设置provider为openrouter及base_url。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在HermesAgent中接入OpenRouter提供的免费大模型服务,但尚未完成API密钥配置,则可能因认证失败导致模型调用中断。以下是完成OpenRouter密钥配置并成功调用免费模型的全流程操作说明:
一、获取OpenRouter账户与API密钥
OpenRouter要求用户注册账户并生成专属API密钥,该密钥是HermesAgent访问其模型服务的身份凭证,必须妥善保管且不可泄露。
1、打开浏览器,访问 https://openrouter.ai/keys 官方密钥管理页面。
2、若未登录,点击右上角“Sign in”使用GitHub或邮箱完成注册并登录。
3、登录后页面自动跳转至Keys页,点击“Create new key”按钮。
4、在弹出窗口中为密钥填写描述名称(例如:hermes-agent-prod),勾选“Allow all models”选项(确保可调用免费模型如google/gemma-2-9b-it、mistral/mistral-7b-instruct等)。
5、点击“Create key”,页面立即显示新生成的密钥字符串,请立即复制并安全保存,该密钥仅在此刻完整可见一次。
二、在HermesAgent中配置OpenRouter密钥
HermesAgent通过环境变量或配置文件注入OpenRouter密钥,运行时读取该值以构造合法请求头,缺失或格式错误将触发401认证拒绝。
1、定位HermesAgent项目根目录下的 .env 文件(若不存在则新建)。
2、在该文件中新增一行,严格按以下格式填写:OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(将“x”部分替换为您复制的密钥)。
3、确保该行前方无空格、末尾无分号、无中文标点,且整行未被#注释。
4、保存文件后,在终端进入HermesAgent项目目录,执行 source .env(Linux/macOS)或 set -a; source .env; set +a(确保子shell继承变量)。
三、指定免费模型标识符并验证调用链路
HermesAgent需明确声明调用的模型ID,OpenRouter依据该ID路由至对应免费实例;错误ID将返回404或计费提示,必须匹配其文档所列免费可用模型。
1、查阅OpenRouter官方模型页 https://openrouter.ai/models,筛选标记为“Free”或“Tier: Free”的模型,记录其完整ID(如 google/gemma-2-9b-it 或 nousresearch/hermes-2-pro-mistral-7b)。
2、打开HermesAgent配置文件(通常为 config.yaml 或 settings.py),查找 model_name 或 llm.model_id 字段。
3、将该字段值修改为选定的免费模型ID,例如:model_name: "google/gemma-2-9b-it"。
4、启动HermesAgent服务,向其发送一条测试请求(如curl POST /v1/chat/completions),检查响应中 provider 字段是否包含 openrouter,且 model 字段与配置一致。
四、启用请求头强制代理与速率限制绕过(可选)
部分部署环境下,OpenRouter对未携带User-Agent或来源IP受限的请求会降级响应;显式声明客户端身份可提升免费额度稳定性。
1、在HermesAgent的LLM初始化代码段中,定位OpenRouter客户端构造位置(常见于 llm/openrouter.py)。
2、确认请求headers字典中已包含:"HTTP-Referer": "https://your-domain.com"(可填任意合规域名)和 "X-Title": "HermesAgent"。
3、若使用requests库发起调用,在post参数中加入 headers=headers 显式传入。
4、重启服务后,观察日志中是否出现 "status=200 model=gemma-2-9b-it" 类似成功标识。


















