tech
.env file missing问题
# 运行 `hermes doctor` 时提示 `.env file missing`,怎么解决?
有朋友成功安装了 Hermes Agent,但运行诊断时发现有配置问题:
```bash
hermes doctor
```
如果你看到的输出里有这些警告,那就是同一个问题:
```
✗ ~/.hermes/.env file missing
→ Run 'hermes setup' to create one
⚠ OpenRouter API (not configured)
⚠ Nous Portal auth (not logged in)
⚠ OpenAI Codex auth (not logged in)
```
先说结论:**Hermes 安装成功了,但还没配置 LLM 提供商的 API Key,所以没法聊天。**
## 为什么会这样
Hermes 是一个 AI Agent,需要和大型语言模型(LLM)通信才能工作。这需要:
1. 一个 `.env` 文件存放 API Key
2. 配置好至少一个 LLM 提供商(如 OpenAI、OpenRouter、DeepSeek 等)
安装完成后首次运行,这些配置都还是空的。
## 解决方法
**第一步:创建 .env 文件**
在 `~/.hermes/` 目录下创建 `.env` 文件(如果没有这个目录,Hermes 会自动创建)。
文件内容示例:
```env
# 使用 OpenAI
OPENAI_API_KEY=sk-your-key-here
# 或者使用 OpenRouter(推荐,支持多种模型)
OPENROUTER_API_KEY=sk-or-your-key-here
# 或者使用 DeepSeek
DEEPSEEK_API_KEY=your-key-here
```
**第二步:运行配置向导(交互式)**
在正常的 Windows 终端中运行:
```bash
hermes setup
```
按照提示选择模型提供商、输入 API Key。这是最简单的方式。
**第三步:用命令行直接设置(非交互式)**
如果你没法用交互式向导,可以直接用命令:
```bash
hermes config set model.provider openrouter
hermes config set model.default anthropic/claude-sonnet-4
```
然后手动创建 `.env` 文件放入 API Key。
## 验证是否解决
配置完成后,运行诊断:
```bash
hermes doctor
```
如果看到 `✓` 而不是 `✗` 或 `⚠`,说明配置正确。
然后测试聊天:
```bash
hermes chat -q "你好"
```
如果能正常回复,说明一切就绪。
## 常见提供商和获取 Key 的方式
| 提供商 | Key 获取地址 | 备注 |
|--------|-------------|------|
| OpenAI | platform.openai.com | GPT 系列 |
| OpenRouter | openrouter.ai | 支持多个模型,国内可用 |
| DeepSeek | platform.deepseek.com | 国产,价格低 |
| Anthropic | console.anthropic.com | Claude 系列 |
## 补充排查
如果配置后还是报错:
1. **Key 是否有效?** 去提供商后台测试一下 Key 是否能调用 API
2. **网络是否通畅?** 某些提供商需要代理才能访问
3. **是否设置了正确的提供商?** 检查 `hermes config` 里的 provider 是否和 .env 里的 Key 对应