# Gateway Model Provider 空配置排查（2026-07-28）

## 症状

飞书/微信 Gateway 每条消息报 "Agent error" 或返回极短（3-7字符）回复。
Gateway 日志显示：`provider=custom base_url=https://api.kimi.com/v1 model=deepseek-v4-pro`
——把 DeepSeek 模型名发到 Kimi API，返回 404。

CLI 会话正常，问题仅在 Gateway 出现。

## 根因

`config.yaml` 中 `model.default` 和 `model.provider` 均为空值：
```yaml
model:
  default: null    # ← 空！
  provider: null   # ← 空！
```

Gateway 启动时自行拼凑配置，拿到了错误的 provider（通常是 providers 列表中第一个有 base_url 的）。

## 诊断

```bash
python3 -c "
import yaml
with open(os.path.expanduser('~/.hermes/config.yaml')) as f:
    c = yaml.safe_load(f)
print('model.default:', repr(c.get('model',{}).get('default','EMPTY!')))
print('model.provider:', repr(c.get('model',{}).get('provider','EMPTY!')))
"
```

## 修复

```bash
hermes config set model.default deepseek/deepseek-v4-pro
hermes config set model.provider deepseek
hermes gateway restart
```

## 与 Pitfall 46 的区别

Pitfall 46：`model.api_key` 与 `providers.<name>.api_key` 不一致（值不同）
本文：`model.default` 和 `model.provider` 本身为空（缺失）

两者都导致 Gateway 全量报错，但诊断方向不同。
