Skip to content

Мозги: быстрая и умная модель ​

Мозгов у Хомера двое: быстрая модель отвечает на каждую фразу, а умная берётся за многошаговые дела по поручению. По умолчанию это Claude Haiku и Claude Opus; обе меняются в настройках на другие модели и другие облака, например DeepSeek.

Колонка — быстрая модель (по умолчанию Haiku) ​

Мозги колонки — постоянный процесс Claude Code в неинтерактивном режиме на компьютере с колонкой:

claude -p --model haiku --input-format stream-json --output-format stream-json \
  --tools "" --mcp-config mcp-voice.json --allowedTools mcp__homer
  • Каждая фраза уходит туда вместе со снимком дома: устройства по комнатам из плана Homer, их состояния, сцены.
  • Ответ занимает 1,5–2 секунды, с вызовом инструмента 2,5–4.
  • Процесс пересоздаётся каждые 6 реплик, чтобы история не разрасталась, и сразу после изменения настроек мозгов.
  • Встроенных инструментов Claude Code (файлы, оболочка, интернет) у него нет (--tools ""). Есть только инструменты дома уровня «Колонка».

Что Haiku делает сам ​

  • Свет, розетки, сцены, шторы, климат, вентиляторы, медиа — по белому списку сервисов и только для устройств из снимка. Эти действия приходят прямо в его ответе, без лишнего вызова, поэтому это самое быстрое.
  • Музыку, таймеры и напоминания — инструментами.
  • Отвечает на вопросы о доме: что включено, где открыто окно, какая температура.

Что отдаёт Алисе ​

Радио, сказки, будильник, погоду, новости, курс, справку о мире — если в доме есть Яндекс Станция. Ответит сама Станция.

Вход и расход ​

Используется вход Claude Code того пользователя Windows, от которого запущена колонка. Запросы идут в счёт лимитов подписки Claude, отдельного ключа API и оплаты нет.

WARNING

Если выйти из Claude Code на этом компьютере, мозги начнут отвечать «Голова не отвечает» или отвечать запасной головой. Быстрые команды про свет продолжат работать: их разбирает сервер дома без нейросети.

Поручения — умная модель (по умолчанию Opus) ​

Многошаговое Haiku не делает сам, а поручает старшей модели, по умолчанию claude-opus-5-5:

  • «добавь новую лампу в спальню»;
  • «переименуй датчик в ванной»;
  • «разберись, почему не работает свет на кухне».

Как идёт поручение:

  1. Haiku вызывает инструмент delegate с просьбой целиком, колонка отвечает «Сейчас займусь».
  2. В фоне запускается отдельный claude -p с Opus и набором инструментов уровня «Поручения».
  3. Если нужно действие человека, например сбросить лампу, Opus говорит об этом через колонку (инструмент say).
  4. Итог Opus произносит вслух. Первая строка его ответа озвучивается, остальное уходит в журнал.

Ограничения поручения:

Одновременноодно поручение. Пока оно идёт, новое получит ответ «ещё занята»
Времядо 15 минут
Шагидо 40 вызовов
Инструкциясмотреть, потом действовать; ничего не удалять и не менять сверх просьбы; если не уверен — не делать, а сказать

Модель поручений меняется в Настройки → Колонка → Мозги Хомера (см. ниже). Opus расходует лимиты подписки заметно быстрее Haiku, поэтому вызывается только поручением. Отключить поручения совсем — снять инструмент delegate у колонки.

Другие облака: DeepSeek, OpenRouter и прочие ​

В Настройки → Колонка → Мозги Хомера → Чем думает у колонки и у поручений по два списка: облако и модель.

ОблакоКлючСписок моделей
Claudeне нужен, подписка Claude CodeHaiku, Sonnet, Opus, Fable
DeepSeekplatform.deepseek.comиз облака по ключу
OpenRouteropenrouter.aiиз облака
Kimi, Z.ai (GLM), MiniMaxпо ссылке «где взять» в настройкахиз облака по ключу

Работает это через тот же Claude Code: у облаков есть вход, совместимый с Anthropic, и колонка запускает claude с адресом облака и его ключом (ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN). Все внутренние модели Claude Code тоже переводятся на выбранную, иначе служебные запросы ушли бы в Haiku, которого у облака нет.

  • Ключ хранится на сервере дома. В приложение он не возвращается: в настройках видно только «сохранён». Ключ получает только колонка из домашней сети.
  • Кнопка «Проверить» загружает список моделей облака введённым ключом ещё до сохранения.
  • Скорость и качество зависят от модели: для колонки нужна быстрая, иначе ответ задержится на секунды. Кадр с камеры (camera_look) понимают не все модели.

Запасная голова ​

Основная голова — claude -p на компьютере с колонкой. Если она молчит 60 секунд, сторож убивает процесс, а следующая реплика поднимает новый. Пока основная не ответила (CLI завис, облако легло, нет интернета), колонка по очереди спрашивает запасные:

ПорядокГоловаКогда работает
1Та же облачная модель напрямую по её APIТолько если в Чем думает выбрано облако с ключом. У подписки Claude ключа нет, шаг пропускается
2Локальная модель в LM Studio на компьютереЕсли запущен сервер LM Studio

Локальная модель:

  • сервер LM Studio на порту 18234 с токеном, токен — в secrets/local-llm-key.txt;
  • модель qwen3-4b-instruct-2507, грузится по первому запросу (около 9 с), дальше отвечает за 0,2–1 с;
  • сервер запускается из папки «Автозагрузка» пользователя;
  • другой адрес или модель — переменные HOMER_LOCAL_LLM и HOMER_LOCAL_LLM_MODEL. Подробности — tools/speaker/local-llm.md.

Это запасной вариант

У запасных голов нет инструментов (музыка, таймеры, камеры, поручения) и памяти разговора. Модель на 4B путает службы и тёплый свет с яркостью. Она держит дом, пока основная голова не вернётся, а не заменяет её.

Резервная колонка на GPD и Smartbox без компьютера тоже спрашивают облачную модель напрямую, по тем же правилам: без инструментов и только с ключом облака.

Память ​

У головы колонки два вида памяти. Обе лежат на компьютере с колонкой, в папке HomerSpeaker.

  • Сутки разговоров (day.jsonl) — что ей говорили и что она отвечала за последние 24 часа. Голова получает это при каждом перезапуске и помнит, о чём шла речь днём: «как зовут гостя», «что я просил час назад».
  • Постоянная память (memory.md). «Хомер, запомни, что собаку зовут Тоша» — голова записывает факт инструментом memory_save и помнит его всегда. Без просьбы она записывает только то, что ей прямо сказали о доме и людях: имена и питомцев. «Забудь про Димона» — memory_forget.

Постоянную память видят и поручения Opus, и Claude Code с инструментами дома. Каждая запись и каждое удаление попадают в журнал. Файл memory.md обычный: его можно открыть и поправить руками.

Забыть из Telegram. Под каждым «запомнил» в группе дома есть кнопка «🗑 Забыть». Команда /memory присылает весь список, и у каждого факта своя кнопка. После нажатия бот отвечает в группе, кто и что убрал. Кнопки работают только в группе, привязанной к дому, и только пока включён компьютер с колонкой: память лежит на нём. Голова колонки перечитывает память перед следующей репликой, если та не идёт посреди разговора. Забытый факт она больше не вспомнит.