[2026-09-23] eagle: family/how-to/kraken-network.md family/projects/watchlist-automation.md personal/plans/lampac-watched-to-watchlist.md personal/projects/personal-os/glm-provider-migration.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-23 22:33:34 +06:00
1 parent 2806307c50
commit 4d44f94c1b
4 files changed
+221 -80

No files matched your search

@@ -1,13 +1,30 @@
---
tags: [hermes, whale, config, llm, provider]
created: 2026-09-23
status: plan-pending-approval
updated: 2026-09-23
status: applied-gate-not-restarted
---
# План: перевод Whale на GLM-5.3 (основной) + DeepSeek (fallback)
# Миграция Whale на GLM-5.3 (основной) + DeepSeek (fallback)
Ref: [[personal-os-agent-rules]]
## Текущий статус (2026-09-23)
**Конфиг применён и проверен. Гейт НЕ рестартнут — по указанию Alex.**
| Шаг | Статус |
|---|---|
| 1. Бэкап `config.yaml.bak.20260923_223152` | ✅ |
| 2. Коммит ДО `98c2b29` | ✅ |
| 3. `model.default: glm-5.3` + `provider: zai` | ✅ |
| 4. `fallback_providers` → `deepseek-flash` | ✅ |
| 5. Проверка `hermes chat -q` | ✅ `PONG`, 7.9с |
| 6. Рестарт гейта | ⏸️ **не сделан** (осознанно) |
| 7. Коммит ПОСЛЕ | ⏸️ ожидает |
**Следствие невыполненного рестарта:** текущая gateway-сессия `20260923_211212_bb508bb1` продолжает работать на `deepseek-chat` (подтверждено логом: `model=deepseek-chat provider=deepseek` в тех же секундах, когда CLI-тест уже шёл на GLM). Новые сессии подхватывают GLM сразу. Полное переключение — после `hermes gateway restart`.
## Цель
Основной провайдер `zai` / модель `glm-5.3`. При недоступности — DeepSeek как fallback.
@@ -21,9 +38,35 @@ Ref: [[personal-os-agent-rules]]
| Tool calling на `glm-5.3` (live curl, `get_weather`) | ✅ `finish_reason=tool_calls`, аргументы пришли корректно |
| Провайдер в Hermes | ✅ `zai` (алиасы: `glm`, `z-ai`, `z.ai`, `zhipu`) — `hermes_cli/providers.py:105` |
| Transport | `openai_chat`, env: `GLM_API_KEY` / `ZAI_API_KEY` / `Z_AI_API_KEY` |
| Base URL override | `GLM_BASE_URL` (если понадобится) |
| Base URL override | `GLM_BASE_URL` — **не понадобился**, см. ниже |
**Важно:** `zai` overlay НЕ содержит своего `base_url_override` — Hermes подставит дефолтный endpoint Z.ai. Если после рестарта будет 404 — прописать `GLM_BASE_URL=https://api.z.ai/api/paas/v4` в `.env`.
**Base URL не понадобился.** Опасение из плана (`zai` overlay без `base_url_override` → 404) **не подтвердилось**. Hermes сам подставил корректный endpoint:
```
provider=zai base_url=https://api.z.ai/api/paas/v4 model=glm-5.3
```
`GLM_BASE_URL` в `.env` добавлять не нужно. Оставлено как аварийный резерв.
## Проверка после применения (факты из лога)
Команда: `cd ~/.hermes/hermes-agent && ./venv/bin/python hermes chat -q "reply with exactly: PONG" -Q`
```
agent_init: provider=zai base_url=https://api.z.ai/api/paas/v4 model=glm-5.3
conversation turn: session=20260923_223237_e2adfb model=glm-5.3 provider=zai
API call #1: model=glm-5.3 provider=zai in=20961 out=40 total=21001 latency=7.9s
Turn ended: reason=text_response(finish_reason=stop) model=glm-5.3 api_calls=1/90
→ ответ: PONG
```
**Подтверждено:** провайдер `zai`, модель `glm-5.3`, ответ получен, не фолбэк.
## Побочный эффект: vision заработал
```
agent.auxiliary_client: Vision auto-detect: using main provider zai (glm-5v-turbo)
```
Vision автоматически привязался к `glm-5v-turbo`. На DeepSeek vision не работал вовсе. **Незапланированный плюс смены** — раньше картинки обрабатывать было нечем.
## Цены (для справки)