大数跨境

WeKnora深度评测:腾讯开源的企业知识平台,从RAG到MCP实战落地

WeKnora深度评测:腾讯开源的企业知识平台,从RAG到MCP实战落地 51Testing软件测试网
2026-08-25
3
导读:腾讯开源企业级知识管理框架WeKnora,基于RAG+ReAct Agent+Wiki三大核心能力,附Docker部署与MCP接入OpenCode实战。
一、什么是 WeKnora?

1.1 WeKnora简介
WeKnora(维娜拉) 可以拆解为 We Know Ra寓意为"我们知道的知识",它是腾讯开源的一款企业级知识管理框架,基于大语言模型(LLM)构建,专注于文档理解、语义检索与智能推理三大场景,其核心使命是——把分散的文档沉淀为可查询、可推理、可持续演进的知识资产。
WeKnora 围绕三大核心能力构建:
RAG 快速问答
对知识库进行检索增强生成(Retrieval-Augmented Generation,简称 RAG),快速提供准确的答案
ReAct Agent 智能推理
ReAct(Reasoning + Acting,推理与行动协同)Agent 自主编排知识检索、MCP(Model Context Protocol,模型上下文协议)工具与网络搜索,通过"思考-行动-观察"循环完成复杂的多步推理任务
Wiki 模式
Agent 从原始文档中自动生成结构化、相互链接的 Markdown 知识库,附带可视化知识图谱
除此之外,WeKnora 提供了现代知识管理系统所需的全套基础设施:多源数据接入(飞书 / Notion / 语雀)、20+ 模型厂商集成、Langfuse 全链路可观测性、企业级多租户 RBAC 权限体系、Web UI / CLI / REST API / Chrome 扩展 / 微信小程序等多种交互界面。

1.2 WeKnora 与主流开源 RAG 项目对比
💡 先说结论
如果你要的是 企业知识平台,重点是多租户、权限、IM 接入、MCP、Wiki、私有化治理,那么 WeKnora 非常合适。
如果你要的是 轻量级 GraphRAG 框架,更关注检索算法和图推理效率,LightRAG 往往更合适。
如果你要的是 多模态复杂文档 RAG,特别是图表、公式、图片、论文、财报,RAG-Anything 更有针对性。
如果你要的是 低代码 AI 应用平台,强调工作流、Bot 应用编排、应用发布和运营,Dify、FastGPT 更强。
如果你要的是 重文档解析、复杂版式理解、引用可解释性,RAGFlow 值得优先评估。
下表是主流开源 RAG 项目全景对比:
项目
文档解析能力
检索能力
GraphRAG
Agent / MCP
最适合的场景
WeKnora
强,含 DocReader、对象存储、多格式解析
强,BM25 + Dense + Rerank + GraphRAG
支持 Neo4j
强,原生 ReAct、MCP、IM、CLI
企业内部知识平台、研发知识库、私有化问答系统
LightRAG
强,偏图增强检索
很强
中,偏框架,不是完整平台
需要高效 GraphRAG 的研发团队
RAG-Anything
很强,专攻复杂文档
强,向量+图融合
中,Agent 不是主线
图片/图表/公式密集型文档场景
Dify
中到强
一般
很强,工作流/Agent/插件生态强
低代码 AI 应用、企业 Bot、流程编排
RAGFlow
很强
中到强
文档解析复杂、对可解释性要求高

Microsoft GraphRAG
弱到中
强(图谱视角)
很强
研究、方法验证、定制图谱检索
FastGPT
中文团队快速上线 Bot/工作流
AnythingLLM
中到强
个人/小团队本地知识问答
一句话总结:
WeKnora 不是最轻的,也不是最偏算法研究的,但它非常像一套“真正能落到企业里”的知识平台。

1.3 WbKnora解决了哪些问题?

知识散落,难以沉淀
团队的知识分散在飞书、Notion、语雀、本地文件、邮件等各处。WeKnora 通过多源同步与文档解析,将碎片化知识统一汇聚至知识库,并自动建立索引。

检索困难,语义难懂
传统关键词匹配无法理解语义。WeKnora 采用向量 + 关键词 + 重排序的混合检索,语义理解更精准,即便口语化表达也能命中相关内容。

信息过载,答案难取
文档量大时,找到相关内容仍需逐篇阅读。WeKnora 的 RAG 问答直接基于检索内容生成答案并标注来源,大幅降低阅读成本。

