47 lines
5.4 KiB
Markdown
47 lines
5.4 KiB
Markdown
---
|
||
_last_updated_: 2026-08-17T08:15:00Z
|
||
session_id: 2026-08-17-pi-models-llm-router-fnf-r3
|
||
---
|
||
|
||
# Next session handoff
|
||
|
||
## Состояние: три нитки, все в ожидании внешнего шага
|
||
|
||
**1. sched F&F раунд 3 — наша часть сделана, ждём от sched cache-фикс.**
|
||
Прогнано (стенд `.admin/.tmp/sched-r2/r3/`, изолированный node_modules: core 0.22.0 / daemon 0.1.15 / ui 0.1.8 из verdaccio):
|
||
- 4 новых раннера протестированы IRL: process ✅, mcp ✅ (vds-ops HTTP, env-токен), docker-envelope ✅, **ssh — найден критичный баг host-key pin** (`keyHash.replace is not a function`: ssh2 отдаёт в `hostVerifier` сырой Buffer, `hostHash` не задан) → sched починил в core 0.21.0 (`hostHash:'sha256'` + Buffer-safe fingerprintMatches), перетест ✅.
|
||
- Найден **UI cache-баг**: serve/daemon не шлют `Cache-Control` → браузер кэширует `/api/runs`, строки залипают на `running` (progress % виден, терминальный статус нет), лечится только Ctrl+F5. Воспроизведено live (DOM до/после `location.reload(true)`). sched подтвердил, фикс «в треке».
|
||
- Live-прогресс (0.22/0.1.15) работает (API растёт 7→100, exit-code→100%, fail→N%), но его **маскирует cache-баг** — репорт с просьбой поднять приоритет отправлен.
|
||
- Репорты (3): `victor/sched/.agents/inbox/2026-08-17T06-35-00Z-*`, `07-07-00Z-*`, `07-32-00Z-*`, `08-10-00Z-*`.
|
||
**Следующий шаг:** когда sched пингнёт cache-фикс — перетест: поднять `cd .admin/.tmp/sched-r2/r3 && node daemon.mjs` (порт 8082) + `node node_modules/@sched/ui/dist/serve.js --proxy http://127.0.0.1:8082 --port 8083`, проверить, что терминальные строки рендерятся **без Ctrl+F5**.
|
||
|
||
**2. llm-router (failover-прокси pi) — конфиг готов, ждёт рестарт службы от юзера (admin).**
|
||
- Пул переконфигурен: **routerai (deepseek-v4-flash-0731 / deepseek-v4-pro-0813) → deepseek (chat/reasoner)**; teamorouter/orcarouter/anymodel убраны.
|
||
- **ВАЖНО: служба winsw читает фабричную копию `C:\Users\vitya\AppData\Local\llm-router\config\llm-router.json`**, НЕ проектную `.common/lib/llm-router-proxy/config/`. Обе обновлены (gotcha в `.common/.wiki/concepts/llm-router-failover-proxy.md`).
|
||
- Ключи: routerai+deepseek в `~/.pi/agent/auth.json` (orcarouter/teamorouter ключи удалены).
|
||
- **Ждёт:** `Restart-Service llm-router` (админская PS) → потом проверить `curl :8787/health` + minimal probe: в логе `upstream=routerai` (не teamorouter).
|
||
|
||
**3. pi models.json — готово.** orcarouter/teamorouter убраны, в `routerai` добавлены deepseek/deepseek-v4-flash-0731 + deepseek-v4-pro-0813. Цены от юзера даны в рублях, **переведены в USD** (pi рендерит `$`; курс 83.44 ₽/$): flash 0.0839/0.1678/0.0175, pro 1.594/3.2/0.132. Релоад — при открытии `/model`.
|
||
|
||
## Open треки
|
||
| Трек | Готовность | Entry-point |
|
||
|---|---|---|
|
||
| sched F&F r3 cache-фикс перетест | ⚪ ждёт пинг sched | `.admin/.tmp/sched-r2/r3/` + их инбокс |
|
||
| llm-router рестарт службы + verify routerai | 🔴 ждёт юзера (admin restart) | `.common/lib/llm-router-proxy/` + AppData-копия |
|
||
| pi models.json | 🟢 done | `~/.pi/agent/models.json` |
|
||
|
||
## Спроси user'а
|
||
- **Перезапусти `llm-router` службу** (админская PowerShell) → скажи, я проверю probe→routerai.
|
||
- Ритуал закрытия (ниже в ответе): ингестить ли знание в вики (см. Memory updates), закрывать ли что-то.
|
||
|
||
## Не делать (preemptive guards)
|
||
- **НЕ пушить в victor/sched, НЕ трогать их доску/NEXT_SESSION/wiki** — только письма в их инбокс (правило F&F).
|
||
- Не трогать R2-стенд daemon :8080 (общий регресс-стенд, живёт).
|
||
- Не писать секреты в этот файл (git-tracked).
|
||
|
||
## Memory updates за сессию
|
||
- `.common/.wiki/concepts/llm-router-failover-proxy.md` — секция «Две копии конфига» (служба читает AppData-копию) + актуальный пул routerai→deepseek.
|
||
- **pi cost = USD** (рендер `$`): рубли от юзера конвертировать по курсу, иначе оценка в ~83 раза выше. (кандидат в вики)
|
||
- **HTTP_PROXY на этой машине**: `curl 127.0.0.1` уходит в прокси (503 маскирует «down»). Проверки локальных портов — `curl --noproxy '*'` + `netstat`. (кандидат в вики)
|
||
- sched ssh-runner паттерн: ssh2 `hostVerifier` получает Buffer, hex-диджест — только с `hostHash:'sha256'`; UI: отсутствие `Cache-Control` замораживает таблицы на промежуточном состоянии. (кандидат в вики, если закрепить)
|