Разработка / Эксперимент

Отбор истории инструментов для coding-агента

Экспериментальное расширение Pi спрашивает Jev, какие вызовы инструментов нужно сохранить при уплотнении длинной сессии.

По делу

Что это решает

Экспериментальное расширение Pi использует Jev для отбора старых вызовов инструментов перед уплотнением длинной сессии. Оно не переписывает сообщения пользователя и обычный текст ассистента и не заменяет историю исходного JSONL-файла.

Результат для пользователя

Сокращать историю вызовов инструментов в сессии Pi

Что именно сокращается

Перед уплотнением расширение сопоставляет вызовы инструментов с их результатами. Для каждой старой пары задаются два Noul-вопроса, после чего код выбирает одно из действий: оставить, обрезать или убрать из компактного воспроизведения. Результат хранится в compaction.details; исходный журнал сессии остаётся на месте.

При восстановлении контекста сохранённый replay подставляется только если соответствие можно подтвердить. Иначе расширение не пытается угадать и отдаёт управление обычному механизму Pi.

Защиты и приватность

Новые установки выключены по умолчанию. При включении удаляются похожие на секреты фрагменты и ограничивается длина отправляемых сводок; полные тела результатов инструментов не передаются. В настройках также защищены последние сообщения, вызовы edit/write и ошибки.

Есть порог полезности, минимальная ожидаемая экономия и максимальный размер replay. При отсутствующем ключе, таймауте, некорректном ответе или слишком маленькой экономии расширение возвращается к штатному уплотнению Pi.

Когда это имеет смысл

Подход подходит тем, кто хочет сохранить проверяемую связь с исходными вызовами инструментов, а не получить непрозрачный пересказ всей беседы. Но это эксперимент: неверный порог может скрыть полезный старый результат, а оценка размера контекста сделана приближённо, не токенизатором конкретного провайдера.

Как попробовать самому

  1. 01Нужны Pi Coding Agent 0.85.1+, Node.js 22.19+ и ключ TypeSafe в переменной окружения.
  2. 02Установить расширение по README, прочитать его раздел о приватности и только затем явно задать enabled: true.
  3. 03Проверить /jev-status и сначала испытать его на неважной сессии с сохранённой исходной историей.
Инструкция и код автора

Ограничение этого проекта

Репозиторий прямо называет расширение экспериментальным. Не запускайте два пользовательских расширения уплотнения одновременно: порядок их обработчиков не определён.