Skip to Content
ДизайнПоддержка упоминаний @extension в Daemon

Поддержка упоминаний @extension в Daemon

Цель

Daemon WebShell должен поддерживать тот же механизм упоминания расширений, что и CLI, для активных расширений. Пользователи могут находить активные расширения через автодополнение @, выбирать каноническое упоминание @ext:<name>, после чего daemon внедряет контекст этого расширения в ход модели, не изменяя видимый текст промпта.

Дизайн

  • Автодополнение @ в WebShell объединяет список активных расширений из статуса расширений рабочего пространства с совпадениями файлов этого пространства. Ввод @ без символов сначала показывает расширения, @bro фильтрует и расширения, и файлы, а @ext: переключает режим на автодополнение только расширений.
  • Автодополнение расширений вставляет @ext:<extension.name> , чтобы daemon получал стабильную ссылку, не зависящую от отображаемого текста.
  • Статус расширений в Daemon включает необязательное поле description, которое заполняется из конфигурации установленного расширения. Это поле является аддитивным для старых клиентов.
  • При разрешении промпта сессии ACP текстовые блоки промпта сканируются на наличие токенов @ext:<name>. Система сопоставляет только активные расширения из конфигурации сессии, удаляет дубликаты повторяющихся упоминаний и без вывода ошибок пропускает неизвестные или неактивные имена.
  • Видимый пользователю текст сохраняется без изменений. Разрешенный контекст расширения добавляется в виде дополнительных текстовых частей для модели после текста пользователя.
  • CLI и daemon используют общие вспомогательные функции для обработки упоминаний расширений: парсинга, очистки отображаемого текста, форматирования возможностей, а также чтения файлов контекста с проверками подпутей и лимитов размера.

Ограничения

Чтение файлов контекста ограничено как для каждого отдельного файла, так и общим бюджетом контекста расширений. Файлы, находящиеся за пределами каталога установленного расширения, пропускаются; нечитаемые файлы пропускаются с записью в debug-лог; повторяющиеся упоминания расходуют бюджет только один раз.

Проверка

Специализированные тесты охватывают режимы автодополнения WebShell, внедрение контекста daemon ACP, обработку повторяющихся и неизвестных упоминаний, файлы контекста с ограничениями, а также существующие обработчики упоминаний расширений в CLI. Финальная проверка включает сборку репозитория и проверку типов.

Last updated on