WeKnora: открытая платформа знаний от Tencent — RAG, агент и вики на одном стеке

· 2 мин чтения
rag knowledge-base agents search open-source
📂 Исходный код на GitHub

Открытая LLM-платформа Tencent для работы с корпоративными знаниями: разбор документов, гибридный поиск, агент с навыками и песочницами, автоматическая вики и встроенный MCP-сервер. Лицензия MIT.

WeKnora: открытая платформа знаний от Tencent — RAG, агент и вики на одном стеке

WeKnora: открытая платформа знаний от Tencent

WeKnora — открытая платформа от Tencent для работы с корпоративными знаниями. Она собирает документы команды в одном месте, разбирает их, строит по ним поиск и отвечает на вопросы через LLM. Проект распространяется по лицензии MIT, текущая версия — v0.8.2. Внутри платформы три режима: поиск с ответами на основе RAG, агент для многошаговых задач и вики для организации знаний. Все три работают с одними и теми же базами знаний.

Платформа ставится на свой сервер или в частное облако. Данные остаются внутри вашей инфраструктуры, а модели, векторные базы и хранилища можно заменить на любые подходящие.

Три режима работы

Первый режим — быстрый поиск ответов. Система находит нужные фрагменты в базе знаний и отвечает с указанием источников. Каждый ответ можно проверить: цитаты ведут к исходным документам.

Второй режим — агент. Он планирует работу в несколько шагов: ищет по базам знаний, читает документы, вызывает внешние инструменты и навыки. Каждый шаг виден в диалоге, поэтому ход рассуждений прозрачен. Диалогом можно управлять на ходу: дополнить запрос, вернуться к любому прошлому вопросу или откатить разговор назад.

Третий режим — вики. Агент сам разбирает документы и собирает из них связанные страницы в Markdown. Каждая страница ссылается на источники, а граф знаний показывает, как страницы связаны между собой. Страницы можно править прямо в браузере, а каждое изменение — откатить.

Агент: навыки, песочницы и браузер

Агент в WeKnora умеет выполнять код. Для этого есть изолированные песочницы на базе Docker, E2B и Cube. Песочница живёт всю сессию: файлы, созданные в одном шаге, доступны в следующих. Рядом с чатом открываются интерактивный терминал и графический рабочий стол — за ними можно следить за работой агента и вмешаться в любой момент.

Навыки устанавливаются из каталогов ClawHub и SkillHub, из Git-репозиториев или ZIP-архивов. Управление ими идёт на уровне рабочей области, а переменные окружения настраиваются отдельно для себя и для всей команды.

Отдельная возможность — BrowserSkill. Через это открытое расширение агент управляет вашим собственным Chrome или Edge: открывает страницы, заполняет формы. Если встречается вход в аккаунт или капча, агент передаёт управление человеку. Ход задачи показывается вживую, работу можно поставить на паузу.

К агенту подключаются внешние MCP-сервисы, включая те, что требуют OAuth-авторизацию. Каждый инструмент включается отдельно, а опасные вызовы можно настроить так, чтобы они требовали подтверждения.

Долговременная память

WeKnora помнит контекст между сессиями. Платформа сама извлекает из разговоров профиль пользователя, его предпочтения и подтверждённые факты. Перед сохранением человек проверяет и подтверждает эти данные. Агент может обратиться к памяти через инструмент search_memory и учитывать прошлые договорённости в новых задачах.

Поиск и разбор документов

За поиск отвечает гибридная схема: ключевые слова плюс векторный поиск, затем переранжирование результатов. Есть родительско-дочернее разбиение на чанки — поиск идёт по мелким фрагментам, а в контекст попадают крупные. Для сложных связей между сущностями есть GraphRAG на базе Neo4j. Качество поиска можно измерять: в платформу встроена оценка полноты и метрик BLEU и ROUGE.

Документы принимаются в десятке форматов: PDF, Word, PPT, Excel, CSV, Markdown, HTML, EPUB, MHTML, JSON, XMind и изображения. Файлы Office разбираются прямо внутри платформы парсером anydoc, без внешних сервисов. Для сканов и картинок есть распознавание через VLM.

Источники данных подключаются автоматически: Feishu, Confluence, GitLab, Notion, Yuque, DingTalk Docs, RSS и другие. Полный список коннекторов растёт с каждым релизом. Содержимое чанков можно править вручную, у правок есть история версий и откат.

Интеграции: MCP, мессенджеры, CLI

