字
字节笔记本
2026年6月22日
hermes教程-模型目录
API中转
¥120
Hermes 从托管在文档站点旁的 JSON 清单中获取 OpenRouter 和 Nous Portal 的精选模型列表。这使得维护者无需发布新的 hermes-agent 版本即可更新选择器列表。
当清单不可达(离线、网络被屏蔽、托管失败)时,Hermes 会静默回退到随 CLI 一起发布的仓库内快照。清单永远不会破坏选择器——最坏的情况是你看到的是安装版本附带的列表。
实时清单 URL
https://hermes-agent.nousresearch.com/docs/api/model-catalog.json
每次合并到 main 分支时,通过现有的 deploy-site.yml GitHub Pages 流水线发布。真实数据源位于仓库中的 website/static/api/model-catalog.json。
模式
json
{
"version": 1,
"updated_at": "2026-04-25T22:00:00Z",
"metadata": {},
"providers": {
"openrouter": {
"metadata": {},
"models": [
{"id": "moonshotai/kimi-k2.6", "description": "recommended", "metadata": {}},
{"id": "openai/gpt-5.4", "description": ""}
]
},
"nous": {
"metadata": {},
"models": [
{"id": "anthropic/claude-opus-4.7"},
{"id": "moonshotai/kimi-k2.6"}
]
}
}
}字段说明:
version— 整数模式版本。未来模式会递增此值;Hermes 会拒绝它不理解的版本,并回退到硬编码快照。metadata— 在清单、提供商和模型级别上的自由格式字典。任何键均可。Hermes 会忽略未知字段,因此你可以添加注释(如"tier": "paid"、"tags": [...]等),无需协调模式变更。description— 仅用于 OpenRouter。驱动选择器徽章文本("recommended"、"free"或空)。Nous Portal 不使用此字段——免费层级的限制由 Portal 的定价端点实时确定。- 定价和上下文长度 不在清单中。这些信息在获取时来自实时提供商 API(
/v1/models端点、models.dev)。
获取行为
| 情况 | 行为 |
|---|---|
/model 或 hermes model | 如果磁盘缓存过期则获取,否则使用缓存 |
| 磁盘缓存未过期(小于 TTL) | 无网络请求 |
| 网络失败但有缓存 | 静默回退到缓存,记录一行日志 |
| 网络失败且无缓存 | 静默回退到仓库内快照 |
| 清单未通过模式验证 | 视为不可达 |
缓存位置:~/.hermes/cache/model_catalog.json。
配置
yaml
model_catalog:
enabled: true
url: https://hermes-agent.nousresearch.com/docs/api/model-catalog.json
ttl_hours: 1
providers: {}设置 enabled: false 可完全禁用远程获取,始终使用仓库内快照。
每个提供商的覆盖 URL
第三方可以使用相同模式自行托管其精选列表。将提供商指向自定义 URL:
yaml
model_catalog:
providers:
openrouter:
url: https://example.com/my-openrouter-curation.json覆盖清单只需填充它关心的提供商块。其他提供商将继续解析主 URL。
更新清单
维护者:
bash
## 从仓库内硬编码列表重新生成(在编辑 hermes_cli/models.py 中的 OPENROUTER_MODELS 或 _PROVIDER_MODELS["nous"] 后保持清单同步)。
python scripts/build_model_catalog.py然后将生成的更改 PR 到 website/static/api/model-catalog.json 并合并到 main。文档站点会在合并后自动部署,新清单在几分钟内生效。
你也可以直接手动编辑 JSON,以进行不属于仓库内快照的细粒度元数据更改——生成脚本只是一个便利工具,并非唯一真实数据源。
分享: