nodebb-plugin-integration
v0.4.2
Published
AI integration layer for NodeBB forums with MCP, semantic search, RAG and Qdrant knowledge pipeline
Maintainers
Readme
NodeBB Integration Layer
AI-слой интеграции для форумов NodeBB с поддержкой MCP, семантического поиска, RAG pipeline и векторного хранилища Qdrant.
Возможности
- Интеграция с NodeBB
- MCP (Model Context Protocol) сервер
- Семантический поиск по содержимому форума
- RAG pipeline (Retrieval Augmented Generation)
- Поддержка Qdrant Vector Database
- Поддержка OpenAI Embeddings
- Локальный режим с fake embeddings
- Работа без NodeBB для разработки
- Автоматические тесты через GitHub Actions
Архитектура
NodeBB
|
|
Integration Layer
|
+------------+------------+
| |
MCP AI
| |
Tools API Embeddings
|
Qdrant
|
Knowledge BaseТребования
Минимально:
- Node.js >= 20
- npm >= 10
Опционально:
- NodeBB
- Redis
- Qdrant
- OpenAI API
Установка
Клонирование:
git clone https://github.com/Sergey-ek/nodebb-plugin-integration.git
cd nodebb-plugin-integrationУстановка зависимостей:
npm installСоздание конфигурации:
cp .env.example .envРежим разработки
По умолчанию используется локальный генератор векторов:
AI_PROVIDER=fakeЭтот режим позволяет запускать проект без:
- OpenAI API
- Qdrant
- NodeBB
Проверка конфигурации:
npm run diagnoseПример:
{
environment: "development",
embeddings:
{
provider: "fake",
size: 1536
}
}Тестирование
Проверка синтаксиса:
npm run checkЗапуск тестов:
npm testОжидаемый результат:
8 passingИнтеграция с NodeBB
Настройка:
NODEBB_URL=http://localhost:4567
NODEBB_API_KEY=your_tokenПри работе внутри NodeBB используются оригинальные модули NodeBB.
В standalone режиме используются безопасные адаптеры:
NodeBB отсутствует
|
Fallback adapter
|
Тесты продолжают работатьAI Pipeline
Полный поток:
Сообщение форума
|
Создание embedding
|
Сохранение vector
|
Qdrant similarity search
|
Получение контекста
|
AI ответEmbeddings
Fake режим
Для разработки:
AI_PROVIDER=fakeПлюсы:
- бесплатно;
- быстро;
- не требует сети;
- используется в тестах.
OpenAI режим
Настройка:
AI_PROVIDER=openai
OPENAI_API_KEY=your_keyQdrant
Конфигурация:
QDRANT_URL=http://localhost:6333
QDRANT_COLLECTION=nodebb_knowledgeАвтоматически выполняется:
- проверка коллекции;
- создание коллекции;
- загрузка векторов;
- поиск похожих документов.
MCP сервер
Запуск:
npm run mcpДоступные инструменты:
get_forum_info
get_post
get_topic
get_user
search_knowledgeПример поиска:
search_knowledge
{
"query": "как установить NodeBB",
"limit": 5
}Структура проекта
.
├── library.js
├── package.json
├── plugin.json
├── src
│
├── ai
│ ├── embeddings.js
│ ├── openai.js
│ ├── qdrant.js
│ ├── indexer.js
│ └── search.js
│
├── mcp
│ ├── server.js
│ └── tools.js
│
├── nodebb
│ ├── meta.js
│ ├── posts.js
│ ├── topics.js
│ └── users.js
│
└── config
└── index.js
└── test
└── plugin.test.jsБезопасность
Не добавлять в Git:
.env
OPENAI_API_KEY
NODEBB_API_KEY
Лицензия
MIT
