snip CLI
CLI-прокси на Go: сжимает вывод git, тестов и сборки до того, как он попадет в контекст агента, фильтрами на YAML. Экономия токенов по оценке автора 60–90%
- 472 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Хук PreToolUse переписывает команды оболочки, которые запускает агент, и подменяет их вывод
- Фильтры из каталога проекта могут менять вывод, поэтому их нужно одобрять командой `snip trust`
- Установка выполняется скриптом `curl | sh`, а статистика экономии сохраняется в SQLite
Установка
- Работает в
Ручная установка
brew install edouard-claude/tap/snipРекомендуемый способ. Есть и скрипт `curl -fsSL https://raw.githubusercontent.com/edouard-claude/snip/master/install.sh | sh` для macOS и Linux.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Хук PreToolUse переписывает команды оболочки, которые запускает агент, и подменяет их вывод
- Фильтры из каталога проекта могут менять вывод, поэтому их нужно одобрять командой `snip trust`
- Установка выполняется скриптом `curl | sh`, а статистика экономии сохраняется в SQLite
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
snip стоит между кодинговым агентом и оболочкой и фильтрует вывод команд, прежде чем тот попадет в контекстное окно. Успешный `go test ./...` печатает сотни строк, которые модель никогда не читает. snip сводит их к строке «1125 passed, 0 failed». Команды `git log`, `git status` и `git diff` сжимаются так же. Если для команды нет фильтра, она проходит без изменений и без накладных расходов. Фильтры описываются декларативно, в файлах YAML без компиляции. Встроено 132 фильтра на около 100 команд: git, go, cargo, npm, yarn, pnpm, docker, kubectl, terraform, aws, gh и dotnet. Конвейер состоит из 20 действий. Свои фильтры кладут в `~/.config/snip/filters`, а фильтры из каталога проекта запускаются только после `snip trust`, который закрепляет SHA-256 каждого файла. К агентам snip подключается командой `snip init`. Для Claude Code и Codex это хук PreToolUse, который переписывает команду, для Cursor, Copilot и Antigravity свои хуки, для Gemini CLI, Windsurf, Cline и Kilo Code вставка инструкций в файл правил, для Aider псевдонимы оболочки. Отчет об экономии выводит `snip gain`, поиск пропущенных возможностей в истории Claude Code выполняет `snip discover`.
Для кого. Для разработчиков, которые много работают с Claude Code, Cursor или Codex и хотят тратить меньше токенов на многословный вывод тестов, git и сборки.
Подходит, если
- Агент гоняет `go test ./...` или `cargo test` по много раз, и каждый прогон забивает контекст сотнями строк
- Нужно сократить вывод `git log` и `git diff` до того, что агент действительно использует
- Вы хотите знать, сколько токенов сэкономлено за день, неделю и месяц: `snip gain --daily`
- Для внутренней утилиты команды нужен свой фильтр на YAML, а не форк инструмента
- Нужно подключить одну программу к нескольким агентам сразу: Claude Code, Cursor, Copilot и другим
Не подходит, если
- Нужен полный необработанный вывод: для этого есть `snip proxy -- команда`, но пока хук включен, агент по умолчанию получает сжатый вариант
- Агент работает с командами, для которых нет фильтров и вам не хочется писать свои
- Вам нужен инструмент на Rust: snip написан на Go, а его Rust-аналог описан отдельной записью
- На машине нет Go 1.25 или новее: для сборки из исходников он обязателен
Пример запроса к агенту
Подключи snip к Claude Code и покажи, сколько токенов он сэкономил за сегодняОграничения
Хук переписывает команды, которые выполняет агент, поэтому он видит и может изменять вывод всех подходящих команд оболочки. Для Gemini CLI, Windsurf, Cline и Kilo Code работа идет через вставку инструкций в файл правил, и она действует только пока агент следует правилам. Grok Build хук не умеет переписывать команду на месте, поэтому snip отклоняет подходящую команду и просит перезапустить ее через `snip run`. Для Pi нужно отдельно поставить расширение pi-hooks от сообщества. Установка через `curl | sh`. Цифры экономии в README измерены самим автором на его репозитории и одной сессии, у вас они будут другими. Фильтры вне `~/.config/snip/` игнорируются, пока их не одобрит `snip trust`.
Как отключить. Для Claude Code выполните `snip init --uninstall`, для других агентов добавьте `--agent имя`, например `snip init --agent cursor --uninstall`. Затем удалите бинарник: `brew uninstall snip`.
Частые вопросы
Как подключить snip к Claude Code?
Поставьте snip через Homebrew (`brew install edouard-claude/tap/snip`) или `go install github.com/edouard-claude/snip/cmd/snip@latest`, затем выполните `snip init`. Команда устанавливает хук PreToolUse, который прозрачно переписывает поддерживаемые команды: агент получает сжатый вывод так, будто его выдала сама команда.
С какими агентами работает snip?
Claude Code, Cursor, GitHub Copilot, Gemini CLI, Codex, Pi, Grok Build, Windsurf, Cline и Roo Code, Kilo Code, Antigravity, OpenCode, OpenClaw и Aider. Для каждого свой вариант `snip init --agent имя` или плагин, а для Aider псевдонимы оболочки.
Как написать свой фильтр?
Создайте файл YAML с полями name, match (команда и подкоманда) и конвейером действий и положите его в `~/.config/snip/filters`. В репозитории есть SKILL.md, который учит агента писать такие фильтры. Проверить встроенные тесты фильтров можно командой `snip verify`.
Как получить полный вывод без сжатия?
Командой `snip proxy -- ваша-команда`: она выполняет команду без фильтрации. Если для команды нет подходящего фильтра, она и так проходит без изменений.
Что показывает snip gain?
Отчет об экономии токенов: число отфильтрованных команд, сколько токенов сохранено, 14-дневный график и топ команд. Есть разбивки `--daily`, `--weekly`, `--monthly`, вывод в JSON и CSV, а `--quota` сравнивает экономию с лимитами подписки.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыИнструмент, который снижает расход токенов агента по трем осям: короче проза, меньше лишнего кода, сжатие вывода инструментов
Claude Token Optimizer — меньше токенов на старте
Claude Token Optimizer
Утилита cto считает токены, которые Claude Code загружает на старте сессии, и сокращает CLAUDE.md до короткой шпаргалки.
Одиннадцать скиллов для Claude Code и Codex: аудит тестов, очистка git worktree, страницы планов, расшифровка записей экрана и вход через 1Password
CLI-прокси на Rust, который сжимает вывод git, тестов и других команд, чтобы агент тратил меньше токенов на чтение терминала
Плагин для Claude Code: 39 команд для PR, ревью, коммитов и спецификаций, девять ролей экспертов и хуки, восемь языковых версий
agnix — линтер для CLAUDE.md, AGENTS.md, SKILL.md, хуков и MCP-конфигов: 702 правила, автофикс и редакторские расширения для VS Code и JetBrains
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| snip (эта запись) | нет | 472 | ||
| RTK | нет | 84 886 | похожий прокси для сжатия вывода команд, но написанный на Rust, а snip на Go с фильтрами в YAML | |
| Context Mode | нет | не нужна | 32 711 | MCP-сервер, который держит крупный вывод инструментов вне контекста и хранит память сессии |
Коротко о README
README начинается с заявки: прокси фильтрует вывод оболочки до контекстного окна агента. Дальше показан пример до и после на `go test`, схема работы и таблица экономии по командам. Затем идут способы установки, таблица поддерживаемых агентов с подробностями для каждого, справочник команд, список из 132 встроенных фильтров и 20 действий конвейера. В конце описаны собственные фильтры, доверие к ним и конфигурация.