Документация

Настройка и разработка

Есть два уровня кастомизации: пропатчить исходник существующего аддона или написать новый по образцу встроенного и загрузить его.

Хот-патч исходника

Кнопка с карандашом на любой карточке аддона открывает его JavaScript-исходник для правки. Сохранение кладёт снимок, перезаписывающий оригинал — и для встроенных, и для загруженных аддонов — и изменение вступает в силу сразу, без перезапуска. Удобно для правки промпта, исправления URL или быстрой проверки идеи на живой системе.

Reset отбрасывает снимок и восстанавливает исходный код (только для встроенных — загруженный аддон и так ваш).

Редактирование исходника аддона — сохранённый снимок перезаписывает оригинал

Написание своего аддона

Аддон — это два файла:

  • <id>.json — манифест: id, name, description, author, email, date, type и config_fields (key, label, тип поля, значение по умолчанию, описание), которые веб-интерфейс превращает в форму;
  • <id>.js — исходник: обычный JavaScript-файл (исполняется встроенным движком QuickJS, с мостом addon.get_config() к настроенным полям), экспортирующий функции, которые вызывает его тип — напр. chat_completion() для LLM-провайдера, списки инструментов и вызовы моста для MCP-аддона.

Быстрее всего начать с экспорта существующего аддона: кнопка Export на его карточке скачивает zip с манифестом и исходником вместе. Возьмите встроенный аддон, ближайший к вашей цели (они также лежат в crates/vterm-server/src/addon/builtins/), поменяйте id, name, type и экспортируемые функции, затем установите результат через Upload Addon. Загруженные аддоны можно удалить кнопкой с корзиной.

Экспорт аддона — манифест и JavaScript-исходник одним zip

Хранение

Загруженные аддоны и снимки исходников лежат в папке addons/ каталога конфигурации как <id>.json + <id>.js и переживают перезапуски. Для встроенного id учитывается только перезапись .js — встроенный аддон сохраняет собственный манифест.