# Gateway 模型切换后飞书全部 Agent error 的修复

## 症状
CLI 正常但飞书每条消息都 "Agent error"，/reset 无效。Gateway 状态正常（feishu connected），消息能被接收（日志有 "Inbound dm message"）。

## 根因
`model.api_key` ≠ `providers.<provider>.api_key`，且缺少 `DEEPSEEK_API_KEY` 环境变量。

## 诊断
```bash
# 1. 比对两处 key
python3 -c "
import yaml
with open('/Users/liuxinyuan/.hermes/config.yaml') as f: c = yaml.safe_load(f)
mk = c.get('model',{}).get('api_key','')
pk = c.get('providers',{}).get('deepseek',{}).get('api_key','')
print('MATCH' if mk==pk else f'MISMATCH: model={mk[:12]}... vs provider={pk[:12]}...')
"

# 2. 查看 Gateway 日志
grep "RuntimeError.*no API key was found" ~/.hermes/logs/gateway.log | tail -3

# 3. 查看飞书会话 model 列
sqlite3 ~/.hermes/state.db "SELECT id, model, message_count FROM sessions WHERE session_key LIKE '%oc_c42487%' ORDER BY started_at DESC LIMIT 5"
```

## 修复（两步，缺一不可）

```bash
# 步骤1：同步 provider key
MODEL_KEY=$(python3 -c "import yaml;c=yaml.safe_load(open('$HOME/.hermes/config.yaml'));print(c['model']['api_key'])")
hermes config set providers.deepseek.api_key "$MODEL_KEY"

# 步骤2：设置环境变量（Gateway Agent 走 env var，仅 config 不够！）
echo "DEEPSEEK_API_KEY=$MODEL_KEY" >> ~/.hermes/.env

hermes gateway restart
```

## 预防
切换模型时必须同步更新三处：`model.api_key`、`providers.<p>.api_key`、`.env`
