Руководство по командам DCP: мониторинг и ручная очистка
Что вы научитесь делать
- Использовать
/dcp contextдля просмотра распределения токенов текущей сессии - Использовать
/dcp statsдля просмотра накопленной статистики очистки - Использовать
/dcp sweep [n]для ручного запуска очистки - Понимать механизм защиты инструментов и файлов
- Разбираться в стратегии подсчёта токенов и эффекте экономии
Ваша текущая проблема
В длинных диалогах токены расходуются всё быстрее, но вы не знаете:
- На что тратятся токены текущей сессии?
- Сколько именно сэкономил DCP?
- Как вручную очистить ненужные выводы инструментов?
- Какие инструменты защищены от очистки?
Без понимания этих вопросов вы не сможете полностью использовать оптимизацию DCP и можете случайно удалить важную информацию в критический момент.
Когда использовать этот подход
Когда вы:
- Хотите понять структуру токенов текущей сессии
- Нужно быстро очистить историю диалога
- Хотите проверить эффект очистки DCP
- Готовитесь к новой задаче и хотите очистить контекст
Основная концепция
DCP предоставляет 4 Slash-команды для мониторинга и управления использованием токенов:
| Команда | Назначение | Сценарий использования |
|---|---|---|
/dcp | Показать справку | Когда забыли команды |
/dcp context | Анализ распределения токенов сессии | Понимание структуры контекста |
/dcp stats | Просмотр накопленной статистики | Проверка долгосрочного эффекта |
/dcp sweep [n] | Ручная очистка инструментов | Быстрое уменьшение размера контекста |
Механизм защиты:
Все операции очистки автоматически пропускают:
- Защищённые инструменты:
task,todowrite,todoread,discard,extract,batch,write,edit,plan_enter,plan_exit - Защищённые файлы: пути файлов, соответствующие
protectedFilePatternsв конфигурации
INFO
Настройки защищённых инструментов и файлов можно изменить через файл конфигурации. Подробнее см. Полное руководство по конфигурации.
Пошаговое руководство
Шаг 1: Просмотр справки
Введите /dcp в диалоговом окне OpenCode.
Вы должны увидеть:
╭───────────────────────────────────────────────────────────╮
│ DCP Commands │
╰───────────────────────────────────────────────────────────╯
/dcp context Show token usage breakdown for current session
/dcp stats Show DCP pruning statistics
/dcp sweep [n] Prune tools since last user message, or last n toolsКонтрольная точка ✅: Убедитесь, что видите описание 3 подкоманд.
Шаг 2: Анализ распределения токенов сессии
Введите /dcp context для просмотра использования токенов текущей сессии.
Вы должны увидеть:
╭───────────────────────────────────────────────────────────╮
│ DCP Context Analysis │
╰───────────────────────────────────────────────────────────╯
Session Context Breakdown:
────────────────────────────────────────────────────────────
System 15.2% │████████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│ 25.1K tokens
User 5.1% │████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│ 8.4K tokens
Assistant 35.8% │██████████████████████████████████████▒▒▒▒▒▒▒│ 59.2K tokens
Tools (45) 43.9% │████████████████████████████████████████████████│ 72.6K tokens
────────────────────────────────────────────────────────────
Summary:
Pruned: 12 tools (~15.2K tokens)
Current context: ~165.3K tokens
Without DCP: ~180.5K tokensОписание категорий токенов:
| Категория | Способ расчёта | Описание |
|---|---|---|
| System | firstAssistant.input + cache.read - tokenizer(firstUserMessage) | Системный промпт |
| Tools | tokenizer(toolInputs + toolOutputs) - prunedTokens | Вызовы инструментов (за вычетом очищенных) |
| User | tokenizer(all user messages) | Все сообщения пользователя |
| Assistant | total - system - user - tools | Текстовый вывод ИИ + токены рассуждений |
Контрольная точка ✅: Убедитесь, что видите процентное соотношение и количество токенов по категориям.
Шаг 3: Просмотр накопленной статистики очистки
Введите /dcp stats для просмотра исторической статистики очистки.
Вы должны увидеть:
╭───────────────────────────────────────────────────────────╮
│ DCP Statistics │
╰───────────────────────────────────────────────────────────╯
Session:
────────────────────────────────────────────────────────────
Tokens pruned: ~15.2K
Tools pruned: 12
All-time:
────────────────────────────────────────────────────────────
Tokens saved: ~284.5K
Tools pruned: 156
Sessions: 8Описание статистики:
- Session: данные очистки текущей сессии (в памяти)
- All-time: накопленные данные всех сессий (сохранены на диске)
Контрольная точка ✅: Убедитесь, что видите статистику текущей сессии и историческую статистику.
Шаг 4: Ручная очистка инструментов
Есть два способа использования /dcp sweep:
Способ 1: Очистка всех инструментов после последнего сообщения пользователя
Введите /dcp sweep (без параметров).
Вы должны увидеть:
╭───────────────────────────────────────────────────────────╮
│ DCP Sweep │
╰───────────────────────────────────────────────────────────╯
Swept 8 tool(s) since previous user message.
Tokens saved: ~12,345
• Read: src/config.ts
• Read: src/utils.ts
• Bash: npm test
• Read: package.json
• Read: src/index.ts
• Bash: git status
• Read: README.md
• Write: docs/tutorial.mdСпособ 2: Очистка последних N инструментов
Введите /dcp sweep 5 для очистки последних 5 инструментов.
Вы должны увидеть:
╭───────────────────────────────────────────────────────────╮
│ DCP Sweep │
╰───────────────────────────────────────────────────────────╯
Swept last 5 tool(s).
Tokens saved: ~7,892
• Read: src/index.ts
• Bash: git status
• Read: README.md
• Write: docs/tutorial.md
• Bash: npm run buildУведомление о защищённых инструментах:
Если были пропущены защищённые инструменты, вывод покажет:
Swept 5 tool(s).
Tokens saved: ~7,892
(2 protected tool(s) skipped)WARNING
Защищённые инструменты (такие как write, edit) и защищённые пути файлов автоматически пропускаются и не очищаются.
Контрольная точка ✅: Убедитесь, что видите список очищенных инструментов и количество сэкономленных токенов.
Шаг 5: Повторная проверка эффекта очистки
После очистки снова введите /dcp context для просмотра нового распределения токенов.
Вы должны увидеть:
- Уменьшение доли категории
Tools - Увеличение количества очищенных инструментов в
Summary - Уменьшение общего
Current context
Контрольная точка ✅: Убедитесь, что использование токенов заметно снизилось.
Типичные ошибки
❌ Ошибка: случайное удаление важных инструментов
Сценарий: Вы только что использовали инструмент write для создания важного файла, а затем выполнили /dcp sweep.
Неправильный результат: Инструмент write очищен, ИИ может не знать, что файл был создан.
Правильный подход:
- Инструменты
write,editи другие защищены по умолчанию - Не изменяйте вручную конфигурацию
protectedToolsдля удаления этих инструментов - После завершения критических задач подождите несколько ходов перед очисткой
❌ Ошибка: неподходящее время для очистки
Сценарий: Диалог только начался, всего несколько вызовов инструментов, а вы уже выполняете /dcp sweep.
Неправильный результат: Экономия токенов минимальна, при этом может нарушиться связность контекста.
Правильный подход:
- Дождитесь определённого прогресса диалога (например, 10+ вызовов инструментов) перед очисткой
- Очищайте выводы инструментов предыдущего раунда перед началом новой задачи
- Используйте
/dcp contextдля оценки целесообразности очистки
❌ Ошибка: чрезмерная зависимость от ручной очистки
Сценарий: Вы вручную выполняете /dcp sweep в каждом диалоге.
Неправильный результат:
- Стратегии автоматической очистки (дедупликация, перезапись, удаление ошибок) не используются
- Увеличивается операционная нагрузка
Правильный подход:
- Включите стратегии автоматической очистки по умолчанию (конфигурация:
strategies.*.enabled) - Используйте ручную очистку как дополнение, когда это необходимо
- Проверяйте эффект автоматической очистки через
/dcp stats
Итоги урока
4 команды DCP помогают мониторить и контролировать использование токенов:
| Команда | Основная функция |
|---|---|
/dcp | Показать справочную информацию |
/dcp context | Анализ распределения токенов сессии |
/dcp stats | Просмотр накопленной статистики очистки |
/dcp sweep [n] | Ручная очистка инструментов |
Стратегия подсчёта токенов:
- System: системный промпт (вычисляется из первого ответа)
- Tools: ввод и вывод инструментов (за вычетом очищенных)
- User: все сообщения пользователя (оценка)
- Assistant: вывод ИИ + токены рассуждений (остаток)
Механизм защиты:
- Защищённые инструменты:
task,todowrite,todoread,discard,extract,batch,write,edit,plan_enter,plan_exit - Защищённые файлы: glob-паттерны из конфигурации
- Все операции очистки автоматически пропускают эти элементы
Лучшие практики:
- Регулярно проверяйте
/dcp contextдля понимания структуры токенов - Выполняйте
/dcp sweepперед новой задачей для очистки истории - Полагайтесь на автоматическую очистку, ручную используйте как дополнение
- Проверяйте долгосрочный эффект через
/dcp stats
Анонс следующего урока
В следующем уроке мы изучим Механизм защиты.
Вы узнаете:
- Как защита раундов предотвращает ошибочную очистку
- Как настроить список защищённых инструментов
- Как настроить паттерны защищённых файлов
- Особенности обработки сессий субагентов
Приложение: справочник по исходному коду
Нажмите, чтобы развернуть расположение исходного кода
Дата обновления: 2026-01-23
| Функция | Путь к файлу | Строки |
|---|---|---|
| Команда /dcp help | lib/commands/help.ts | 19-32 |
| Команда /dcp context | lib/commands/context.ts | 238-247 |
| Стратегия подсчёта токенов | lib/commands/context.ts | 5-38 |
| Команда /dcp stats | lib/commands/stats.ts | 46-67 |
| Команда /dcp sweep | lib/commands/sweep.ts | 123-259 |
| Конфигурация защищённых инструментов | lib/config.ts | 461 |
| Список защищённых инструментов по умолчанию | README.md | 150-151 |
Ключевые константы:
DEFAULT_PROTECTED_TOOLS: список защищённых инструментов по умолчанию
Ключевые функции:
handleHelpCommand(): обработка команды /dcp helphandleContextCommand(): обработка команды /dcp contextanalyzeTokens(): подсчёт токенов по категориямhandleStatsCommand(): обработка команды /dcp statshandleSweepCommand(): обработка команды /dcp sweepbuildToolIdList(): построение списка ID инструментов