From f467814b8bf9569e1f267cfc1d9ed1f6d9f1dcb6 Mon Sep 17 00:00:00 2001 From: vitya Date: Sat, 22 Aug 2026 16:45:51 +0300 Subject: [PATCH] =?UTF-8?q?docs(handoff):=20llm-web-proxy=20built=20?= =?UTF-8?q?=E2=80=94=20plans=20for=20next=20session=20(npm=20i=20-g=20veri?= =?UTF-8?q?fy,=20mac/linux=20autostart,=20qwen/gemini/kimi=20providers,=20?= =?UTF-8?q?search-subagent=20skill)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .tasks/NEXT_SESSION.md | 50 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/.tasks/NEXT_SESSION.md b/.tasks/NEXT_SESSION.md index 912f98b..59d0c02 100644 --- a/.tasks/NEXT_SESSION.md +++ b/.tasks/NEXT_SESSION.md @@ -1,6 +1,52 @@ --- -_last_updated_: 2026-08-22T08:25:11Z -session_id: fnf-daemon-image-2026-08-21 +_last_updated_: 2026-08-22T16:45:00Z +session_id: llm-web-proxy-2026-08-22 +--- + +# Next session handoff + +## llm-web-proxy — построен (эта сессия) + +Кастомный web-LLM провайдер для pi + Claude Code (веб-чаты DeepSeek вместо API). +Код: `C:/Users/vitya/projects/.common/lib/llm-web-proxy` (git repo, remote `victor/llm-web-proxy`). +Таска: `.tasks/llm-web-proxy.md` (спека). Вики: `.wiki/` в проекте (концепты tool-emulation/combo/blocking). + +### Что работает (58 тестов GREEN, live-проверено) +- `/v1/chat/completions` (OpenAI) + `/v1/messages` (Anthropic, Claude Code) — оба формата +- Эмуляция `` → tool_calls / tool_use (из кода omniroute, vendor/) +- 4 комбо: flash/pro + flash-search/pro-search (search отдельно, НЕ смешивать с агентскими) +- Round-robin по аккаунтам (megan/yulia/vitya) + cooldown/circuit + failover +- API-ключи (SHA-256, `lwp key create`), auth на /v1/* +- Блокировки: операторская (`lwp account block --until`) + авто-детект mute (persist в data/) +- Per-account proxy (undici), конфиг через CLI (`lwp combo/account/key/status/test`) +- npm-пакет: data-dir кроссплатформенно (APPDATA/XDG), `lwp serve`, `lwp autostart enable` + (win .vbs / linux systemd-user / mac launchd — паттерн omniroute) +- Уведомления: нативные toast (node-notifier) по умолчанию; ntfy — OFF (включается конфигом) +- Docker: docker-compose (data volume), НО docker демон на машине был выключен — проверка в docker не финальна + +### Состояние аккаунтов deepseek-web +- **megan: muted** в DeepSeek до 2026-08-23 14:38 МСК (авто-блок стоит, переживает рестарт) +- yulia, vitya — работают. Ротация идёт по ним. + +### pi-интеграция +`~/.pi/agent/models.json` → провайдер `llm-web` (baseUrl http://127.0.0.1:8788/v1, ключ выпущен) +- `local/deepseek-flash-web`, `local/deepseek-pro-web` +- `local/deepseek-flash-search-web`, `local/deepseek-pro-search-web` +- omniroute удалён из models.json (заменён llm-web-proxy) + +### Планы на следующую сессию (по приоритету) +1. **npm i -g реально не проверен** — прогнать `npm pack` + `npm i -g ` на win; + проверить `lwp serve`/`lwp autostart` из глобальной установки (files-список, resolveCli пути). +2. **mac/linux ветки autostart не протестированы** — только pure-builder тесты; live только win .vbs. +3. **lwp serve при автозапуске** — .vbs указывает на bin/lwp.mjs в .common; при глобальной установке + путь другой — проверить, что autostart резолвит правильный cli. +4. **qwen-web** — ключ есть, падал по DNS (EAI_AGAIN); починить = второй web-канал. +5. **gemini-web / kimi-web / grok-web** — кандидаты (emulated tool calling), добавить отдельными комбо. +6. **Скилл с субагент-поиском** на `*-search` комбо — план юзера (writing-skills). + +### Открытые вопросы юзеру +- npm i -g локально или в registry (verdaccio)? Деплой llm-web-proxy как службы — уже autostart. + --- # Next session handoff