khoshov/integration

TypeScript

0

7 commits

updated Aug 16, 2026

See the code

README

Qwen Code CLI Token Optimization Integrations

Репозиторий содержит набор интеграций для радикального снижения расхода токенов и ускорения работы Qwen Code CLI. Каждая оптимизация вынесена в отдельную изолированную ветку, а также собрана в единую супер-сборку feat/all-integrations.


Сводная таблица оптимизаций и экономии токенов

ОптимизацияВетка GitОбласть действияОписание механизмаПримерная экономия
RTK (Rust Token Killer)feat/rtk-integrationShell Commands OutputАвтоматический рерайтинг и фильтрация вывода утилит (git, docker, npm, cargo, ls, grep) через предсобранный бинарник60% – 90% на выводе команд
Serena Litefeat/serena-outlineCode Reading & ExplorationГенерация структурного скелета кода (классы, методы, функции с номерами строк) вместо чтения файлов целиком70% – 95% при чтении файлов
Tool Detoxfeat/tool-detoxDynamic Tool Selection3-уровневый каскадный отбор инструментов (лексика + семантические кластеры + find_tools)10,000 – 30,000 токенов на запрос
MCPU (MCP Unified)feat/mcpu-integrationMCP Tool SchemasРекурсивная очистка JSON Schema параметров инструментов от мета-шума ($schema, title, additionalProperties: false, union-типы)50% – 80% на схемах инструментов
Headroomfeat/headroom-integrationContext History & KV-CacheСхлопывание повторяющихся строк логов, стектрейсов, Live Zone Protection (защита последних $N$ ходов) + Cache Aligner50% – 75% на истории + до 90% скидка на чтение кэша
Cavemanfeat/caveman-integrationModel Output & DescriptionsСистемный промпт Caveman Full (ответы без воды), семантическое сжатие описаний MCP (с сохранением must/required) + TOON JSON50% – 65% на ответах модели, 50% – 70% на JSON
All-in-Onefeat/all-integrationsВесь пайплайн LLMСинергетическое объединение всех 6 оптимизаций в едином билдеКомплексное снижение расхода токенов в 3–5 раз

Подробный разбор каждой интеграции

1. RTK (Rust Token Killer)

  • Ветка: feat/rtk-integration
  • Область: Вывод команд в терминале (Shell Output).
  • Примерная экономия: 60% – 90% токенов на выводе shell-команд.
  • Какую проблему решает: Стандартные CLI-утилиты (git status, git log, npm test, cargo build, docker ps) возвращают огромные объёмы интерактивных подсказок, длинных хэшей, прогресс-баров и форматированных таблиц, забивая контекстное окно агента.
  • Как устроено внутри:
    1. В packages/cli/bin/vendor/ упакованы скомпилированные бинарники rtk под darwin-arm64, darwin-x64, linux-arm64, linux-x64, win32-x64.
    2. Скрипт packages/cli/scripts/setup-rtk.js при установке (postinstall) автоматически выбирает нужный бинарник, копирует его в bin/rtk и выставляет права исполнения 0o755.
    3. Модуль packages/core/src/utils/rtk.ts перехватывает команды перед вызовом и выполняет rtk rewrite "<cmd>" с жестким таймаутом в 1000 мс (с безопасным fallback на исходную команду при любой ошибке).
    4. Врезка в packages/core/src/tools/shell.ts прозрачно оптимизирует как интерактивные, так и фоновые процессы.

2. Serena Lite (Code Skeleton & Outline Reader)

  • Ветка: feat/serena-outline
  • Область: Чтение и исследование кодовой базы (Code Reading).
  • Примерная экономия: 70% – 95% токенов при исследовании структуры файлов.
  • Какую проблему решает: Когда модели нужно понять архитектуру файла на 1000–3000 строк или найти нужную функцию, стандартный read_file загружает весь файл целиком (десятки тысяч токенов).
  • Как устроено внутри:
    1. Модуль packages/core/src/core/serena/outline.ts извлекает только декларации верхнего уровня: классы, интерфейсы, типы, enum'ы, функции, методы с точными номерами строк (L142: async processPayment(...)).
    2. В packages/core/src/tools/read-file.ts добавлен параметр outline: true. При его активации модель получает компактный скелет (например, 40 строк вместо 4300 в client.ts), а затем точечно читает нужный фрагмент через offset и limit.
    3. Поддерживает TypeScript, JavaScript, Python, Go, Rust, Java, C/C++.

