Skip to content

fix: add missing api_key field for custom provider in Dockerfile.hermes#81

Merged
noFloat merged 1 commit into
Tencent:mainfrom
yuanrengu:fix/api-key-in-config-yaml
May 25, 2026
Merged

fix: add missing api_key field for custom provider in Dockerfile.hermes#81
noFloat merged 1 commit into
Tencent:mainfrom
yuanrengu:fix/api-key-in-config-yaml

Conversation

@yuanrengu
Copy link
Copy Markdown
Contributor

@yuanrengu yuanrengu commented May 24, 2026

Closes #77

问题

Hermes Docker 镜像启动后,用户执行 docker exec -it hermes-memory hermes 进入对话时报错:

⚠️  API call failed (attempt 1/3): AuthenticationError [HTTP 401]
 🔌 Provider: custom  Model: deepseek-v4-pro
 🌐 Endpoint: https://api.deepseek.com/v1
 📝 Error: HTTP 401: Authentication Fails, Your api key: ****ired is invalid

根因Dockerfile.hermes 的 CMD 脚本将 MODEL_API_KEY 写入了 .env 文件(OPENAI_API_KEY=xxx),但生成的 config.yamlmodel 段缺少 api_key 字段。Hermes 对 provider: customconfig.yamlmodel.api_key 读取凭据,不从 .envOPENAI_API_KEY 读取,因此认证失败。

修复

printf 生成的 config.yaml 中增加 api_key: "${MODEL_API_KEY}" 字段。

修改后的 config.yaml 内容

model:
  default: "deepseek-v3.2"
  provider: "custom"
  base_url: "https://api.lkeap.cloud.tencent.com/v1"
  api_key: "sk-xxx"              # ← 新增

memory:
  provider: memory_tencentdb

变更文件

文件 变更
docker/opensource/Dockerfile.hermes 第 99 行 printf 增加 api_key 字段
CHANGELOG.md 添加 Unreleased 修复记录

验证

已在运行中的容器内直接修复 config.yaml 验证修复有效。用户使用修复后的 Dockerfile 重新构建镜像即可正常使用。

The CMD script writes MODEL_API_KEY to .env as OPENAI_API_KEY but
does not include it in config.yaml's model section. Hermes with
provider: custom reads api_key from model.api_key in config.yaml,
not from OPENAI_API_KEY in .env. This causes 401 Authentication
Fails when users start a conversation inside the container.

Fix: add api_key field to the generated config.yaml model section.
@Maxwell-Code07
Copy link
Copy Markdown
Collaborator

感谢快速修复!根因清晰,我们会尽快review后合入

@noFloat noFloat merged commit e334591 into Tencent:main May 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Question] Your api key: ****ired is invalid'

3 participants