跨文档推理,复杂问题难解
许多问题需综合多源信息才能回答。WeKnora 的 ReAct Agent 可自主规划:先检索知识库,再调用 MCP 工具查数据,必要时联网搜索,最终给出综合答案。例如:"对比 Q2 与 Q3 营收数据,分析变化原因"。

文档维护,成本高昂
文档写后易过时,缺少持续维护。WeKnora 的 Wiki 模式让 Agent 直接从原始文档生成结构化知识页面,自动建立关联,形成知识图谱,大幅降低人工维护成本。

私有化部署,数据可控
企业数据不能上传第三方平台。WeKnora 完全开源,支持 Docker / K8s 私有化部署,数据 100% 自主可控,兼容离线环境。

二、WeKnora 有哪些功能?
要说清 WeKnora 能做什么,一张功能全景表是最直接的。但笔者不打算只给你一张干巴巴的列表——下面我们从智能对话、知识管理、集成与扩展、平台能力到交互方式,逐一拆解每个模块的核心能力,让你看完就知道它能帮你解决什么问题。

2.1 智能对话:不止是问答
WeKnora 的智能对话层不是简单的"问一句答一句"。它内置了一套完整的推理引擎,支持从知识检索到工具调用的多步决策链路。下表是 WeKnora 的智能对话能力概览。
能力
说明
智能推理
ReACT 渐进式多步推理,自主编排知识检索、MCP 工具和网络搜索;支持自定义 Agent
快速问答
基于知识库的 RAG 即时问答,快速准确地回答问题
Wiki 模式
Agent 驱动,从原始文档中自动生成结构化、相互链接的 Markdown 知识页面
工具调用
内置工具 + MCP 工具(Model Context Protocol)+ 网络搜索
对话策略
在线 Prompt 编辑、检索阈值调节、多轮上下文感知、兜底回复
推荐问题
基于知识库内容自动生成相关问题建议
其中智能推理是核心——它让 WeKnora 不止于检索,还能像资深工程师一样,遇到复杂问题时主动拆解、分步求证,把知识检索、工具调用和网络搜索编排成一条完整的推理链路。

2.2 知识管理
知识库是智能对话的燃料。WeKnora 在知识管理侧覆盖了从数据导入、文档解析到检索策略的全链路。下表是WeKnora的知识管理能力概览。
能力
说明
知识库类型
FAQ / 文档 / Wiki,支持文件夹导入、URL 导入、标签管理、在线录入
数据源导入
从飞书 / Notion / 语雀自动同步知识(更多数据源持续接入中),支持增量与全量同步
文档格式
PDF / Word / TXT / Markdown / HTML / 图片 / CSV / Excel / PPT / JSON
检索策略
BM25(Best Match 25,稀疏检索算法)召回 / Dense 稠密召回 / GraphRAG 图谱增强检索 / 父子分块 / 多维度索引
端到端测试
全链路可视化测试,评估召回命中率、BLEU 和 ROUGE 等指标
值得留意的是检索策略——它不是单一方案,而是提供了 BM25 稀疏检索、Dense 稠密检索、GraphRAG 图谱增强检索等多种选型。不同场景切不同的检索策略,才能兼顾召回率和准确率。端到端测试能力则让团队在接入知识库后,能量化评估效果,而不是凭感觉说"好像还行"。

2.3 集成与扩展
WeKnora 能覆盖多少场景,很大程度上取决于它能接入多少外部服务。从模型厂商、向量数据库、Embedding 模型,到对象存储、IM 渠道和网络搜索,它做了一圈"适配层"。WeKnora集成与扩展能力如下所示。
能力
说明
模型厂商
OpenAI / Azure OpenAI / Anthropic Claude / DeepSeek / Qwen / 智谱 / 混元 / 豆包 / Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Ollama
向量数据库
PostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant / Apache Doris / 腾讯云 VectorDB
Embedding
Ollama / BGE / GTE / 智谱 / OpenAI 兼容接口
对象存储
本地 / MinIO / AWS S3 / 腾讯云 COS / 火山引擎 TOS / 阿里云 OSS / 金山云 KS3 / 华为云 OBS
IM 渠道
企业微信 / 飞书 / Slack / Telegram / 钉钉 / Mattermost / 微信
网络搜索
DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama / SearXNG
模型厂商横跨国内外主流大模型,向量数据库覆盖了最常用的开源和商业方案,IM 渠道更是把国内外主流的办公协同工具都纳入了。这意味着不管你团队当前用的是哪套技术栈,大概率都能直接对接,不需要额外做一层桥接。