3. Tool Detox (3-Tier Cascaded Tool Pruning)

  • Ветка: feat/tool-detox
  • Область: Фильтрация списка инструментов перед запросом к LLM.
  • Примерная экономия: 10 000 – 30 000 входных токенов на каждом шаге диалога.
  • Какую проблему решает: Когда у пользователя подключено 3–5 MCP-серверов, общее число инструментов достигает 50–100 штук. Передавать схемы всех инструментов (например, GitHub, Slack, S3, Docker, Playwright, Postgres) при каждом простом запросе вроде "запусти тесты" — колоссальная трата токенов.
  • Как устроено внутри:
    1. Tier 1 (Fast Lexical Match, 0 мс): Мгновенное прямое сопоставление ключевых слов в запросе с именами и параметрами инструментов.
    2. Tier 2 (Semantic Domain Expansion): Семантические кластеры синонимов (базы данных, логи/мониторинг/сбои, браузеры, облака, VCS, уведомления). Понимает сленг («почему прод пятисотит»sentry, datadog).
    3. Tier 3 (Agentic Fallback find_tools): В контекст передается мета-инструмент find_tools, позволяющий модели на лету подгрузить любой специфичный инструмент.
    4. Core Tools Protection: Инструменты ядра (shell, read_file, write_file, edit, grep, glob, ask_user_question, agent, skill) защищены на 100% и передаются всегда.

4. MCPU (MCP Unified Schema Compression)

  • Ветка: feat/mcpu-integration
  • Область: Описания параметров инструментов MCP (JSON Schema).
  • Примерная экономия: 50% – 80% токенов на определениях всех инструментов.
  • Какую проблему решает: При подключении нескольких MCP-серверов (например, playwright, memory, postgres, github) Qwen Code передаёт полные многословные JSON Schema в системный промпт на каждом шаге диалога, тратя десятки килобайт на синтаксический шум.
  • Как устроено внутри:
    1. Модуль packages/core/src/mcp/mcpu/schema-compressor.ts рекурсивно очищает схемы:
      • Удаляет не влияющие на валидацию поля: $schema, $id, x-meta, title (если дублирует имя поля), $comment.
      • Схлопывает additionalProperties: false (модели по умолчанию используют закрытые структуры аргументов).
      • Преобразует избыточные anyOf: [{type: 'string'}, {type: 'null'}] в компактный type: ['string', 'null'].
      • Удаляет пустые массивы required: [] и пустые объекты свойств.
    2. Врезка в packages/core/src/tools/mcp-client.ts: при регистрации инструментов от любого MCP-сервера схема параметров funcDecl.parametersJsonSchema автоматически пропускается через compressJsonSchema().

5. Headroom (Context Crusher & Cache Aligner)

  • Ветка: feat/headroom-integration
  • Область: История сообщений диалога (Context History) и попадание в KV-кэш провайдера.
  • Примерная экономия: 50% – 75% токенов на старых ходах + до 90% скидка на чтение кэша.
  • Какую проблему решает: В долгих сессиях в истории накапливаются гигантские результаты предыдущих шагов (повторяющиеся логи опроса статуса, стектрейсы ошибок из десятков строк), а малейшие колебания в форматировании системного промпта сбрасывают дорогостоящий KV-кэш провайдеров (Anthropic, OpenAI, Gemini).
  • Как устроено внутри:
    1. Context Crusher (context-crusher.ts):
      • Log Deduplication: Схлопывает одинаковые повторяющиеся строки (line\n [... repeated N more times]).
      • Stack Trace Trimming: Сокращает стектрейсы до 5 ключевых фреймов, заменяя промежуточный шум на заглушку.
      • Live Zone Protection: Защищает последние $N$ ходов диалога (liveZoneTurns = 3), сохраняя их в 100% полном виде для точности текущей задачи. Сжатие применяется только к старым ходам.
    2. Cache Aligner (cache-aligner.ts):
      • Нормализует переводы строк (\r\n\n), удаляет пробелы на концах строк (trimEnd), строго упорядочивает статичный префикс промпта, гарантируя максимальный Cache Hit Rate.

