Плагіни

From docs/uk/plugins.md at cc732c3 View on GitHub

Кожен метод скорочення токенів у rtok — це плагін за одним трейтом. Плагіни — це вбудовані модулі за Cargo features: жодного демона, жодних підпроцесів, жодного WASM у v0.1.

Стовпець замінює — це ціль специфікації, а не залежність: rtok заново реалізує поведінку з нуля й ніколи не запускає, не лінкує й не читає названий інструмент.

ПлагінЗамінює (лише специфікація)Інтерфейс
measurertk gain, headroom savings, lean-ctx gainstats, bench, проксі
cmdrtk hook, ctx_shell, bash_compressPreToolUse(Bash) → rtok run
readlean-ctx read/search/tree, read_cacheMCP read
json_tree—proxy, MCP
archiveCCRexpand, сховище
proxycaveman-proxyANTHROPIC_BASE_URL, OPENAI_BASE_URL
injectcaveman/ponytail, lean-ctxSessionStart, UserPromptSubmit
guard—PreToolUse
memoryclaude-memMCP, PreCompact
graphcodebase-memory-mcpMCP
toon—MCP

Вимкнення плагінів

Під час виконання, у ~/.rtok/config.toml:

[plugins.cmd]
enabled = false

Або під час збирання, щоб код узагалі не компілювався:

cargo build --no-default-features --features cmd,read

Каталог кожного плагіна

ФайлМістить
README.mdщо робить плагін і навіщо — на нього посилається таблиця вище
AGENTS.mdінваріанти й правила задач для того, хто з ним працює
PLAN.mdвласний план збирання плагіна

Як написати власний: створення плагінів.

Формат експорту графа

rtok graph export і MCP-інструмент graph_export видають один JSON-документ, "schema": "rtok.graph.v1", описаний файлом docs/schemas/rtok.graph.v1.schema.json (він генерується з типів Rust і перевіряється тестом). Ключі верхнього рівня:

КлючМістить
projectsid, name, root, origin, backend (tags, lsp або text), health (ok, stale, not indexed, missing), indexed_at
linksfrom, to, kind (manual або auto), reason, references (посилання-виклики з from у to)
nodesid, project, kind, name, path (відносно проєкту), line; порожній на рівні overview
edgesfrom, to (id вузлів), kind
metascope, level (overview, symbols або focus), focus, depth, exported_at, rtok_version, redacted, partial, notes

Абсолютні шляхи, домашній каталог і ім'я користувача приховуються, якщо не вказано --no-redact (graph_export приховує завжди); вихідний текст не включається ніколи, імена файлів і символів включаються. Виклик, чия назва має більше восьми визначень, ребра не малює. --from FILE показує збережений експорт, не читаючи й не змінюючи реєстр та індекс.

Картинки

rtok graph export --format svg малює той самий експорт картинкою, а --format png растеризує цю картинку (потрібен -o FILE, --scale від 1 до 4 — кратність розміру SVG). Картинка залежить лише від експорту, тож --from FILE малює збережений експорт точно так, як живу область. Проєкти — панелі, символи — крапки на спіралі (найзв'язаніші в центрі; коло — функція, квадрат — тип, ромб — модуль), суцільна стрілка — виклик усередині проєкту, пунктирна — виклик між проєктами, товста лінія — зв'язок проєктів. Малюється не більше 200 вузлів; підвал каже, скільки приховано, а JSON завжди містить усі. У підвалі також проєкти з бекендом і indexed_at, область, версія rtok, час експорту та, якщо проєкт не зміг відповісти, позначка PARTIAL. Для PNG на машині потрібен шрифт; без нього команда так і скаже, а не намалює картинку без тексту. MCP graph_export лишається JSON.

На сторінці Graph

На сторінці Graph є кнопка Export і вибір файлу «open an export». Кнопка відкриває панель, де сказано, що до файлу потрапляють імена файлів і символів (вихідний текст ніколи) і що домашній каталог, ім'я користувача та абсолютні шляхи замінено; далі можна вибрати огляд, граф символів відкритого проєкту і, якщо вибрано функцію, підграф навколо неї, у форматі JSON, SVG або PNG. Файл пише сервер тією самою функцією, що викликає rtok graph export, тому JSON збігається з виводом CLI байт у байт, окрім exported_at; сторінка лише зберігає його. Картинки живого кадру в цьому меню немає. Вибір файлу надсилає збережений JSON-експорт серверу текстом; сервер перевіряє його як export::read і повертає: сторінка показує його лише для читання під написом «viewing export from FILE» і нічого не пише в реєстр та індекс. У rtok tui ті самі дії з'являться в T329.41.