16 июля появился первый коммит локального ассистента для встреч: BlackHole, локальное распознавание, локальная модель. Уже 17 июля добавился headless Claude после каждой встречи — чистая идея «всё локально» прожила один день. Автор прогнал стенограмму утренней встречи через большую модель руками, и она нашла упущенную тему письма, пять витрин и дедлайн до отпуска коллеги. Локальная модель (тогда Gemma 26B, сейчас 35B MoE через Ollama) ничего из этого не видела: она пишет минутки по ходу, кусками, а большая читает стенограмму один раз целиком.
Точнее называть это не локальным ассистентом, а локальным по построению во время встречи и локальным по умолчанию после. Всё, что может покинуть машину, решается в одном модуле. PRIVACY.md обещает, что список полный, и тест падает, если появится тумблер без описания. Тумблеров пять. cloud_enrich отправляет после стопа стенограмму, минутки, подсказки и разбор встречи целиком, а ночью — ядра графа до 60 тыс. знаков и досье; работает через Opus. cloud_live шлёт последние 2200 знаков стенограммы плюс вопрос по кнопке, на один вопрос, через Haiku. cloud_hints передаёт последние 3500 знаков реплик плюс нить встречи — конспект тем ещё до 3500 знаков — на каждую подсказку, потоком всю встречу, тоже через Haiku. cloud_edit_graph не отправляет ничего нового: это право не писать отчёт, а править граф, вместе с разбором, через Opus. cloud_engine отдаёт весь чат — подсказки, тезисы, минутки — внешнему шлюзу на всю встречу, подойдёт любая OpenAI-совместимая модель. Первые четыре у автора включены, пятый — режим для машины без сильного железа, замера по нему нет.
| Тумблер | Что уходит | Когда | Модель |
|---|---|---|---|
| cloud_enrich | стенограмма, минутки, подсказки и разбор встречи целиком; ночью — ядра графа (до 60 тыс. знаков) и досье | после стопа; ночью | Opus |
| cloud_live | последние 2200 знаков стенограммы плюс вопрос | по кнопке, на один вопрос | Haiku |
| cloud_hints | последние 3500 знаков реплик плюс нить встречи — конспект тем, ещё до 3500 знаков | на каждую подсказку, потоком всю встречу | Haiku |
| cloud_edit_graph | ничего нового: право не писать отчёт, а править граф | вместе с разбором | Opus |
| cloud_engine | весь чат: подсказки, тезисы, минутки считает внешний шлюз | всю встречу | любая OpenAI-совместимая |
Не уходит никогда: аудио, эмбеддинги голосов, поисковый индекс, память. Распознавание, диаризация, локальные подсказки и поиск по графу работают на машине при любых тумблерах. Вокруг самих тумблеров три правила, и они важнее. Молчание конфига — нет: разрешение только явное и только булево. Появилось после аудита, когда один тумблер оказался fail-open и конфиг без ключа отправлял вопросы встречи наружу, а право на правку графа читалось через bool(...) — строка false в YAML это право давала. Рубильник сильнее конфига: CHAROITE_NO_CLOUD=1 выключает облако, что бы ни стояло в YAML, и перед чужой встречей достаточно одной переменной, а не правки конфига в спешке. Проверка стоит на сетевом выходе, а не в начале сценария: каждая функция, запускающая процесс с сетью, спрашивает разрешение сама, а тест по AST знает все выходы наружу и падает на новом без проверки.
Пять тумблеров управляют тем, что покидает машину: от разбора встречи целиком до живых подсказок и внешнего шлюза.
Разбор после стопа получает четыре файла одной встречи. Раньше модель читала их с диска сама, и ради этого ей открывали папку со всеми встречами; теперь набор собирает код, и что ушло — видно из кода. Рабочий каталог процесса — граф, не репозиторий: с корнем репозитория модель видела записи, логи, все прошлые стенограммы и конфиг. Инструментов три на чтение и, с тумблером, два на запись, все привязаны к каталогу; путь вне его CLI отклоняет сам. У живых вызовов инструментов нет вовсе. Ядра ночью — единственное, что уходит не про одну встречу: сжатая история тем за месяцы. Это место, где автор больше всего думает про отключение.
Счёт по логам с 3 по 16 сентября, 61 доставленная ревизия: медиана правок графа на ревизию — 27, от 12 до 57; снято ложных поручений — 54; восстановлено поручений — 224; исправлено имён дорожек в 20 ревизиях из 61; снято ошибочных решений — 81. Ничего из этого локальная модель не делает: она не читает встречу целиком и не читает граф вокруг. Живые уточнения от Haiku автор оценивает только глазами: строка FIX: было => точнее под локальной подсказкой, в половине случаев нужная. Замера нет, и он его не придумывает.
В августе была попытка перевести ревизию на Sonnet: подписка одна на разработку и на ассистента, хотелось освободить квоту. На одной выборке ревизии ядер Opus дал отчёт 9,6 КБ за 153 секунды, 10,5k выходных токенов (5,8k на размышления) и 86 ссылок на узлы. Sonnet — 4,7 КБ за 605 секунд, 53k токенов (51k на размышления) и 46 ссылок. Главные находки те же, но в четыре раза дольше, вдвое короче, на досье с 66 источниками не уложилась в 600 секунд, и размышления съели весь выигрыш по цене. Opus остался. Другие вендоры для графа — нет, и качество ни при чём: вся изоляция стоит на примитивах Claude CLI — явный список инструментов, правила путей, режим без вопросов. Новый провайдер прошёл бы мимо всей страховки, плюс потокенный счёт и другая юрисдикция для рабочих стенограмм. Код автор тем же DeepSeek и GLM отдаёт каждый день, но код открытый, а стенограммы нет.