6. Caveman (Full Brevity, Semantic Descriptions & TOON JSON)

  • Ветка: feat/caveman-integration
  • Область: Исходящие ответы модели (Output) + Описания MCP инструментов + Табличный JSON.
  • Примерная экономия: 50% – 65% токенов на ответах модели, 50% – 70% на JSON-массивах.
  • Какую проблему решает: Модели тратят много токенов на вежливые вступления, пересказы планов и воду. Описания инструментов часто перегружены длинными вводными абзацами. Массивы JSON дублируют ключи в каждой записи.
  • Как устроено внутри:
    1. Системный промпт Caveman Full (prompts.ts):
      • Вшит в ядро сборки системного промпта.
      • Запрещает «воду», вежливости и повторение шагов.
      • Strict Invariants: Код, шелл-команды, имена функций, пути файлов и тексты ошибок не сокращаются и остаются 100% точными.
      • Формула ответа: [суть] [действие] [причина]. [следующий шаг].
    2. Семантическое сжатие описаний (description-compressor.ts):
      • Оставляет первое предложение (лид до 80 символов).
      • Анализирует текст и всегда сохраняет все предложения с техническими ограничениями (содержащие маркеры must, required, cannot, format, range, min/max, ISO, RFC, case-sensitive).
      • Отсекает до 75% лишнего описательного текста.
    3. TOON JSON Compressor (toon-compressor.ts):
      • Преобразует массивы JSON-объектов в компактный табличный формат:
        [id,name,role]: 1,alice,admin; 2,bob,user; 3,charlie,guest
        

7. Объединённая супер-сборка (feat/all-integrations)

  • Ветка: feat/all-integrations
  • Все 6 механизмов работают одновременно в рамках единого сквозного конвейера:
    1. System Prompt & Cache Aligner (Headroom + Caveman) ➔ Стабилизация и максимальный KV-Cache Hit.
    2. Tool Detox (3-Tier Pruner) ➔ Отсечение нерелевантных инструментов (минус 10k–30k токенов).
    3. MCP Tool Registry (MCPU Schema + Caveman Description) ➔ Сжатие определений оставшихся инструментов на 75%.
    4. Serena Lite (Code Skeleton & Outline) ➔ Сжатие при чтении файлов на 70–95%.
    5. Shell Execution (RTK Rewrite) ➔ Сжатие вывода команд на 80%.
    6. Context History (Headroom Crusher + Live Zone) ➔ Сжатие старой истории на 60%.
    7. LLM Generation (Caveman Full Mode) ➔ Сжатие исходящих ответов на 60%.

Навигация по веткам Git

Переключение на нужную ветку:

# Исходный код всех проектов
git checkout main

# Только оптимизация shell-команд (RTK)
git checkout feat/rtk-integration

# Только скелетонизация кода (Serena Lite)
git checkout feat/serena-outline

# Только динамический отбор инструментов (Tool Detox)
git checkout feat/tool-detox

# Только сжатие схем MCP-инструментов (MCPU)
git checkout feat/mcpu-integration

# Только сжатие истории и кэш-алайнмент (Headroom)
git checkout feat/headroom-integration

# Только Caveman (ответы, семантика описаний, TOON)
git checkout feat/caveman-integration

# Все 6 оптимизаций вместе
git checkout feat/all-integrations

Contributors

khoshov

7 commits

khoshov/integration

TypeScript

0

7 commits

updated Aug 16, 2026