2.4 平台能力
功能再多,上不了生产环境也是白搭。WeKnora 在平台侧做了不少工程化功课——从部署方式、权限控制到可观测性,覆盖了上线前后的大部分关切点。
表2-4 平台能力概览
能力
说明
部署方式
本地 / Docker / Kubernetes (Helm),支持私有化离线部署
交互界面
Web UI / RESTful API / CLI (weknora) / Chrome 扩展 / 微信小程序
权限控制
租户 RBAC 四级角色(Owner / Admin / Contributor / Viewer),按知识库的资源归属,每租户审计日志
安全
API Key 与 MCP/数据源凭据 AES-256-GCM 静态加密,gRPC TLS + Token,SSRF 防护,Agent 技能沙箱
可观测性
集成 Langfuse,追踪 ReAct 推理循环、Token 消耗、工具调用和流水线
模型管理
集中配置,知识库级别模型选择,多租户共享内置模型,WeKnora Cloud 托管模型与解析
安全方面做了多层防护:凭据加密、传输加密、SSRF 防护、技能沙箱——对于企业内部部署场景,这些不是加分项,而是准入门槛。可观测性方面集成了 Langfuse,能追踪 ReAct 推理的每一步,调试和优化 Agent 行为时不用靠猜。

2.5 交互方式
WeKnora 没有把用户限定在单一的 Web 界面里,而是提供了五种交互入口,覆盖从桌面到移动、从 GUI 到 CLI 的全场景:

Web UI— 浏览器访问即可使用,零门槛上手。

CLI 命令行— weknora 命令工具,采用 gh 风格的 <名词> <动词> 操作,支持 JSON 输出,适合 AI Agent 调用。

RESTful API— 完整的 OpenAPI 接口,附带 Swagger 文档。

Chrome 扩展— 在浏览器中一键将网页内容采集到知识库。

微信小程序— 轻量移动端客户端,在微信内即可与知识库交互。
五种入口覆盖了「深度使用」和「随手采集」两个极端场景——深度工作时走 Web UI 或 API,日常采集走 Chrome 扩展或小程序。
本节中的功能清单给出了 WeKnora"能做什么"的全貌,但真正驱动团队采用它的,往往是它解决了哪些实实在在的痛点。下文力我们逐一剖析。
三、部署 WeKnora

3.1 环境要求
笔者使用Docker Desktop完成的WebKnora安装,WeKnora对硬件和Docker环境的最低要求如下:
组件
要求
Docker Engine
>= 24.0
Docker Compose
>= 2.20(推荐 v2 插件版)
操作系统
Linux / macOS / Windows(WSL2)
CPU
>= 4 核
内存
>= 8 GB(推荐 16 GB)
磁盘
>= 50 GB 可用空间
安装检查docker版本,在命令行窗口中运行如下命令:
shell
docker --version && dockercompose version
macOS 用户额外说明:需要安装 Docker Desktop for Mac 和 Git。安装 Docker Desktop 后,建议在 Settings → Resources → Advanced 中分配足够资源:CPUs 4+、Memory 8GB+、Swap 2GB。

3.2 获取代码
shell
gitclone https://github.com/Tencent/WeKnora.git
cd WeKnora
如需固定到特定版本:
shell
gitfetch --tags
gitcheckout v0.6.2
建议生产环境固定版本而非使用 latest 标签,避免意外升级导致不兼容。

