llmtrim CLI
Локальный прокси на Rust сжимает запросы к API моделей от Claude Code, Codex и Cursor, чтобы платить за меньше токенов
- 267 ★ репозитория
- Последний коммит
- MPL-2.0
Широкий доступ
Почему такой уровень
- Прокси расшифровывает и пересобирает весь трафик к API моделей на вашей машине, включая промпты, код и заголовки авторизации
- Установка создает приватный корневой сертификат, меняет переменные оболочки и ставит службу, которая стартует при входе
- Сжатие меняет то, что видит модель: вырезанные части запроса модель не получает, хотя автор утверждает, что ответ остается тем же
Установка
- Работает в
Ручная установка
npm install -g @llmtrim/cli@latest && llmtrim setupПосле установки откройте новый терминал и проверьте `llmtrim status`. Для обновления служит `llmtrim update`.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Прокси расшифровывает и пересобирает весь трафик к API моделей на вашей машине, включая промпты, код и заголовки авторизации
- Установка создает приватный корневой сертификат, меняет переменные оболочки и ставит службу, которая стартует при входе
- Сжатие меняет то, что видит модель: вырезанные части запроса модель не получает, хотя автор утверждает, что ответ остается тем же
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
llmtrim работает на вашей машине как прокси между агентом и API провайдера. Каждый ход агент отправляет большой запрос: системный промпт, описания инструментов, историю, сырой вывод команд. llmtrim вырезает из этого лишнее и пересылает запрос поменьше. Ответ приходит неизменным. Любой инструмент, который учитывает переменную `HTTPS_PROXY`, подходит без доработок. У сжатия 10 ступеней. Журналы сборки, дифы и результаты поиска он сводит к ошибкам, изменениям и совпадениям, а однотипные строки сворачивает в шаблон со значениями. Длинный вставленный контекст урезается до фрагментов, относящихся к вопросу. Исходный код остается в виде сигнатур, кроме нужных тел функций (разбор для 14 языков). Описания инструментов укорачиваются так, чтобы стабильный префикс кэша не менялся. Большие массивы JSON сворачиваются в таблицу или выборку, повторы удаляются, а модели можно попросить отвечать короче. Каждую ступень llmtrim перемеряет токенизатором провайдера и откатывает, если токенов не стало меньше. Если провайдер отклонил сжатый запрос, уходит исходный. Тот же движок доступен как команда `llmtrim compress`, как MCP-сервер (`llmtrim_compress`, `llmtrim_compress_text`, `llmtrim_stats`) и как библиотека для Python, Ruby, Kotlin, Swift и JS/TS. Экономию показывает `llmtrim status`, есть значок в системном трее.
Для кого. Для разработчиков, которые много работают с Claude Code, Codex или Cursor по API-ключу и хотят снизить счет за токены, не меняя инструменты.
Подходит, если
- Агент каждый ход отправляет в запросе длинные журналы сборки или выводы тестов, а ошибок в них две-три строки
- Описания десятков инструментов MCP пересылаются заново с каждым вызовом, и вы хотите их ужать, сохранив кэш префикса
- В запросах много больших массивов JSON и дублирующихся строк
- Нужен единый слой экономии для нескольких клиентов, которые уважают `HTTPS_PROXY`: Claude Code, Codex CLI, Gemini CLI, Aider и вашего собственного SDK
- Нужно сжимать запросы из своего приложения через библиотеку или командную строку без установки прокси
Не подходит, если
- Вы работаете через GitHub Copilot: он закрепляет сертификаты и через прокси не проходит
- Нельзя менять переменные среды оболочки и ставить локальный корневой сертификат на рабочую машину
- Вы платите за агента фиксированной подпиской без учета токенов, и экономия вам ничего не дает
- Нужен только счетчик расхода, а запросы трогать нельзя: для этого хватит пассивного монитора
Пример запроса к агенту
Поставь llmtrim, выполни llmtrim setup и через день покажи по llmtrim status, сколько токенов сэкономлено в Claude CodeОграничения
Команда `llmtrim setup` вносит три изменения: создает приватный центр сертификации в `~/.llmtrim/`, прописывает в оболочке `HTTPS_PROXY` и доверие к сертификату и ставит службу, которая запускается при входе. Сертификат ограничен именами хостов LLM-провайдеров. Все три шага откатывает `llmtrim uninstall`. Ключи API прокси не хранит. На диск попадают только анонимные счетчики токенов. Текст запросов не записывается. Результаты инструментов, которые можно восстановить, лежат в памяти демона до пяти часов и исчезают при перезапуске.
GitHub Copilot прокси не поддерживает. Необязательная функция `sub` перенаправляет Claude Code через сторонний CLIProxyAPI, автор сам предупреждает, что это может противоречить условиям провайдера, и при включенном режиме подключения claude.ai перестают работать. Эту функцию карточка не описывает и не рекомендует. Лицензия MPL-2.0.
Как отключить. Выполните `llmtrim uninstall`: команда убирает приватный сертификат, переменные оболочки и службу входа. Если нужна лишь пауза, хватит `llmtrim stop`, а `llmtrim start` вернет прокси.
Частые вопросы
Как установить llmtrim?
Выполните `npm install -g @llmtrim/cli@latest && llmtrim setup`, откройте новый терминал и проверьте `llmtrim status`. Есть и другие пути: `brew install fkiene/tap/llmtrim`, `cargo binstall llmtrim`, `scoop install llmtrim`, установочные скрипты для Linux, macOS и Windows и образ Docker.
Безопасно ли это и что меняет setup?
Прокси работает как mitmproxy, но только для хостов LLM-провайдеров. Он создает приватный центр сертификации с ограничением имен, дописывает в оболочку `HTTPS_PROXY` и доверие к сертификату и ставит службу входа. Проверить ограничение можно командами `llmtrim ca` и `openssl x509 -in ~/.llmtrim/ca.pem -noout -text`.
Может ли сжатие сломать запрос или поднять счет?
По описанию автора нет. После каждой ступени токены перемеряются токенизатором провайдера, и если выигрыша нет, ступень отменяется. Запрос, отклоненный провайдером, отправляется заново в исходном виде, в худшем случае экономия нулевая.
Как подключить llmtrim как MCP-сервер?
Команда `llmtrim mcp install` настраивает Claude Code, а `llmtrim mcp install --print` выводит блок для любого клиента: `{"mcpServers": {"llmtrim": {"command": "llmtrim", "args": ["mcp"]}}}`. Инструменты сервера: `llmtrim_compress`, `llmtrim_compress_text` и `llmtrim_stats`.
Что делать, если после обновления что-то сломалось?
Выполните `llmtrim ensure`, чтобы привести установку к рекомендуемому состоянию, или `llmtrim doctor --fix` для диагностики и ремонта. Команда `llmtrim update` обновляет релиз и перезапускает демон.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыCLI запускает прокси к языковым моделям и отдельный сервис учета запросов для отладки приложений на нескольких провайдерах.
Token Optimizer
token-optimizer
Плагин для Claude Code и Codex: режет лишние токены, сохраняет работу между сессиями и сжатиями, показывает стоимость. Лицензия некоммерческая
Tokscale
tokscale
CLI с интерактивным TUI для учета расхода токенов и стоимости работы AI-кодинг-агентов: Claude Code, Codex, Copilot, Cursor и других
Локальный прокси между Claude Code и Anthropic: чинит сбои промпт-кэша, стабилизирует префикс запроса и показывает расход квоты в строке состояния
Показывает, что на самом деле уходит в API у Claude Code и Codex: перехватывает локальный трафик и раскладывает токены и деньги по источникам
Локальный прокси между ИИ-агентами и провайдерами моделей: считает стоимость каждого запуска и обрывает расход сверх лимита
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| llmtrim (эта карточка) | нет | 267 | |
| RTK | нет | 85 720 | CLI-прокси на Rust, сжимающий вывод git, тестов и других команд |
| Claude Token Optimizer — меньше токенов на старте | нет | 644 | утилита, считающая токены стартовой загрузки Claude Code и сокращающая ее |
Коротко о README
Автор заявляет по 112 живым сравнениям: на 31% меньше входных токенов, на 74% меньше выходных, около 5 мс на вызов и без загрузки модели. В документе есть пример сжатия журнала сборки с 4662 до 978 знаков, таблицы совместимости с клиентами и конфигурация режимов `auto` и `safe`. Дополнительно поставляются значок в системном трее и привязки для шести языков.