See the code

README

Qwen Code CLI Token Optimization Integrations

Репозиторий содержит набор интеграций для радикального снижения расхода токенов и ускорения работы Qwen Code CLI. Каждая оптимизация вынесена в отдельную изолированную ветку, а также собрана в единую супер-сборку feat/all-integrations.


Сводная таблица оптимизаций и экономии токенов

ОптимизацияВетка GitОбласть действияОписание механизмаПримерная экономия
RTK (Rust Token Killer)feat/rtk-integrationShell Commands OutputАвтоматический рерайтинг и фильтрация вывода утилит (git, docker, npm, cargo, ls, grep) через предсобранный бинарник60% – 90% на выводе команд
Serena Litefeat/serena-outlineCode Reading & ExplorationГенерация структурного скелета кода (классы, методы, функции с номерами строк) вместо чтения файлов целиком70% – 95% при чтении файлов
Tool Detoxfeat/tool-detoxDynamic Tool Selection3-уровневый каскадный отбор инструментов (лексика + семантические кластеры + find_tools)10,000 – 30,000 токенов на запрос
MCPU (MCP Unified)feat/mcpu-integrationMCP Tool SchemasРекурсивная очистка JSON Schema параметров инструментов от мета-шума ($schema, title, additionalProperties: false, union-типы)50% – 80% на схемах инструментов
Headroomfeat/headroom-integrationContext History & KV-CacheСхлопывание повторяющихся строк логов, стектрейсов, Live Zone Protection (защита последних $N$ ходов) + Cache Aligner50% – 75% на истории + до 90% скидка на чтение кэша
Cavemanfeat/caveman-integrationModel Output & DescriptionsСистемный промпт Caveman Full (ответы без воды), семантическое сжатие описаний MCP (с сохранением must/required) + TOON JSON50% – 65% на ответах модели, 50% – 70% на JSON
All-in-Onefeat/all-integrationsВесь пайплайн LLMСинергетическое объединение всех 6 оптимизаций в едином билдеКомплексное снижение расхода токенов в 3–5 раз

Подробный разбор каждой интеграции

1. RTK (Rust Token Killer)

  • Ветка: feat/rtk-integration
  • Область: Вывод команд в терминале (Shell Output).
  • Примерная экономия: 60% – 90% токенов на выводе shell-команд.
  • Какую проблему решает: Стандартные CLI-утилиты (git status, git log, npm test, cargo build, docker ps) возвращают огромные объёмы интерактивных подсказок, длинных хэшей, прогресс-баров и форматированных таблиц, забивая контекстное окно агента.
  • Как устроено внутри:
    1. В packages/cli/bin/vendor/ упакованы скомпилированные бинарники rtk под darwin-arm64, darwin-x64, linux-arm64, linux-x64, win32-x64.
    2. Скрипт packages/cli/scripts/setup-rtk.js при установке (postinstall) автоматически выбирает нужный бинарник, копирует его в bin/rtk и выставляет права исполнения 0o755.
    3. Модуль packages/core/src/utils/rtk.ts перехватывает команды перед вызовом и выполняет rtk rewrite "<cmd>" с жестким таймаутом в 1000 мс (с безопасным fallback на исходную команду при любой ошибке).
    4. Врезка в packages/core/src/tools/shell.ts прозрачно оптимизирует как интерактивные, так и фоновые процессы.

2. Serena Lite (Code Skeleton & Outline Reader)

  • Ветка: feat/serena-outline
  • Область: Чтение и исследование кодовой базы (Code Reading).
  • Примерная экономия: 70% – 95% токенов при исследовании структуры файлов.
  • Какую проблему решает: Когда модели нужно понять архитектуру файла на 1000–3000 строк или найти нужную функцию, стандартный read_file загружает весь файл целиком (десятки тысяч токенов).
  • Как устроено внутри:
    1. Модуль packages/core/src/core/serena/outline.ts извлекает только декларации верхнего уровня: классы, интерфейсы, типы, enum'ы, функции, методы с точными номерами строк (L142: async processPayment(...)).
    2. В packages/core/src/tools/read-file.ts добавлен параметр outline: true. При его активации модель получает компактный скелет (например, 40 строк вместо 4300 в client.ts), а затем точечно читает нужный фрагмент через offset и limit.
    3. Поддерживает TypeScript, JavaScript, Python, Go, Rust, Java, C/C++.

