June 12

Краткий обзор RTK

Недавно нашёл ещё один полезный инструмент для использования в opencodeRTK (Rust Token Killer).

Устанавливается одной командой, встраивается через hook и автоматом сжимает вывод команд перед тем, как он попадёт в контекст нейросети.

Как это работает

RTK перехватывает команды и применяет к ним четыре стратегии:

  1. фильтрацию шума
  2. группировку похожих элементов
  3. обрезку лишнего
  4. дедупликацию повторяющихся строк.

В результате модель получает ровно ту же информацию, но в 3–10 раз меньше токенов.

Примеры

git status

Без RTK (~67 токенов):

On branch main
Your branch is up to date with 'origin/main'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	.serena/
	docs/
nothing added to commit but untracked files present

С RTK (~12 токенов):

* main...origin/main
?? .serena/
?? docs/

Шесть строк превратились в три — при этом полезная информация не потерялась.

git diff

Без RTK (~200 токенов):

diff --git a/Shared SwiftUI Content/100_ScenePhaseExample.swift b/Shared SwiftUI Content/100_ScenePhaseExample.swift
index 3a4b5c6d..7e8f9a0b 100644
--- a/Shared SwiftUI Content/100_ScenePhaseExample.swift
+++ b/Shared SwiftUI Content/100_ScenePhaseExample.swift
@@ -10,6 +10,7 @@ struct ScenePhaseExample: View {
     @State private var isActive = false
     var body: some View {
+        // MARK: - Main Content
         VStack(spacing: 20) {
             Text(isActive ? "Active" : "Inactive")
                 .font(.largeTitle)

С RTK (~40 токенов):

100_ScenePhaseExample.swift: +1
  + // MARK: - Main Content

RTK показывает только имя файла, количество изменённых строк и сами добавленные/удалённые строки — без служебной информации diff (индексы, заголовки патчей, контекстные строки).

Установка и настройка

С помощью homebrew:

brew install rtk

После установки нужно инициализировать hook для вашего рабочего инструмента:

rtk init -g                     # Claude Code / Copilot (по умолчанию)
rtk init -g --gemini            # Gemini CLI
rtk init -g --codex             # Codex (OpenAI)
rtk init -g --agent cursor      # Cursor
rtk init -g --agent windsurf    # Windsurf
rtk init -g --opencode          # opencode

После настройки для opencode в ~/.config/opencode/plugins/ появится файл rtk.ts, который автоматически будет перехватывать вызовы Bash-инструмента и переписывать команды через RTK.

Заключение

RTK — это один из тех инструментов, которые ставишь один раз и сразу получаешь профит. Буквально за пару минут получаем экономию токенов, которая особенно заметна на длинных сессиях при работе с агентом 👍