Vomit переводит «сырой» вывод токенов Claude через локальную LLM

Vomit переводит «сырой» вывод токенов Claude через локальную LLM

Разработчик под ником zachahn выпустил Vomit, небольшую локальную консольную утилиту на Go, которая берёт «сырой» вывод токенов Claude и пропускает его через отдельную LLM, чтобы превратить в связный, читаемый текст; сам автор также написал сопроводительный пост об этом проекте в своём блоге. Утилита полностью локальна: телеметрии нет, внешних зависимостей нет, весь конвейер обработки работает на компьютере пользователя.

Установка сводится к одной команде, go install github.com/zachahn/vomit@latest, после чего команда vomit init настраивает подключение к вашей LLM. Дальше доступны два режима работы. Инвазивный: команда vomit scrub -claude подключает Vomit через хуки и подменяет вывод Claude «на лету» уже очищенной версией. Ненавязчивый (side mode): vomit list показывает идентификаторы сессий Claude, а vomit tail [<идентификатор>] переводит токены конкретной сессии или следит за последней, не вмешиваясь в обычную работу Claude, по словам автора, единственное реальное побочное действие в этом режиме в том, что Vomit технически пишет временные файлы в TMPDIR. Если своей локальной LLM ещё нет, автор советует поставить Llama.app и скачать через него модель GPT-OSS 20B, а затем запустить vomit init.

Автор сам открыто перечисляет ограничения, а не прячет их в мелкий шрифт. Локальная LLM видит только то, что пытается сообщить Claude, без доступа к его файлам и действиям, поэтому «немного галлюцинирует». Работает Vomit медленно. Сам проект автор называет «чистым вайб-кодингом» и признаёт, что тестировал его только на Mac. Есть и более серьёзный риск: важное сообщение Claude можно попросту не заметить в переведённом виде, от этого автор советует держать рядом инструмент вроде AgentsView, который показывает исходные, необработанные сообщения. Лицензия проекта, GNU GPLv3.

Ключевые факты

  • Vomit, локальная консольная утилита на Go от разработчика под ником zachahn: перехватывает сырой вывод токенов Claude через хуки и переводит его в читаемый текст с помощью отдельной LLM, запущенной на компьютере пользователя.
  • Инструмент полностью локален, без телеметрии и внешних зависимостей; установка одной командой (go install github.com/zachahn/vomit@latest), настройка через vomit init.
  • Два режима: инвазивный vomit scrub -claude подменяет вывод Claude «на лету»; ненавязчивый vomit list/vomit tail лишь показывает переведённые токены сессии, не трогая обычную работу Claude (кроме технической записи временных файлов в TMPDIR).
  • Автор открыто признаёт ограничения: локальная LLM не видит файлов и действий Claude, поэтому немного галлюцинирует; работа медленная; сам проект, «чистый вайб-кодинг», протестированный только на Mac.
  • Если своей LLM нет, автор советует Llama.app с моделью GPT-OSS 20B; при риске пропустить важное сообщение Claude, держать рядом инструмент вроде AgentsView с оригинальными сообщениями. Лицензия, GNU GPLv3.

Почему это важно

Claude и похожие агентные CLI-инструменты во время работы выдают довольно «сырой» поток токенов, по-английски такое называют token vomit («токенная рвота»), откуда и название проекта Vomit. Zachahn показал рабочий способ решить эту проблему без внешних сервисов: пропустить вывод через вторую, отдельную LLM, запущенную полностью локально, и получить на выходе связный читаемый текст, без телеметрии и без единой внешней зависимости. Это конкретный, работающий пример паттерна «LLM как прослойка для UX»: не более мощная модель генерирует новый контент, а маленькая локальная модель просто причёсывает то, что уже сказала основная модель, прежде чем это увидит человек.

Кому это важно

В первую очередь, тем, кто пользуется Claude в режиме агента через консоль и устал разбирать неструктурированный поток токенов. Тем, кому важна приватность: весь конвейер работает локально, ничего не уходит наружу. Разработчикам, которые пробуют паттерн «маленькая локальная модель поверх большой облачной», автор прямо предлагает связку с моделью GPT-OSS 20B через Llama.app как рабочий, но не единственный вариант. И тем, кто интересуется опенсорсными Go-утилитами: проект выпущен под GNU GPLv3, исходники открыты.

Как это применить

Установка, одна команда, go install github.com/zachahn/vomit@latest, дальше vomit init настраивает подключение к вашей LLM. Есть два пути использования: заменить вывод Claude на очищенный «на лету» через хуки (vomit scrub -claude), либо ничего не трогать в обычной работе и просто смотреть перевод сбоку, vomit list покажет идентификаторы сессий Claude, а vomit tail [<идентификатор>] переведёт токены нужной сессии или будет следить за последней. Как именно устроен перехват через хуки и к какому конкретно интерфейсу Claude он привязан, кроме самого понятия «сессии Claude», в тексте не раскрывается. Своей локальной LLM ещё нет, автор советует Llama.app и модель GPT-OSS 20B, после чего останется только прогнать vomit init.

Можно ли доверять

Это личный проект одного разработчика (в тексте фигурирует только ник zachahn, без указания настоящего имени), а не официальный инструмент Anthropic и не продукт компании, независимого аудита или обзора у проекта нет. При этом ограничения честно перечисляет сам автор, а не критики со стороны: признаёт, что модель «немного галлюцинирует», что инструмент работает медленно и что весь проект, «чистый вайб-кодинг», проверенный только на Mac. Обсуждение на Hacker News набрало 205 голосов и 218 комментариев примерно за 13 часов, это говорит о живом интересе сообщества, но не подтверждает и не опровергает ни одно из технических заявлений автора. Стоит учесть и то, что заголовок поста в оригинале ссылается на «Claude 5», а в самом тексте автор везде говорит просто «Claude», ни разу не повторяя номер версии, так что привязку к конкретной версии подтверждает только заголовок, а не тело материала.

Риски и подводные камни

Главный риск называет сам автор: локальная LLM видит только то, что пытается сообщить Claude, без доступа к его файлам и реальным действиям, и поэтому может исказить смысл, то есть «галлюцинирует». Есть и более острый сценарий: важное сообщение Claude можно попросту не заметить в переведённом виде; единственная защита от этого, держать параллельно инструмент вроде AgentsView с оригинальными сообщениями. Добавляется и задержка: по признанию автора, Vomit работает медленно. Тестировался проект только на Mac, так что поведение на Linux и Windows не подтверждено. И общий момент: это «вайб-кодинг» одного человека без заявленной проверки безопасности, даже при локальной обработке и отсутствии телеметрии пропускать вывод рабочего ИИ-инструмента через дополнительную, не проверенную независимо модель, само по себе лишнее звено, надёжность которого пока не проверял никто, кроме автора.

«Локальная модель видит только то, что пытается сообщить Claude, без доступа к каким-либо действиям или файлам, поэтому она немного галлюцинирует.»

— zachahn, автор Vomit