3. Tool Detox (3-Tier Cascaded Tool Pruning)

  • Ветка: feat/tool-detox
  • Область: Фильтрация списка инструментов перед запросом к LLM.
  • Примерная экономия: 10 000 – 30 000 входных токенов на каждом шаге диалога.
  • Какую проблему решает: Когда у пользователя подключено 3–5 MCP-серверов, общее число инструментов достигает 50–100 штук. Передавать схемы всех инструментов (например, GitHub, Slack, S3, Docker, Playwright, Postgres) при каждом простом запросе вроде "запусти тесты" — колоссальная трата токенов.
  • Как устроено внутри:
    1. Tier 1 (Fast Lexical Match, 0 мс): Мгновенное прямое сопоставление ключевых слов в запросе с именами и параметрами инструментов.
    2. Tier 2 (Semantic Domain Expansion): Семантические кластеры синонимов (базы данных, логи/мониторинг/сбои, браузеры, облака, VCS, уведомления). Понимает сленг («почему прод пятисотит»sentry, datadog).
    3. Tier 3 (Agentic Fallback find_tools): В контекст передается мета-инструмент find_tools, позволяющий модели на лету подгрузить любой специфичный инструмент.
    4. Core Tools Protection: Инструменты ядра (shell, read_file, write_file, edit, grep, glob, ask_user_question, agent, skill) защищены на 100% и передаются всегда.

4. MCPU (MCP Unified Schema Compression)

  • Ветка: feat/mcpu-integration
  • Область: Описания параметров инструментов MCP (JSON Schema).
  • Примерная экономия: 50% – 80% токенов на определениях всех инструментов.
  • Какую проблему решает: При подключении нескольких MCP-серверов (например, playwright, memory, postgres, github) Qwen Code передаёт полные многословные JSON Schema в системный промпт на каждом шаге диалога, тратя десятки килобайт на синтаксический шум.
  • Как устроено внутри:
    1. Модуль packages/core/src/mcp/mcpu/schema-compressor.ts рекурсивно очищает схемы:
      • Удаляет не влияющие на валидацию поля: $schema, $id, x-meta, title (если дублирует имя поля), $comment.
      • Схлопывает additionalProperties: false (модели по умолчанию используют закрытые структуры аргументов).
      • Преобразует избыточные anyOf: [{type: 'string'}, {type: 'null'}] в компактный type: ['string', 'null'].
      • Удаляет пустые массивы required: [] и пустые объекты свойств.
    2. Врезка в packages/core/src/tools/mcp-client.ts: при регистрации инструментов от любого MCP-сервера схема параметров funcDecl.parametersJsonSchema автоматически пропускается через compressJsonSchema().

5. Headroom (Context Crusher & Cache Aligner)

  • Ветка: feat/headroom-integration
  • Область: История сообщений диалога (Context History) и попадание в KV-кэш провайдера.
  • Примерная экономия: 50% – 75% токенов на старых ходах + до 90% скидка на чтение кэша.
  • Какую проблему решает: В долгих сессиях в истории накапливаются гигантские результаты предыдущих шагов (повторяющиеся логи опроса статуса, стектрейсы ошибок из десятков строк), а малейшие колебания в форматировании системного промпта сбрасывают дорогостоящий KV-кэш провайдеров (Anthropic, OpenAI, Gemini).
  • Как устроено внутри:
    1. Context Crusher (context-crusher.ts):
      • Log Deduplication: Схлопывает одинаковые повторяющиеся строки (line\n [... repeated N more times]).
      • Stack Trace Trimming: Сокращает стектрейсы до 5 ключевых фреймов, заменяя промежуточный шум на заглушку.
      • Live Zone Protection: Защищает последние $N$ ходов диалога (liveZoneTurns = 3), сохраняя их в 100% полном виде для точности текущей задачи. Сжатие применяется только к старым ходам.
    2. Cache Aligner (cache-aligner.ts):
      • Нормализует переводы строк (\r\n\n), удаляет пробелы на концах строк (trimEnd), строго упорядочивает статичный префикс промпта, гарантируя максимальный Cache Hit Rate.

