Работая с Claude Code, огромная часть контекстного окна уходит на сырой вывод терминальных команд. git log на 200 строк, npm install с деревом зависимостей, cargo build с предупреждениями — всё это съедает токены, не принося пользы.
Решение — RTK (Rust Token Killer). Это CLI-прокси, который перехватывает команды и фильтрует их вывод перед тем, как он попадёт в контекст LLM.
Установка
На macOS через Homebrew:
brew install rtkАльтернативные способы: curl-скрипт (curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh) или cargo install --git https://github.com/rtk-ai/rtk, если есть Rust.
Инициализация
rtk init --globalКоманда создаёт три файла:
~/.claude/hooks/rtk-rewrite.sh— Bash-скрипт хука, перехватывает команды~/.claude/RTK.md— Справка для Claude о командах rtk~/.claude/CLAUDE.md— Добавлена ссылка@RTK.md
Настройка хука в settings.json
rtk init попросит пропатчить ~/.claude/settings.json. Если это не произошло автоматически, нужно вручную добавить блок PreToolUse внутри hooks:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/rtk-rewrite.sh"
}
]
}
]
}
}Что здесь что:
PreToolUse— хук срабатывает до выполнения инструмента"matcher": "Bash"— перехватываются только Bash-командыcommand— путь к скрипту-перехватчику
После правки перезапустите Claude Code.
Как работает перехват
На каждый Bash-вызов происходит следующее:
Примеры подмен:
git status → rtk git status
git log → rtk git log
npm install → rtk npm installПодмена прозрачная — ничего не нужно менять в привычках. Claude Code работает как обычно, просто вывод команд фильтруется и сжимается.
Что именно делает rtk с выводом
Когда выполняется rtk git status вместо git status, rtk:
- Запускает оригинальную команду
- Фильтрует вывод, убирая шум (пустые строки, повторы, нерелевантные данные)
- Отдаёт сжатый результат в контекст Claude
Экономия: 60–90% токенов на типичных командах (git log, npm install, cargo build и т.д.).
Мониторинг экономии
rtk gain # статистика экономии
rtk gain --history # история команд с экономией
rtk discover # анализ истории Claude Code — где можно было сэкономить
rtk --version # проверка версииТребования
- rtk >= 0.23.0
- jq — для парсинга JSON в хуке (обычно уже есть на macOS)
- Перезапуск Claude Code после настройки settings.json
Итог
Настройка занимает пару минут: brew install rtk, rtk init --global, одна правка в settings.json. Взамен — ощутимая экономия контекстного окна без каких-либо компромиссов в работе.
Репозиторий: github.com/rtk-ai/rtk