WireCat на локальных моделях: что где работает, как настроить и сколько это стоит

Что такое WireCat, каким его функциям нужна модель ИИ, как перевести их все на модель у себя на компьютере и что это стоит по скорости и памяти. С цифрами из наших замеров и местами, где данные все равно уходят наружу.

На этой странице
Маленький черный домашний компьютер с зеленым огоньком на темном столе, вокруг то, что он читает: карточки с сообщениями, открытое письмо, старые фото под латунной лупой и кассетный диктофон. Рядом свернут сетевой кабель, он никуда не подключен.

Агенты вроде Claude Code или Codex хорошо пишут код, но не знают, о чем вы договорились с подрядчиком на прошлой неделе, потому что это лежит в Telegram, в почте и в записи созвона. Я делаю WireCat, набор open source инструментов, которые дают агенту доступ ко всему этому, и приложение, в котором все это подключается без терминала.

Раз через WireCat идет личная переписка, вопрос, куда она уходит, у нас один из главных (почему, я писал в посте про приватность). Недавно я сделал так, чтобы WireCat можно было запустить целиком на локальных моделях, и по дороге нашел несколько мест, где данные уходили наружу, хотя не должны были.

Как устроен WireCat

Каждый инструмент подключает один источник, Telegram, WhatsApp, MAX, почту, заметки, Zoom, Google Drive итд, и хранит копию данных в базе у вас на компьютере. Мессенджеры подключаются от вашего аккаунта, так что агент видит то же, что и вы. Агента вы оставляете своего, своей модели у WireCat нет.

Поиск по этой базе устроен в 2 слоя. Поиск по словам находит сообщения, даже если слово написано не совсем так. А поиск по смыслу работает на эмбеддингах (числовых отпечатках смысла текста) и находит сообщение, когда вы спрашиваете другими словами. Оба работают у вас на компьютере. Модель для смысла WireCat скачивает сам, сейчас это EmbeddingGemma 300M. Я сравнивал несколько бесплатных моделей, и на наших данных она оказалась лучшей, при том что она из самых маленьких.

И по времени это нормально - тестовый набор в 10 000 записей Memo (инструмент для заметок, почты и памяти) проиндексировал на моем ноутбуке где-то за 2.5 минуты. Это еще на прошлой модели e5-small, с Gemma выходит 4-7 минут. Для сравнения, Mem0 на бесплатном плане обрабатывал 6 500 записей 19 часов, правда, это его очередь на сервере, а не скорость модели.

Каким функциям нужна модель

Поиск это основа, но вокруг него куча функций, которым нужна модель ИИ. Вот они все, и где каждая работает по умолчанию:

ФункцияЧто делаетПо умолчаниюМожно локально
Поиск по смыслу и по картинкамнаходит записи и картинки по смыслуу васуже
Расшифровка встречделает текст из записи созвонау васуже
Голосовые сообщенияделает текст из голосовогоу вас, если модель скачана, иначе мессенджерда, флаг --local
Распознавание картинокчитает текст на картинках, которые вы добавили в памятьвыключенода, Ollama или свой сервер
Чтение фактовдостает из документа факты, решения, задачиваш агентда, Ollama или модель ИИ
Искать тщательнеепереставляет первые 30 результатов поиска, когда вы нажимаете кнопкувыключенода, по адресу
Переписывать записи для поискадописывает к заметкам и письмам другие слова, чтобы их находиливыключенода, по адресу
Связывание чатов, черновики ответов, текст во вложенияхчто сказано в названиивыключенода, через модель ИИ
Сводки и почтовый агенткаждое утро пишет сводку, разбирает новую почтуагент, которого вы выбрализависит от агента
Ваш агентвсе остальноеего модельзависит от агента

Все, что выключено, включаете вы сами, и в настройках видно, куда каждая функция отправляет данные.

Как я искал, куда утекают данные

Я прошел по всем функциям, где WireCat ходит к модели, их вышло 13, и для каждого записал, что уходит и можно ли это оставить у себя.

Самый неприятный - мой собственный косяк. Переписывание записей, Искать тщательнее, связывание чатов и еще пара функций спокойно принимали адрес http:// на другом компьютере. Т.е. если вы держите Ollama на домашнем сервере и вписали его адрес, ваши заметки и письма шли по сети без шифрования. Настройка модели ИИ это уже запрещала, а остальные почему-то нет. Теперь правило одно - обычный http только на этот компьютер, на другой только https.

Еще локальная модель требовала ключ. Чтобы подключить LM Studio или llama.cpp у себя, нужно было вписать какой-то API-ключ, хотя никакой ключ там не нужен. Мелочь, но человек в этот момент думает, что раз ключ, значит облако. Я это убрал.

С голосовыми было так, что по умолчанию текст делал сам мессенджер, например Telegram, если у вас Premium. Я поменял порядок, теперь сначала скачанная модель, а мессенджер только если ее нет.

А один конфликт я так и не решил. Сводки пишет и почту разбирает агент для кода, которого вы выбрали в настройках. Claude Code и Codex мы запускаем для этих задач без ваших собственных настроек, специально. Сводка читает чужие письма, а в них может быть текст, который пытается заставить агента что-то сделать. Поэтому Claude Code получает только команды WireCat, а Codex работает в песочнице без сети, и ваши настройки, которые могли бы это расширить, не читаются. Из-за этого и локальная модель, которую вы прописали в настройках Codex, до сводок не доходит. Пришлось выбирать между безопасностью и приватностью, и я пока выбрал безопасность. OpenCode, по идее, свои настройки читает, так что с ним должно получиться, но это я еще не проверял.

