--- _last_updated_: 2026-08-22T14:49:52Z session_id: llm-web-proxy-deploy-2026-08-22 --- # Next session handoff ## Recent commits (эта сессия) - llm-web-proxy `8dd8a45` feat: configurable modelPrefix — lwp/ aliases (default off, backward compat) - llm-web-proxy `6342d85` fix(version): честный semver 0.1.5 (sed промахивался в 3 коммитах) - llm-web-proxy `675112b` feat: lwp config set port - llm-web-proxy `8d93c25` feat: executor spec logging — tool/stream/session/upstream события - llm-web-proxy `22e0663` feat: minimal dashboard — /metrics JSON + HTML - skills `349aa7c` feat: web-search skill (search_web tool, RED→GREEN, live-verified) - pi-extensions `1542603` + `b0e62af` feat: search_web tool (vision-subagent pattern) - .admin `625ab3e6` docs(tasks): llm-web-proxy npm global install fixed ## Сделано (эта сессия) - **npm i -g v0.1.6** — реальная глобальная установка; починены files-контракт (autostart.js/notify.js/paths.js не были в тарболе), serve-путь (dist резолвился от data-dir), autostart .vbs пересоздан на глобальный CLI. - **Дашборд**: /metrics (окна 1h/6h/24h/all, per-account/combo/endpoint, failoverByStatus) + одна HTML-страница (селектор окон, фильтр эндпоинтов, локальное время); GET / отдаёт её. - **Executor-логирование спеки #8**: event=tool-prompt / raw-reply (sanitized sample) / parse (calls/valid/args_empty) / upstream / session / stream (counting wrapper). Метрики C/D/E на дашборде ожили (live: 100% valid args). - **modelPrefix**: опциональный (default "" = off); `lwp/deepseek-flash-web` → комбо. CLI `lwp config set prefix

`. - **web-search скилл + search_web тул**: RED (без скила субагент отказался) → GREEN (вызвал search_web, ответ с [1] blog.rust-lang.org). Дефолт-модель lwp/deepseek-pro-search-web (pro-search). Поиск включён по умолчанию, «без поиска» — off до конца сессии (как using-interns grant). - **Деплой**: llm-web-proxy глобально установлен (конфиг/секреты/ключи в %APPDATA%\llm-web-proxy), autostart .vbs → глобальный CLI, сервер жив на 8788. ## Open треки | Трек | Готовность | Entry-point | |---|---|---| | llm-web-proxy п.2 mac/linux autostart | не проверить на win (только pure-builder тесты есть) | .tasks/STATUS.md 🔴 | | llm-web-proxy п.4 qwen-web | 🟡 — ключ есть, падал EAI_AGAIN (DNS) | .tasks/llm-web-proxy.md | | llm-web-proxy п.5 gemini/kimi/grok-web | кандидаты (emulated tool calling) | .tasks/llm-web-proxy.md | | web-search скилл | установлен, тестирован — следующий шаг: юзер-сценарии в живых сессиях | skills/web-search/SKILL.md | | Реальный деплой apilki (npmjs+github) | ждёт отмашки | «Спроси user'а» | ## Спроси user'а - **qwen-web** (п.4): чинить DNS = второй web-канал? Нужен ли сейчас. - **Дашборд** оставить крутиться или стоп (сейчас сервер жив, autostart поднимет при перезагрузке). - (старое) Реальный деплой apilki-билдеров npmjs+github — за явной отмашкой + токены в pass. ## Не делать (preemptive guards) - Не запускать реальный publish в npmjs/github.com без явной отмашки. - **sched-vds-deploy не запускать** — paused по решению vitya (2026-08-21). - Не писать токены в git/handoff/письма (secrets rule: только pass). - Не лезть в код агентов самим (фиксы через режект-письма). - **Не смешивать search-комбо с агентскими** (search ломает эмуляцию тулов) — search только через субагента/тул search_web. ## Memory updates за сессию - llm-web-proxy: data-dir кроссплатформенно (APPDATA/XDG), конфиг/секреты/ключи раздельны (config.json / secrets.json / keys.json). - pi-интеграция: провайдер `llm-web` в ~/.pi/agent/models.json, модели `lwp/deepseek-*-web` (префикс lwp/ теперь настраивается в прокси, modelPrefix). - Тул-паттерн «субагент-на-специфичной-модели»: vision-subagent (describe_image) и web-search (search_web) — pi-расширения, модель из конфига (env/JSON), modelRegistry.complete на чистом контексте. Кандидат в shared-wiki (concept: pi-extensions subagent-tool pattern). - semver-урок: sed-бампы писать в одном шаге с коммитом, проверять `grep version` до push (3 коммита уехали с застрявшей 0.1.2).