Начало работы с rtok

From docs/ru/getting-started.md at cc732c3 View on GitHub

rtok уменьшает контекст, который вынуждены нести ИИ-агенты для программирования. Один бинарник на Rust, три интерфейса: хуки Claude Code, MCP-сервер и API-прокси. Каждое сокращение измеряется; укороченные данные остаются доступными по id.

Установка

Для macOS (Apple silicon) и Linux x86-64 есть готовые бинарники. Установщик написан на POSIX sh и кладёт rtok (а также rtok-update) в ~/.cargo/bin.

curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/pyrlyn/rtok/releases/latest/download/rtok-installer.sh | sh

Или через ketch, из тех же архивов релиза:

ketch install pyrlyn/rtok

Хуки сначала пробуют быстрый клиент rtok-hook. Когда менеджер пакетов подключает в PATH только rtok, команды rtok mcp, rtok hook --serve и rtok agents install создают ссылку на rtok-hook рядом с ним, в том же каталоге из PATH (unix, по возможности; существующий чужой файл остаётся нетронутым).

Из исходников (тулчейн закреплён в mise.toml):

git clone https://github.com/pyrlyn/rtok && cd rtok
mise install
mise exec -- cargo install --path .
rtok --version

Первый запуск

rtok config init      # пишет ~/.rtok/config.toml
rtok plugins          # id, включён ли, интерфейсы
rtok doctor           # проверить хуки, MCP-серверы, цепочку прокси

rtok doctor стоит запустить до того, как вы что-либо установите: он оценивает стоимость хуков и MCP-серверов, которые у вас уже есть, включая токены описаний, повторно отправляемые на каждом ходу.

Подкоманда, чей плагин исключён при компиляции, печатает not implemented и завершается с кодом 0, поэтому урезанный или наполовину установленный rtok никогда не блокирует агента-хост.

Подключение к Claude Code

rtok agents install claude --dry-run
rtok agents install claude
rtok agents uninstall claude

--dry-run печатает записи хуков и ничего не трогает. Установка делает резервную копию каждого файла, который она записывает. Другие хосты (cursor, codex, opencode, …) описаны в корневом README.

Четыре инварианта

  1. Fail open. Хук завершается с кодом 0 за ≤ 10 мс даже при ошибке, с неизменённым вводом.
  2. Без потерь по умолчанию. Всё сокращённое можно получить обратно через rtok expand <id>.
  3. Экономии, которая не является строкой Measurement, не существует.
  4. Внедрённый контекст укладывается в бюджет и стабилен побайтно, поэтому он никогда не сбрасывает кеш промпта.

Где что лежит

~/.rtok/config.toml     конфигурация (`RTOK_HOME` переопределяет каталог)
~/.rtok/rtok.db         SQLite — измерения, индекс архива, память
~/.rtok/archive/        сырые данные, адресуемые по id для expand
<git root>/.rtok.toml   необязательные переопределения для проекта

Оговорки

  • Количество токенов в rtok stats — это оценки (см. src/tokens.rs) плюс реальные строки usage от прокси. Реальный счёт — только строки прокси.
  • Закоммиченный A/B-бенчмарк запускался только офлайн, поэтому он показывает нули для обеих конфигураций. Перезапустите его на живом трафике, прежде чем принимать конфигурацию на веру.

Дальше

  • batch-flex.md — Batch / Flex / маршрутизация в прокси (pass-through и переписывание)
  • config.md — полный справочник ключей и приоритеты
  • comparison.md — сравнение с инструментами, которые заменяет rtok (и где он отстаёт)
  • otel.md — экспорт журнала через OTLP
  • plugin-authoring.md — внешние плагины
  • agents.md — матрица «хост × модуль»