- Дата публикации
Lowfat: CLI-фильтр, который экономит до 91,8% токенов у LLM-агентов
Что нового
Lowfat — это небольшой CLI-инструмент, который чистит вывод терминала перед тем, как вы отправите его в LLM-агента. Автор заявляет экономию токенов до 91,8% на реальных сценариях работы с консолью.
Ключевые особенности:
- Экономия токенов: за счет агрессивной фильтрации «шума» в выводе команд (например,
git diff,docker ps, длинные логи). Цифра — до 91,8% срезанных токенов. - Один небольшой бинарник: минимальное ядро, без стороннего бекенда. Всё крутится локально.
- Локальная работа: нет телеметрии, данные не улетают на серверы разработчика.
- Композиция по-UNIX-стилю: фильтры собираются в пайплайны, можно смешивать встроенные и свои.
- Пользовательская история: Lowfat ведёт историю команд и показывает, на чем вы экономите больше всего — можно тонко подстроить фильтры под свои сценарии.
Инструмент уже интегрируется с:
- Claude Code (через hook в
.claude/settings.json) - shell-сессиями (через
shell-initи переменные окружения) - OpenCode (плагин ставится одной командой)
- Pi agent (через префикс в
~/.pi/agent/settings.json)
Как это работает
Идея простая: вместо того, чтобы скармливать LLM-агенту сырые километры вывода консоли, вы пропускаете его через Lowfat. Инструмент обрезает лишнее, оставляет только то, что действительно нужно для ответа модели, и уже это попадает в контекст.
Под капотом несколько уровней:
-
CLI-обертка
Вы запускаете команды с префиксом:
lowfat git status lowfat docker ps lowfat ls -laИли Lowfat внедряется в окружение агента и переписывает команды автоматически (Claude Code, OpenCode, Pi agent, shell-интеграция).
-
Runner и пайплайны
Для каждой команды Lowfat строит конвейер фильтров. Это может быть набор встроенных процессоров и пользовательских плагинов. Пайплайны описываются в конфиге
.lowfatи через DSL, напоминающий UNIX-пайпы. -
Фильтры и плагины
- Встроенные фильтры отвечают за типичные сценарии: обрезка длинных диффов, логов, повторяющихся блоков.
- Пользовательские плагины пишутся на DSL lf-filter (
.lfфайлы). Есть shell-«выходы» и поддержка Python через PEP 723 и uv. - Lowfat может запускать плагины и объяснять, что именно они выкинули из вывода.
-
Уровни агрессивности
Есть преднастроенные уровни, например:
lowfat level ultra # максимальная "сжатость" вывода LOWFAT_LEVEL=lite lowfat git log # разовый мягкий режимВы можете глобально выставить уровень или менять его точечно для отдельных команд.
-
История и статистика
Lowfat собирает локальную статистику:
lowfat info # статус и активные фильтры lowfat info git # пайплайн для `git` lowfat info --config # итоговая конфигурация lowfat stats # суммарная экономия токенов lowfat stats --audit # последние запуски плагинов lowfat history # команды, на которых больше всего экономииЭто помогает понять, где вы реально тратите токены и где стоит ужесточить фильтрацию.
Что это значит для вас
Когда Lowfat полезен
Lowfat имеет смысл, если вы:
- активно пользуетесь LLM-агентами, которые читают вывод терминала: Claude Code, OpenCode, Pi agent и похожие инструменты;
- часто запускаете команды с огромным выводом:
git diff,git log,docker ps,kubectl get ..., длинные тестовые логи; - платите за токены (или упираетесь в лимит контекста) и хотите сократить стоимость сессий;
- предпочитаете локальные инструменты без телеметрии.
Реальный сценарий: вы открываете Claude Code, запускаете git diff на большом репозитории, а агенту нужно только понять, какие файлы поменялись и где логика. Lowfat вырежет шум, оставит сжатую версию диффа и сэкономит до тех самых 91,8% токенов.
Где он не нужен
Lowfat вряд ли пригодится, если:
- вы почти не используете терминал в связке с LLM;
- ваш вывод команд обычно короткий;
- вы не пишете плагины и не хотите настраивать пайплайны — тогда вы ограничитесь только встроенными фильтрами.
Вопросы приватности и доступности
- Lowfat работает полностью локально: нет удалённого сервера, нет телеметрии.
- Инструмент распространяется через Cargo, Homebrew и готовые бинарники на GitHub Releases. GitHub в России доступен, но может потребовать VPN в некоторых сетях.
- Конфиги и история хранятся у вас:
.lowfat,~/.config/opencode/plugins/lowfat.ts,~/.pi/agent/settings.jsonи т.п.
Если вы принципиально избегаете сторонних CLI-утилит или не хотите вмешиваться в конфигурацию агентов, Lowfat не ваш вариант. Но если вы уже живёте в терминале и LLM-агентах, инструмент хорошо ложится в существующий рабочий процесс.
Место на рынке
Lowfat занимает нишу оптимизации токенов для CLI-ориентированных LLM-агентов. Это не ещё один чат-клиент к GPT-4 или Claude 3, а прослойка между терминалом и агентом.
Отличительные черты по сравнению с типичными подходами:
- Большинство IDE-плагинов и агентных оболочек либо отправляют вывод как есть, либо применяют простое усечение по длине. Lowfat строит настраиваемые пайплайны и даёт DSL для фильтрации.
- Множество «экономящих токены» решений завязаны на облако или сторонний API. Lowfat — локальный бинарник без телеметрии.
- Некоторые агенты имеют встроенные эвристики сжатия вывода, но их сложно контролировать. Lowfat, наоборот, прозрачен: можно посмотреть конфиг, историю, уровень агрессивности и конкретные плагины.
Чётких цифр по сравнению с другими инструментами автор не приводит. Есть только один жёсткий ориентир — 91,8% экономии токенов в его собственных сценариях.
Установка
Lowfat распространяется как Rust-бинарник и через Homebrew. Есть и готовые сборки на GitHub.
Через Cargo
cargo install lowfat
Через Homebrew
brew install zdk/tools/lowfat
Готовые бинарники
На странице GitHub Releases проекта лежат предсобранные бинарники для популярных платформ. Их можно скачать вручную и добавить в PATH.
Как запустить
Ниже — все варианты интеграции из исходного описания, без сокращений.
1. Хук для Claude Code
Добавьте в файл ~/.claude/settings.json:
{
"hooks": {
"PreToolUse": [
{
"matcher": " Bash ",
"hooks": [
{
"type": " command ",
"command": " lowfat hook "
}
]
}
]
}
}
С этого момента перед запуском bash-команд в Claude Code будет срабатывать Lowfat.
2. Интеграция с shell
Lowfat может автоматически активироваться в окружениях агентов (CLAUDECODE=1, CODEX_ENV) или по принудительному флагу LOWFAT_ENABLE=1.
Добавьте в ~/.zshrc (или ~/.bashrc):
echo ' eval "$(lowfat shell-init zsh)" ' >> ~/.zshrc # или ~/.bashrc
После перезапуска shell Lowfat начнёт перехватывать и фильтровать вывод внутри агентных окружений.
3. Плагин для OpenCode
Установка одной командой, без ручного редактирования конфигов:
lowfat opencode install # пишет ~/.config/opencode/plugins/lowfat.ts
Затем перезапустите OpenCode — команды начнут переписываться прозрачно, до выполнения. Удалить плагин можно так:
lowfat opencode uninstall
4. Прямой запуск
Если не хотите трогать конфиги агентов, можно просто префиксовать команды:
lowfat git status
lowfat docker ps
lowfat ls -la
5. Интеграция с Pi agent
В файл ~/.pi/agent/settings.json добавьте:
{
"shellCommandPrefix": " eval \" $(lowfat shell-init zsh) \" ; "
}
Теперь Pi agent будет запускать shell-команды через Lowfat.
Повседневное использование
Несколько полезных команд из документации.
Проверка конфигурации и фильтров
lowfat info # статус и активные фильтры
lowfat info git # пайплайн для `git`
lowfat info --config # полный разрешённый конфиг
Статистика экономии токенов
lowfat stats # суммарная экономия токенов за всё время
lowfat stats --audit # аудит последних запусков плагинов
lowfat history # рейтинг команд по потенциальной экономии
Настройка уровня агрессивности
lowfat level ultra # максимально агрессивная фильтрация
LOWFAT_LEVEL=lite lowfat git log # разовый мягкий режим для одной команды
Создание и проверка плагинов
Создать новый плагин для, например, Terraform:
lowfat plugin new terraform # создаёт ~/.lowfat/plugins/terraform/
Проверить плагины и при необходимости подтянуть Python-зависимости:
lowfat plugin doctor
Протестировать плагин на примере, не устанавливая его:
cat samples/git-diff-full.txt | lowfat filter --explain ./filter.lf --sub=diff --level=ultra
Документация и лицензия
Проект сопровождается несколькими ключевыми документами:
docs/ARCHITECTURE.md— схема: CLI, Runner, плагины, встроенные процессоры.docs/CONFIG.md— формат.lowfat, переменные окружения, DSL для пайплайнов, встроенные процессоры, ранжирование истории.docs/PLUGINS.md— DSL lf-filter (.lf), shell-«выходы», поддержка PEP 723 и uv, промпт для AI-агента.
Лицензия проекта — Apache-2.0.
Автор прямо пишет, что при разработке Lowfat использовал несколько AI-инструментов. Это честный дисклеймер, который хорошо сочетается с самой идеей — экономить ресурсы LLM там, где они действительно нужны.