Система плагинов
PRX поддерживает систему плагинов на основе WebAssembly (WASM), позволяющую расширять возможности агента без модификации основного кода. Плагины запускаются в изолированной среде выполнения WASM с контролируемым доступом к хост-функциям.
Обзор
Система плагинов обеспечивает:
- Изолированное выполнение -- плагины работают в WASM с изоляцией памяти
- API хост-функций -- контролируемый доступ к HTTP, файловой системе и состоянию агента
- Горячая перезагрузка -- загрузка и выгрузка плагинов без перезапуска демона
- Поддержка нескольких языков -- написание плагинов на Rust, Go, C или любом языке, компилируемом в WASM
Типы плагинов
| Тип | Описание | Пример |
|---|---|---|
| Плагины инструментов | Добавление новых инструментов агенту | Пользовательские интеграции с API |
| Плагины каналов | Добавление новых каналов сообщений | Пользовательская чат-платформа |
| Плагины фильтров | Пред/постобработка сообщений | Модерация контента |
| Плагины провайдеров | Добавление новых LLM-провайдеров | Пользовательские эндпоинты моделей |
Быстрый старт
bash
# Установка плагина по URL
prx plugin install https://example.com/my-plugin.wasm
# Список установленных плагинов
prx plugin list
# Включение/отключение плагина
prx plugin enable my-plugin
prx plugin disable my-pluginКонфигурация
toml
[plugins]
enabled = true
directory = "~/.local/share/openprx/plugins"
max_memory_mb = 64
max_execution_time_ms = 5000
[[plugins.registry]]
name = "my-plugin"
path = "~/.local/share/openprx/plugins/my-plugin.wasm"
enabled = true