3.3 配置环境变量
shell
cp .env.example .env
编辑 .env 文件,读者朋友们可以在笔者的真实配置文件基础上进行修改:
code
# 使用说明
# ========== MCP Server ==========
# WeKnora API Key — 在 WeKnora 前端 "设置 → API Keys" 生成,供 MCP Server 访问 REST API
WEKNORA_API_KEY=”填写你自己的WeKnora的API Key”
# 对外暴露的 MCP Server 端口(默认 8082)
MCP_PORT=8082
# ========== 镜像版本 ==========
# WeKnora 镜像版本标签,可选值: latest(稳定版), main(最新开发版)
WEKNORA_VERSION=latest
# gin mod
# 可选值: debug(开发模式,有详细日志), release(生产模式,禁用Swagger文档)
GIN_MODE=release
# 日志级别,可选值:debug, info, warn, error, fatal,默认为debug
LOG_LEVEL=error
# LLM 调试日志:将每次大模型调用的完整请求和响应写入独立日志文件,便于排查上下文问题
# 可选值:true(自动放在 LOG_PATH 同目录下 llm_debug.log)、false/空(关闭)、或指定文件路径
LLM_DEBUG_LOG=true
# ========== 内置模型(Built-in Models)声明式配置(可选) ==========
# YAML 中的 ${NAME} 占位符会在应用启动期从这里读取真实值。变量名由 YAML 自行
# docs/BUILTIN_MODELS.md。
LLM_MODEL_NAME=“你的大模型的名称”
LLM_BASE_URL=“大模型LLM的Base URL”
LLM_API_KEY=“大模型LLM的sh-key”
LLM_PROVIDER=“大模型的提供商”
# 嵌入模型,推荐硅基流动平台(提供的免费额度)
EMBEDDING_MODEL_NAME=BAAI/bge-m3
EMBEDDING_BASE_URL=https://api.siliconflow.cn/v1
EMBEDDING_API_KEY=“嵌入模型的sh key(在硅基流动平台上面生成)”
# 向量查询后的重排序模型,推荐硅基流动平台(提供的免费额度)
RERANK_MODEL_NAME=BAAI/bge-reranker-v2-m3
RERANK_BASE_URL=https://api.siliconflow.cn/v1
RERANK_API_KEY=“嵌入模型的sh key(在硅基流动平台上面生成)”
# RERANK_PROVIDER=generic
 
 
# 时区设置,默认为 Asia/Shanghai
TZ=Asia/Shanghai
# 系统默认语言
# 常用值:zh-CN, en-US, ja-JP, ko-KR, ru-RU
WEKNORA_LANGUAGE=zh-CN
# 禁止新用户注册(生产环境建议设为 true)
DISABLE_REGISTRATION=true
# Ollama 服务的基准 URL,用于连接本地/其他服务器上运行的 Ollama 服务
OLLAMA_BASE_URL=http://host.docker.internal:11434
# 存储配置
# 主数据库类型(postgres/mysql)
DB_DRIVER=postgres
# 向量存储类型(postgres/qdrant/milvus/doris)
RETRIEVE_DRIVER=milvus
# 文件存储类型(local/minio/cos/tos/s3)
STORAGE_TYPE=minio
# 流处理后端(memory/redis)
STREAM_MANAGER_TYPE=memory
# 应用服务主机名,默认为app(Docker内部服务名)
# 如需代理到远程后端,可设为远程地址,如 remote-app.example.com
APP_HOST=app
# 应用服务宿主机映射端口,默认为8080(仅影响宿主机访问,不影响容器间通信)
APP_PORT=8080
# 前端服务端口,默认为80
FRONTEND_PORT=80
# 文档解析模块端口,默认为50051
DOCREADER_PORT=50051
# 数据库主机地址
DB_HOST=localhost
# 数据库端口
DB_PORT=5432
# 数据库用户名
DB_USER=“Postgres数据库的用户名”
# 数据库密码
DB_PASSWORD=“Postgres数据库的密码”
# 数据库名称
DB_NAME=WeKnora
# 当使用本地存储时,文件保存的基础目录路径
LOCAL_STORAGE_BASE_DIR=/data/files
# 是否自动恢复脏数据
AUTO_RECOVER_DIRTY=true
TENANT_AES_KEY=“你自己的WeKnora加密的key,可以随意填写(注意密码长度要求)”
# AES-256 密钥,用于数据库中 API Key 等敏感字段的落盘加密(必须为32字节)
SYSTEM_AES_KEY=“你自己的WeKnora数据加密的key,可以随意填写(注意密码长度要求)”
# 是否开启知识图谱构建和检索(构建阶段需调用大模型,耗时较长)
ENABLE_GRAPH_RAG=true
# 配置 JWT_SECRET 用于前端登录刷新Token
JWT_SECRET=weknora-jwt-secret
# MinIO端口
MINIO_PORT=9000
# MinIO控制台端口
MINIO_CONSOLE_PORT=9001
# Embedding并发数,出现429错误时,可调小此参数
CONCURRENCY_POOL_SIZE=3
# 如果使用MinIO作为文件存储,需要配置以下参数
# MinIO访问端点(host:port),连接外部MinIO时需修改
# 推荐做法:配置一个公网域名(如 minio.example.com)并启用 HTTPS。
MINIO_ENDPOINT=minio:9000
# MinIO访问密钥
MINIO_ACCESS_KEY_ID=minio-key@xbb2026
# MinIO密钥
MINIO_SECRET_ACCESS_KEY=minio@xbb@2026
# MinIO桶名称,用于存储文件
MINIO_BUCKET_NAME=XbbKnowledge
# Neo4j 开关
NEO4J_ENABLE=true
# Neo4j的访问地址
NEO4J_URI=neo4j://neo4j:7687
# Neo4j的用户名
NEO4J_USERNAME=“Neo4j图数据库的用户名”
# Neo4j的密码
NEO4J_PASSWORD=“Neo4j图数据库的密码”
# ========== 文件上传大小限制 ==========
# 统一的文件大小限制(MB),默认为 50MB。
MAX_FILE_SIZE_MB=30
# ========== Agent Skills Sandbox 配置 ==========
# Sandbox 模式: docker(默认), local, disabled
WEKNORA_SANDBOX_MODE=docker
# 脚本执行超时时间(秒),默认60
WEKNORA_SANDBOX_TIMEOUT=300
# ========== Agent 配置 ==========
# 注:此值为全局默认值。若单个智能体配置了 llm_call_timeout,则以智能体配置为准)。
WEKNORA_AGENT_LLM_TIMEOUT=600
# MCP 工具人工审核等待超时(秒)(可选)
# 当某个 MCP 工具被标记为「需人工审核」后,Agent 会暂停并等待用户确认;
# 该值控制最长等待时间,超时视为拒绝。默认 600(10 分钟)。
WEKNORA_AGENT_TOOL_APPROVAL_TIMEOUT=600
# APK 镜像源设置(可选)
APK_MIRROR_ARG=mirrors.tencent.com
 
