snip CLI

CLI-прокси на Go: сжимает вывод git, тестов и сборки до того, как он попадет в контекст агента, фильтрами на YAML. Экономия токенов по оценке автора 60–90%

  • 472 ★ репозитория
  • Последний коммит
  • MIT
CLI

Широкий доступ

Почему такой уровень

  • Хук PreToolUse переписывает команды оболочки, которые запускает агент, и подменяет их вывод
  • Фильтры из каталога проекта могут менять вывод, поэтому их нужно одобрять командой `snip trust`
  • Установка выполняется скриптом `curl | sh`, а статистика экономии сохраняется в SQLite
Все причины и проверки

edouard-claude/snip

Установка

Ручная установка

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Расширенный доступ724Звезды репозитория

Утилита cto считает токены, которые Claude Code загружает на старте сессии, и сокращает CLAUDE.md до короткой шпаргалки.

CLIРасширенный доступ636Звезды репозитория

Одиннадцать скиллов для Claude Code и Codex: аудит тестов, очистка git worktree, страницы планов, расшифровка записей экрана и вход через 1Password

СкиллШирокий доступ1,2 тыс.Звезды репозитория

CLI-прокси на Rust, который сжимает вывод git, тестов и других команд, чтобы агент тратил меньше токенов на чтение терминала

CLIРасширенный доступ84,9 тыс.Звезды репозитория

Плагин для Claude Code: 39 команд для PR, ревью, коммитов и спецификаций, девять ролей экспертов и хуки, восемь языковых версий

ПлагинШирокий доступ1,1 тыс.Звезды репозитория
Официальный

agnix — линтер для CLAUDE.md, AGENTS.md, SKILL.md, хуков и MCP-конфигов: 702 правила, автофикс и редакторские расширения для VS Code и JetBrains

CLIМинимальный доступ462Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
snip (эта запись)нет472
RTKнет84 886похожий прокси для сжатия вывода команд, но написанный на Rust, а snip на Go с фильтрами в YAML
Context Modeнетне нужна32 711MCP-сервер, который держит крупный вывод инструментов вне контекста и хранит память сессии

Коротко о README

README начинается с заявки: прокси фильтрует вывод оболочки до контекстного окна агента. Дальше показан пример до и после на `go test`, схема работы и таблица экономии по командам. Затем идут способы установки, таблица поддерживаемых агентов с подробностями для каждого, справочник команд, список из 132 встроенных фильтров и 20 действий конвейера. В конце описаны собственные фильтры, доверие к ним и конфигурация.

Бейдж для README

Сообщить о проблеме

Foxx AIsnip
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.