Еще есть Ollama. Не все модели в нем локальные, часть, у которых в имени есть cloud, работает на серверах Ollama, и поиск в интернете у него тоже уходит наружу. Т.е. можно честно поставить Ollama у себя и при этом отправлять все в облако.

Как настроить

Подробная инструкция по шагам есть на сайте, Запустить WireCat на локальных моделях. Коротко:

  1. Ставите Ollama (или LM Studio, или любой другой сервер с API как у OpenAI) и скачиваете модель. Для картинок нужна модель, которая их видит, например llava. Облачные модели Ollama выключаете одной строкой в настройках Ollama.
  2. В WireCat Desktop в Настройках, в Модели ИИ выбираете Ollama на этом компьютере. Ключ не нужен.
  3. В Чтении фактов выбираете эту модель или Ollama.
  4. Если хотите, направляете на нее же Искать тщательнее и переписывание записей, у обоих можно вписать адрес своего сервера.
  5. Голосовые расшифровываете с --local.
  6. Своего агента запускаете на локальной модели. Ollama умеет запускать Codex, Claude Code, OpenCode и пару других одной командой ollama launch. Anthropic, правда, официально Claude Code на чужих моделях не поддерживает, а у Cursor и Gemini CLI я в документации такой настройки не нашел.
  7. Включаете Только этот компьютер.

Последний пункт тут главный - это один переключатель, после которого инструменты WireCat отказываются обращаться к модели по адресу, который не localhost, 127.x.x.x или [::1], причем отказывают до отправки, а не после. Агент может его включить, а выключить можете только вы. Под ним список функций с отметками, куда каждая отправляет данные сейчас, так что видно, что еще осталось поправить.

Но несколько мест переключатель не закрывает, за ними надо следить самим. Это ваш агент, сводки с Claude Code или Codex, и чтение картинок через агента (отдельная настройка, которая отправляет картинку в Claude Code или Codex, там лучше выбрать Никогда).

Сколько это стоит

Локальная модель бесплатная, но ест время и память. Я замерял на своем ноутбуке, AMD Ryzen AI 9 HX 470, 30 GB памяти, без видеокарты, и параллельно на нем работали другие агенты, так что цифры с шумом.

Лучше всего это видно на Искать тщательнее. Я гонял 2 набора, наш синтетический v3 (10 444 коротких записи, 46 вопросов) и кусок LifeBench (синтетические данные с телефона одного человека за год, 59 вопросов). Цифра это доля нужных записей в первой десятке. Все строки переставляют одну и ту же выдачу, которую до этого уже подтянули 2 маленьких вызова Haiku, так что это сравнение именно перестановки, а не всего поиска:

Чем переставлялиv3LifeBenchВремя на вопросПамятьЦена за вопрос
Ничем0.940.4700
jina-reranker-v2, маленькая локальная модель0.940.481.4 с / 9 с5.7 GB вместе со всем тестом0
qwen3.5:9b в Ollama, на процессоре0.94не запускал25 с7.7 GB сама модель0
Claude Haiku 5.5, облако0.940.55около 1 соколо $0.0004

На v3 локальная qwen сделала то же, что и Haiku, но за 25 секунд на вопрос вместо одной. До LifeBench дело не дошло. Прогон пришлось остановить на вопросах, заданных другими словами (успел 2 из 17), потому что модель заняла 7.7 GB, и вместе с соседними задачами компьютеру перестало хватать памяти. Поэтому сейчас Искать тщательнее ждет локальную модель до 60 секунд, а облачную 5.

Маленькие модели для перестановки вроде jina работают быстрее, но сами по себе теряют вопросы, заданные другими словами, и добавляют максимум +0.01. Так что для поиска я бы оставил локально то, что есть, а модель подключал там, где полминуты не жалко.

С переписыванием записей наоборот - облако дешевое, но отдает все. Через gpt-4o-mini весь тестовый набор, 9 840 записей, обошелся примерно в $0.49, и с EmbeddingGemma вопросы, заданные другими словами, стали находиться заметно чаще, 0.94 в первой десятке вместо 0.78. Но это все ваши заметки и письма, отправленные в OpenAI. Локально бесплатно, но на процессоре это будут часы, а не минуты (это я не замерял, только прикинул по скорости выше).

Для агентов Ollama просит контекст от 64 000 токенов, а модель должна уметь вызывать инструменты. Небольшая модель на ноутбуке отвечает медленно и чаще ошибается в командах, чем облачная. Так что для агента на локальной модели я бы очень хотел видеокарту.

Что я не проверял

  • Качество на русском. Все замеры выше на английских синтетических данных.
  • Видеокарту. Все локальные цифры на процессоре.
  • Перестановку qwen3.5:9b на LifeBench и на большей части вопросов, заданных другими словами.
  • Переписывание записей локальной моделью целиком, только прикидка.
  • Агентов на локальной модели против WireCat на реальных задачах.
  • Подтягивает ли zoom облачные расшифровки самого Zoom.

И цифры шумные - один вопрос в наборе из 17 двигает результат на 0.06, и Haiku при повторном прогоне сам съехал с 1.00 до 0.94.

Короче, поиск в WireCat и так локальный и бесплатный. Все, что дальше, можно перевести на свою модель, но это стоит времени и памяти, а за несколькими местами надо следить самим.

Инструкция по шагам: Запустить WireCat на локальных моделях. Замеры с данными и скриптами лежат в cli-testing. Скачать WireCat Desktop можно на сайте.

Если будете настраивать и что-то не заведется, пишите в тему Помощь в Telegram или в #help в Discord, помогу. А если погоняете то же самое на видеокарте, буду рад цифрам.