Что это значит
Локальная модель в приложениях уже работает, и поэтому у этого дня нет своего замера.
Веб-приложения проекта выбирают модель по имени из общего реестра. Среди имён есть локальная: она отвечает на ноутбуке владельца, а не у поставщика в облаке. Запрос доходит до неё тем же путём, что до облачной, — через сервис агентов и роутер; разница только в том, какая запись реестра выбрана. В дне 11 есть и режим, где к локальной модели не примешивается ни один облачный вызов.
- Модель живёт на ноутбуке владельца. Она доступна сайту только при включённой частной сети на ноутбуке; когда ноутбук выключен или сеть остановлена, роутер отвечает отказом «провайдер недоступен», и посетитель видит именно отказ, а не пустой ответ.
- Сборка без встроенных отказов доступна только по именному ключу: без ключа её в списке дня 11 нет вовсе.
- Полностью локальный контур проверяется конфигурацией, а не замером: страница показывает, где это видно в коде, и не обещает чисел.
Почему у этого дня нет замера
Задание дня 27 — «приложение шлёт запросы в локальную LLM, получает и отображает ответы, работает без облачных моделей». Оно было закрыто раньше, чем началась неделя локальной LLM: локальная модель попала в реестр роутера и в списки моделей дней 5 и 11 ещё в сентябре, а полностью локальный контур — в начале октября. Пробела не осталось, а значит, нечего и мерить.
Остальные четыре дня недели закрывают настоящие пробелы и показывают числа прогонов. Эта страница их не показывает не потому, что прогон не удался, а потому что прогона не было: подставить сюда дату правки файла или чужие числа значило бы соврать. Решение — ADR 2026-10-09-1335, п. 5.
Что уже было закрыто
-
Ollama на ноутбуке владельца поднята службой и слушает адрес частной сети, а не все интерфейсы машины: снаружи сети к ней не подключиться.
ADR 2026-09-09-0258 · запись 2026-09-09-0258-mac-tailnet.md · deploy/mac/ai.zpq.ollama-tailnet.plist
-
Локальная модель стоит в реестре роутера записью
mac-qwen3ярусомself-hosted, и приложения выбирают её по имени — в списке моделей дня 5 и в списке дня 11.ADR 2026-09-09-0156 · router/config/providers.json · days/day5/env.js · agents/src/params.js
-
Ключевой профиль дня 11 — полностью локальный контур: сводка истории и пополнение памяти профиля в нём выключены, поэтому ни промпт, ни порождённый моделью текст не уходят внешнему поставщику. Доступ к такому профилю — по именному ключу.
ADR 2026-10-07-1349 · agents/src/layered.js · запись 2026-10-08-1034-keyed-uncensored-model-screen.md
Пробела не было: к началу недели приложение уже спрашивало локальную модель и показывало её ответы, поэтому своего прогона у этого дня нет. Отсутствие пробела — тоже результат недели.
Как запрос доходит до модели
- Посетитель выбирает модель на экране дня 11 и пишет реплику; экран шлёт её своему серверу. days/day11/public/index.html
- Сервис агентов собирает контекст профиля и берёт выбранное имя модели из своего списка — локальная запись стоит там рядом с облачными. agents/src/params.js
- Роутер находит запись реестра по имени и видит у неё ярус
self-hosted: вызов пойдёт не поставщику, а на свою машину. router/config/providers.json - Запрос уходит с сервера на ноутбук по частной сети: наружу, в публичный интернет, он при этом не выходит, а служба на ноутбуке другого адреса и не слушает. deploy/mac/ai.zpq.ollama-tailnet.plist
- Ollama на ноутбуке генерирует ответ, адаптер роутера приводит его к общей форме, и экран показывает текст — так же, как показал бы ответ облачной модели. router/src/adapters/ollama.js
Что именно значит «без облака»
Обычный профиль дня 11 после каждого отвеченного хода просит модель сжать историю в сводку и пополнить память профиля. Если модель для ответа выбрана локальная, эти служебные вызовы всё равно могут идти к облачной — и тогда «локально» верно только про сам ответ.
В ключевом профиле дня 11 оба служебных механизма выключены: контекст собирается стратегией окна, сводка не заказывается, память профиля не пополняется. Ни промпт, ни порождённый моделью текст не уходят внешнему поставщику — это условие, под которым профиль вообще существует, и видно оно в конфигурации и в коде сервиса агентов, а не в числах замера.
Где это записано: ADR 2026-10-07-1349, раздел про память профиля; у записи реестра для этого профиля нет ни поиска в сети, ни инструментов — router/config/providers.json.
Посмотреть, как это работает
Приложение, которое спрашивает локальную модель и показывает её ответы, — чат дня 11. Эта страница его не воспроизводит.
Локальная модель отвечает в нём, пока на ноутбуке включена частная сеть. Сборка без встроенных отказов видна только внутри профиля, созданного с именным ключом; ключ выдаёт владелец.
Задание дня
День 27 «Интеграция локальной LLM в приложение»: CLI/телеграм-бот/веб-приложение; приложение шлёт запросы в локальную LLM, получает и отображает ответы, работает без облачных моделей.