ErisPulse ErisPulse
Открыть интерактивную версию →
Разделы страницы
Статическое зеркало — интерактивная версия является основной Открыть интерактивную версию →

Руководство по миграции: с AstrBot на ErisPulse

Tip

Когда читать этот документ: если у вас уже есть бот на AstrBot и вы хотите перенести его на ErisPulse. Для создания бота с нуля сразу смотрите раздел Быстрый старт.

Начнём с главного: подключения платформ, модели, персона и база знаний переносятся; плагины AstrBot перенести нельзя — API плагинов у обеих систем совершенно разные, поэтому плагины придётся переписать в соответствии со спецификацией модулей ErisPulse. Данные не переносятся автоматически.

Сопоставление концепций

В AstrBot В ErisPulse Описание
Платформенные адаптеры (QQ/WeChat/Telegram…) Платформенные адаптеры Концепции совпадают, достаточно установить соответствующий адаптер ErisPulse
LLM Provider (API Key, модели) Пул моделей QvQChat Оба используют OpenAI-совместимое подключение; QvQChat поддерживает самовосстановление пула моделей и маршрутизацию по сложности
Персона (Persona) Система персон QvQChat Системный промпт + приветственное сообщение + белый список инструментов, переносится вручную
База знаний База знаний QvQChat Триггеры по ключевым словам в стиле «книги мира» + векторный поиск, требуется повторный импорт
WebUI Dashboard Включение/отключение модулей, конфигурация, логи, мониторинг событий; у QvQChat также есть отдельная консоль
Плагины Модули API различаются, требуется переписывание (см. ниже)
Администраторы/белые списки Трёхмерные области действия (scope) + собственные права модулей (например, admins в QvQChat) Более гранулярная модель прав, настраивается для каждого модуля отдельно

Этапы миграции

  1. Создание каркаса: инициализируйте проект согласно руководству быстрого старта (подходит как Docker, так и pip) и установите Dashboard
  2. Подключение платформ: с помощью epsdk install установите адаптеры платформ, которые вы использовали ранее (для экосистемы QQ — адаптер OneBot, для Telegram — адаптер Telegram…); выбор способа входа и реализации протокола такой же, как и во времена AstrBot
  3. Установка агента: выполните epsdk install ErisPulse-QvQChat и укажите в пуле моделей прежние Base URL / API Key / название модели
  4. Перенос персоналий и базы знаний: создайте персоналии по одной на странице персоналий QvQChat; документы базы знаний импортируйте заново
  5. Переписывание плагинов: руководствуясь таблицей соответствия из следующего раздела, переведите логику «команда → обработка» исходных плагинов в модули ErisPulse

Сравнение переработки плагинов

Один и тот же плагин «получил /ping — отвечает pong», написанный на обеих сторонах:

Плагин AstrBot (пример, точную информацию см. в документации AstrBot):

from astrbot.api.event import filter, AstrMessageEvent

@filter.command("ping")
async def ping(self, event: AstrMessageEvent):
    yield event.plain_result("pong")

Модуль ErisPulse (полностью рабочий, см. Введение в разработку модулей):

from ErisPulse.Core.Event import command

@command("ping", help="проверить, отвечает ли бот")
async def ping_handler(event):
    await event.reply("pong")

Ключевые отличия:

  • Модель событий: в AstrBot у каждой платформы свой объект события; в ErisPulse — единое событие OneBot12, event.reply / SendDSL работают одинаково на всех платформах
  • Структура пакета: модуль ErisPulse — это стандартный Python-пакет, генерируемый с помощью скаффолда epsdk create module, публикуется на PyPI + в маркетплейсе модулей
  • Планировщик задач / хранилище: установите модуль Cron или используйте встроенный в фреймворк API хранилища, без привлечения сторонних зависимостей

Рекомендуемая стратегия миграции

Параллельный запуск двух систем: сначала подключите бота ErisPulse к тестовой группе и проверьте работу всех функций; убедившись, что ничего не упущено, переключайте его на основную группу. Системы учётных записей обеих платформ независимы друг от друга (каждая использует собственную реализацию протокола/Token), они не конфликтуют между собой, поэтому стоимость откката минимальна.

Note

API плагинов и список функций AstrBot постоянно развиваются; сравнение на этой странице опирается преимущественно на общие концепции. Чтобы выяснить, есть ли у конкретного плагина эквивалент в ErisPulse, сначала поищите его в маркетплейсе модулей; если эквивалента нет — перепишите плагин, следуя инструкциям из предыдущего раздела. Реализация большинства бизнес-плагинов в ErisPulse, как правило, оказывается даже короче.


Следующие шаги