WeKnora: открытая платформа знаний от Tencent — RAG, агент и вики на одном стеке
📂 Исходный код на GitHubОткрытая LLM-платформа Tencent для работы с корпоративными знаниями: разбор документов, гибридный поиск, агент с навыками и песочницами, автоматическая вики и встроенный MCP-сервер. Лицензия MIT.
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