В WeKnora встроен собственный MCP-сервер. Он публикует базы знаний для внешних AI-инструментов — Cursor, Claude и других клиентов. Каждый эндпоинт получает свой токен, ограничение по частоте запросов и свой набор баз. Протокол — Streamable HTTP.

Платформа общается с людьми там, где они работают. Готовы каналы для мессенджеров: Telegram, Slack, WeCom, Feishu, DingTalk, QQBot, Mattermost и других. Для внешних сайтов есть встраиваемый виджет, а для браузера — расширение Chrome: выделяете текст на любой странице и сохраняете его в базу знаний одним кликом.

Для программной работы есть CLI под названием weknora и Go SDK. CLI сделан в первую очередь для агентов: каждая команда отдаёт предсказуемый JSON, а текстовый формат включается флагом --format text. Тот же CLI поднимает MCP-сервер командой weknora mcp serve. В CI достаточно двух переменных окружения — WEKNORA_API_KEY и WEKNORA_HOST, пароли на диск не пишутся.

weknora profile add prod --host https://kb.example.com --use
weknora auth login
weknora kb list
weknora link --kb my-knowledge-base
weknora doc upload notes.md
weknora chat "summarise the design doc"

Модели, векторные базы и хранилища

Все ключевые компоненты заменяемы. Поддерживается 27 встроенных поставщиков моделей, а полный каталог генерируется автоматически — с данными о контекстном окне, лимитах вывода и поддержке рассуждений и зрения.

Компонент Варианты
LLM OpenAI, Azure OpenAI, Anthropic, DeepSeek, Qwen, Zhipu, Hunyuan, Gemini, MiniMax, NVIDIA, LiteLLM, Ollama и другие
Embeddings Ollama, BGE, GTE, Zhipu, OpenAI-совместимые API
Векторные базы PostgreSQL (pgvector), Elasticsearch, OpenSearch, Milvus, Weaviate, Qdrant, Apache Doris, Tencent VectorDB
Хранилище файлов Локально, MinIO, AWS S3, Tencent Cloud COS, Alibaba Cloud OSS, Huawei Cloud OBS и другие
Поиск в интернете DuckDuckGo, Bing, Google, Tavily, SearXNG, Exa, Metaso и другие

Безопасность и наблюдаемость

Для командной работы есть рабочие области с ролевой моделью: четыре роли — владелец, администратор, участник и наблюдатель. У каждой базы знаний есть владелец, а все действия попадают в журнал аудита. API-ключи выдаются с ограниченной областью действия, учётные данные шифруются по алгоритму AES-256-GCM, вход поддерживает OIDC. Исходящие запросы защищены от SSRF, есть режим белых списков, когда наружу разрешено обращаться только к проверенным адресам. Подробности — в документации по доступу.

За работой платформы следят через Langfuse: трассируются шаги агента, вызовы инструментов и расход токенов. Разбор документов виден как таймлайн с этапами, а очередь задач показана на дашборде с управлением пулами обработчиков.

Установка

Базовый вариант — Docker Compose:

git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
cp .env.example .env
docker compose pull
docker compose up -d

После запуска веб-интерфейс открывается на http://localhost, API — на порту 8080, Langfuse — на порту 3000. Дополнительные компоненты включаются профилями: neo4j добавляет граф знаний, minio — объектное хранилище, langfuse — трассировку.

Есть и другие варианты развёртывания: Helm-чарт для Kubernetes, облегчённая одиночная сборка Lite без внешних зависимостей на SQLite и десктоп-приложение для macOS. Разработчикам пригодится быстрый режим через make dev-app и make dev-frontend — с горячей перезагрузкой и без пересборки образов. Локальные модели удобно подключать через Ollama. Для производства авторы советуют держать платформу во внутренней сети и не открывать её напрямую в интернет.

Кому подойдёт

WeKnora закрывает сразу несколько задач: корпоративный поиск с цитатами, автоматизацию рутинных вопросов сотрудников, разбор потока документов из Confluence или Notion, сборку живой вики по проекту. Проект активно развивается — история изменений ведётся в CHANGELOG.md, а документация описывает около 360 API-эндпоинтов и 150 переменных окружения. Интерфейс переведён на пять языков, включая русский. Если нужен self-hosted аналог облачных баз знаний с открытым кодом — это один из самых функциональных вариантов на сегодня.

Источник: https://github.com/Tencent/WeKnora