Руководство по миграции: с 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) |
Более гранулярная модель прав, настраивается для каждого модуля отдельно |
Этапы миграции
- Создание каркаса: инициализируйте проект согласно руководству быстрого старта (подходит как Docker, так и pip) и установите Dashboard
- Подключение платформ: с помощью
epsdk installустановите адаптеры платформ, которые вы использовали ранее (для экосистемы QQ — адаптер OneBot, для Telegram — адаптер Telegram…); выбор способа входа и реализации протокола такой же, как и во времена AstrBot - Установка агента: выполните
epsdk install ErisPulse-QvQChatи укажите в пуле моделей прежние Base URL / API Key / название модели - Перенос персоналий и базы знаний: создайте персоналии по одной на странице персоналий QvQChat; документы базы знаний импортируйте заново
- Переписывание плагинов: руководствуясь таблицей соответствия из следующего раздела, переведите логику «команда → обработка» исходных плагинов в модули 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, как правило, оказывается даже короче.
Следующие шаги
- Систематическое изучение разработки модулей: Введение в разработку модулей → Основные концепции
- Если хотите более детально настроить AI-часть: Универсальный агент QvQChat
- Всё ещё сомневаетесь, стоит ли переходить: Сравнение: AstrBot и LangBot