--- _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 ## Recent commits - .admin `da97d25c` docs(tasks): F&F daemon-image closed — fixes accepted (0.10.1) - .admin `6fdb9b51` docs(tasks): F&F daemon-image 7/7 PASS + findings F1/F2 - .admin `aa88f538` docs(handoff): сессия 0.2.0-симуляция завершена (предыдущая сессия) ## F&F daemon-npm-image-storage — ЗАКРЫТ (эта сессия) Лестница **7/7 PASS** + фиксы sched (commit e755b52, daemon **0.10.1**, digest `269093a08f6e…`) приняты после ретеста затронутых поверхностей (F1/F2/N2 живьём + регресс ступеней 1/2/3/5 — без изменений). Письма: отчёт `2026-08-21T23-27-41Z-admin.md`, акцепт `2026-08-21T23-41-30Z-admin.md` (sched/.agents/inbox, gitignored file-drop). Стенд: `.tmp/fnf-daemon-image/` (gitignored): Dockerfile.mongo (0.10.0), Dockerfile.doc-recipe-v2 (0.10.1, как в доках), my-storage.mjs, my-storage-bad.mjs, tasks.json. Дальше — sched/books сами. ## Open треки | Трек | Готовность | Entry-point | |---|---|---| | Реальный деплой apilki (npmjs + github.com) | ждёт отмашки | «Спроси user'а» | | sched-vds-deploy | 🟡 paused | ждёт результатов миграции books→sched (phase-3) | | books миграция на sched | в процессе | victor/books `sched-migration-phase-3` (blocked), victor/sched `books-sched-integration` (paused) | | sched-pipelines-local-stack | Status: active в STATUS.md; по handoff предыдущей сессии кампания финализирована (0.1.0 published, повторные раны noop) → кандидат на закрытие (предложено в ритуале) | .tasks/STATUS.md | ## Спроси user'а - **Реальный деплой apilki-билдеров**: npmjs + github.com (не мок). Требует отмашки + настоящие NPM_TOKEN/GITHUB_TOKEN (в pass). Не гонять без явной команды. - (F&F daemon-image — закрыт, вопросов нет) ## Не делать (preemptive guards) - Не запускать реальный publish в npmjs/github.com без явной отмашки. - **sched-vds-deploy не запускать** — paused по решению vitya (2026-08-21), ждём миграцию books→sched. - Не писать токены в git/handoff/письма (secrets rule: только pass). ⚠️ tasks.generated.json с токеном — gitignored, не коммитить. - Не лезть в код агентов самим (юзер: «ты сам в код не лезь») — фиксы через режект-письма; исключение — стенд-конфиг (.admin). - Не трогать `llm-router-failover-proxy` (юзер закрыл 2026-08-18). ## Memory updates за сессию - **Кандидат на shared-wiki ingest**: verdaccio-токен в производных docker-образах — BuildKit secret, не ARG (ARG → JWT в `docker history`, воспроизведено на schedd-mongo 0.10.0); `npmMinimalAgeGate: 0` обязателен для yarn 4.18 против verdaccio (нет publish-time метаданных). Касается books T2-паттерна (FROM + yarn add + env) и любых композиций поверх @sched/*. - **Кандидат на shared-wiki ingest**: Windows git-bash + docker run — нужен `MSYS_NO_PATHCONV=1` (иначе POSIX-пути манглятся в `C:/Program Files/Git/…` → `unable to open database file`). sched задокументировал в 13.self-hosting. - (прошлая сессия, не заингещено): паттерн «симуляция апстрим-апдейта в мок-стенде»; «мок не зеркалит прод-контракт» (3 случая).