6. Caveman (Full Brevity, Semantic Descriptions & TOON JSON)

  • Ветка: feat/caveman-integration
  • Область: Исходящие ответы модели (Output) + Описания MCP инструментов + Табличный JSON.
  • Примерная экономия: 50% – 65% токенов на ответах модели, 50% – 70% на JSON-массивах.
  • Какую проблему решает: Модели тратят много токенов на вежливые вступления, пересказы планов и воду. Описания инструментов часто перегружены длинными вводными абзацами. Массивы JSON дублируют ключи в каждой записи.
  • Как устроено внутри:
    1. Системный промпт Caveman Full (prompts.ts):
      • Вшит в ядро сборки системного промпта.
      • Запрещает «воду», вежливости и повторение шагов.
      • Strict Invariants: Код, шелл-команды, имена функций, пути файлов и тексты ошибок не сокращаются и остаются 100% точными.
      • Формула ответа: [суть] [действие] [причина]. [следующий шаг].
    2. Семантическое сжатие описаний (description-compressor.ts):
      • Оставляет первое предложение (лид до 80 символов).
      • Анализирует текст и всегда сохраняет все предложения с техническими ограничениями (содержащие маркеры must, required, cannot, format, range, min/max, ISO, RFC, case-sensitive).
      • Отсекает до 75% лишнего описательного текста.
    3. TOON JSON Compressor (toon-compressor.ts):
      • Преобразует массивы JSON-объектов в компактный табличный формат:
        [id,name,role]: 1,alice,admin; 2,bob,user; 3,charlie,guest
        

7. Объединённая супер-сборка (feat/all-integrations)

  • Ветка: feat/all-integrations
  • Все 6 механизмов работают одновременно в рамках единого сквозного конвейера:
    1. System Prompt & Cache Aligner (Headroom + Caveman) ➔ Стабилизация и максимальный KV-Cache Hit.
    2. Tool Detox (3-Tier Pruner) ➔ Отсечение нерелевантных инструментов (минус 10k–30k токенов).
    3. MCP Tool Registry (MCPU Schema + Caveman Description) ➔ Сжатие определений оставшихся инструментов на 75%.
    4. Serena Lite (Code Skeleton & Outline) ➔ Сжатие при чтении файлов на 70–95%.
    5. Shell Execution (RTK Rewrite) ➔ Сжатие вывода команд на 80%.
    6. Context History (Headroom Crusher + Live Zone) ➔ Сжатие старой истории на 60%.
    7. LLM Generation (Caveman Full Mode) ➔ Сжатие исходящих ответов на 60%.

Навигация по веткам Git

Переключение на нужную ветку:

# Исходный код всех проектов
git checkout main

# Только оптимизация shell-команд (RTK)
git checkout feat/rtk-integration

# Только скелетонизация кода (Serena Lite)
git checkout feat/serena-outline

# Только динамический отбор инструментов (Tool Detox)
git checkout feat/tool-detox

# Только сжатие схем MCP-инструментов (MCPU)
git checkout feat/mcpu-integration

# Только сжатие истории и кэш-алайнмент (Headroom)
git checkout feat/headroom-integration

# Только Caveman (ответы, семантика описаний, TOON)
git checkout feat/caveman-integration

# Все 6 оптимизаций вместе
git checkout feat/all-integrations

Contributors

khoshov

7 commits

Languages

TypeScript

62.8%

Python

13.5%

Rust

9.9%

JavaScript

5.9%

Go

2.9%

C

2.8%