# 如果使用Milvus作为向量存储,需要配置以下参数
# Milvus服务地址
MILVUS_ADDRESS=milvus:19530
# Milvus集合名称,用于存储向量数据
MILVUS_COLLECTION=weknora_embeddings
# Milvus向量搜索度量类型,支持 IP(默认)、COSINE、L2
# 注意:修改度量类型后需要重建collection才能生效
MILVUS_METRIC_TYPE=IP
# Milvus 用户名(可选)
MILVUS_USERNAME=“Milvus向量数据库的用户名”
# Milvus 密码(可选)
MILVUS_PASSWORD=“Milvus向量数据库的密码”
# Milvus 数据库名称(可选)
MILVUS_DB_NAME=xbb_milvus
# Docreader 地址
DOCREADER_ADDR=docreader:50051
# Docreader 连接方式
DOCREADER_TRANSPORT=grpc
# Docreader 中 DOCX 解析的最大页数,默认 0(不限制)
# 设为正整数(如 500)可限制超大 Word 文档的解析开销;超过页数的内容将不会继续解析
DOCREADER_DOCX_MAX_PAGES=0

......

本文节选自第九十一期《51测试天地》

原创文章

WeKnora MCP实战手册》

文章后续为大家详细讲解了:

WeKnora  MCP在OpenCode中的使用


想继续阅读全文

或查看更多《51测试天地》的原创文章

请点击下方 阅读原文或扫描二维码 查看

图片

声明:本文为51Testing软件测试网 晴空 用户投稿内容,该用户投稿时已经承诺独立承担涉及知识产权的相关法律责任,并且已经向51Testing承诺此文并无抄袭内容。发布本文的用途仅仅为学习交流,不做任何商用,未经授权请勿转载,否则作者和51Testing有权追究责任。如果您发现本公众号中有涉嫌抄袭的内容,欢迎发送邮件至:editor@51testing.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

【声明】内容源于网络
0
0
51Testing软件测试网
博为峰51Testing软件测试网提供各种线上招聘、线上课程等网络服务,出版软件测试系列丛书及电子杂志,组织线上技术交流活动;同时还举办多种线下公益活动,如软件测试沙龙、软件测试专场招聘会等。
内容 3939
粉丝 0
51Testing软件测试网 博为峰51Testing软件测试网提供各种线上招聘、线上课程等网络服务,出版软件测试系列丛书及电子杂志,组织线上技术交流活动;同时还举办多种线下公益活动,如软件测试沙龙、软件测试专场招聘会等。
总阅读2.8k
粉丝0
内容3.9k