История версий DCP
В этом документе представлена полная история обновлений плагина OpenCode Dynamic Context Pruning (DCP).
[v1.2.7] - 2026-01-22
Новые возможности
- ✨ Отображение количества токенов извлечённого контента (в уведомлении о сокращении)
- 🛡️ Улучшенная защита от внедрения контекста (добавлена проверка массива)
- 📝 Оптимизация: инъекция контекста как сообщения пользователя, когда последнее сообщение — от пользователя
- ⚙️ Упрощённая конфигурация по умолчанию (только URL схемы)
[v1.2.6] - 2026-01-21
Новые возможности
- ✨ Добавлена команда
/dcp sweepдля ручного сокращения контекста
Подробности команды
/dcp sweep— сокращает все инструменты после последнего сообщения пользователя/dcp sweep N— сокращает последние N инструментов
[v1.2.5] - 2026-01-20
Новые возможности
- ✨ Отображение количества инструментов в команде
/dcp context - ✨ Улучшенный UI команды
/dcp context:- Отображение количества сокращённых инструментов
- Улучшенная точность индикатора прогресса
Оптимизация производительности
- 🚀 Оптимизирован расчёт токенов в команде контекста
[v1.2.4] - 2026-01-20
Новые возможности
- ✨ Унификация команд DCP в единую команду
/dcp(структура подкоманд):/dcp— отображение справки/dcp context— анализ контекста/dcp stats— статистика
- ✨ Добавлен раздел конфигурации
commands:- Возможность включать/отключать slash-команды
- Поддержка настройки списка защищённых инструментов
Улучшения
- 📝 Упрощённый UI команды контекста
- 📝 Обновление документации: уточнён механизм инъекции инструмента context_info
Исправления
- 🐛 Исправлена обработка ошибок инструмента сокращения (выброс ошибки вместо возврата строки)
Документация
- 📚 Добавлена статистика коэффициента попадания в кэш в README
[v1.2.3] - 2026-01-16
Новые возможности
- ✨ Упрощена загрузка промптов (перенос промптов в TS-файлы)
Улучшения
- 🔧 Совместимость с Gemini: использование
thoughtSignatureдля обхода проверки внедрения частей инструментов
[v1.2.2] - 2026-01-15
Исправления
- 🐛 Упрощено время инъекции (ожидание хода ассистента)
- 🐛 Исправления совместимости с Gemini: использование текстовой инъекции для предотвращения ошибок подписи мысли
[v1.2.1] - 2026-01-14
Исправления
- 🐛 Модели Anthropic: требование reasoning block перед внедрением контекста
- 🐛 GitHub Copilot: пропуск инъекции синтезированных сообщений для роли пользователя
[v1.2.0] - 2026-01-13
Новые возможности
- ✨ Добавлены
plan_enterиplan_exitв список защищённых инструментов по умолчанию - ✨ Поддержка инструмента вопросов (question tool) для сокращения
Улучшения
- 🔧 Унификация механизма инъекции (с проверкой isAnthropic)
- 🔧 Упрощение структуры каталога промптов
- 🔧 Упрощение и унификация порядка проверок prune.ts
- 🔧 Извлечение обработчика системных промптов в hooks.ts
Исправления
- 🐛 Пропуск инъекции системных промптов для суб-агентских сессий
- 🐛 GitHub Copilot: пропуск инъекции, когда последнее сообщение — роль пользователя
[v1.1.6] - 2026-01-12
Исправления
- 🐛 Критическое исправление для пользователей GitHub Copilot: использование завершённого сообщения ассистента и части инструмента для инъекции списка сокращаемых инструментов
Влияние
- Это исправление решает критическую проблему при использовании DCP с GitHub Copilot
[v1.1.5] - 2026-01-10
Новые возможности
- ✨ Добавлена поддержка JSON Schema для автодополнения конфигурационных файлов
- ✨ Добавлена конфигурация паттернов защищённых файлов (protectedFilePatterns)
- ✨ Поддержка защиты операций с файлами (read/write/edit) через glob-паттерны
Улучшения
- 📝 Документация: документированы ограничения суб-агентов
Исправления
- 🐛 Исправлен URL схемы для использования master ветки
- 🐛 Добавлен
$schemaв список валидных конфигурационных ключей
[v1.1.4] - 2026-01-06
Исправления
- 🐛 Удалён флаг
isInternalAgent(из-за условия гонки порядка хуков)
Улучшения
- 🔧 Оптимизирована логика обнаружения внутренних агентов
[v1.1.3] - 2026-01-05
Исправления
- 🐛 Пропуск инъекции DCP для внутренних агентов (title, summary, compaction)
- 🐛 Отключение сокращения для инструментов write/edit
Улучшения
- 🔧 Улучшено обнаружение ограничений суб-агентов
[v1.1.2] - 2025-12-26
Улучшения
- 🔧 Объединение дистилляции в унифицированное уведомление
- 🔧 Упрощение UI дистилляции
[v1.1.1] - 2025-12-25
Новые возможности
- ✨ Добавлена стратегия очистки ошибок (purge errors) — сокращение ввода после неудачных вызовов инструментов
- ✨ Добавлена поддержка skill-инструментов в
extractParameterKey
Улучшения
- 📝 Улучшен заменяющий текст для сокращения ошибок
- 📝 Документация: обновлены рекомендации по предотвращению отравления контекста и OAuth
[v1.1.0] - 2025-12-24
Новые возможности
- ✨ Мажорное обновление функциональности
- ✨ Добавлены автоматические стратегии сокращения:
- Стратегия дедупликации
- Стратегия перезаписи
- Стратегия очистки ошибок
Новые инструменты
- ✨ Инструменты сокращения на основе LLM:
discard— удаление содержимого инструментовextract— извлечение ключевых находок
Система конфигурации
- ✨ Поддержка многоуровневой конфигурации (глобальная/переменные среды/проект)
- ✨ Функция защиты раундов
- ✨ Конфигурация защищённых инструментов
[v1.0.4] - 2025-12-18
Исправления
- 🐛 Не сокращать ввод ожидающих или выполняющихся инструментов
Улучшения
- 🔧 Оптимизирована логика определения статуса инструментов
[v1.0.3] - 2025-12-18
Новые возможности
- ✅ Обнаружение уплотнения на основе сообщений
Улучшения
- 🔧 Проверка временной метки уплотнения при инициализации сессии
[v1.0.2] - 2025-12-17
Новые возможности
- ✅ Обнаружение уплотнения на основе сообщений
Улучшения
- 🔧 Очистка структуры кода
[v1.0.1] - 2025-12-16
Начальная версия
- ✅ Реализация основных функций
- ✅ Интеграция с плагином OpenCode
- ✅ Базовые возможности сокращения контекста
Правила нумерации версий
- Мажорная версия (например, 1.x) — несовместимые крупные обновления
- Минорная версия (например, 1.2.x) — обратно совместимые функциональные дополнения
- Патч (например, 1.2.7) — обратно совместимые исправления ошибок
Получение последней версии
Рекомендуется использовать тег @latest в конфигурации OpenCode для автоматического получения последней версии:
// opencode.jsonc
{
"plugin": ["@tarquinen/opencode-dcp@latest"],
}Просмотр последней выпущенной версии: npm package