ARTICLE · 1020467
腾讯又出手了!2.3万Star,把文档变成能问答的知识库
腾讯有个开源项目叫 WeKnora,在 GitHub 上已经攒了 2.3 万多 Star,是微信对话开放平台背后的核心技术框架。
它的功能比较多,除了常规的知识库问答,还有 Agent 模式和 Wiki 模式,光看 README 一遍其实记不全。这篇我按自己的理解把它捋了一遍,分享给大家。
简介
WeKnora 官方给的中文名叫"维娜拉",腾讯出的,MIT 协议,拿去商用也不用操心授权问题。代码方面,后端是 Go,文档解析单独拆出来用 Python 做,前端是 Vue,都是很常见的选型,想读源码或者二次开发没什么门槛。
它解决的问题应该很多人都有体感,文档越攒越多,PDF、Word、表格、扫描件堆得到处都是,真要找点什么东西,只能自己一份一份翻。
WeKnora 就是把这些文档收进来读懂,之后直接用大白话问它就行。技术上走的是 RAG 这条路,意思是回答问题之前,它会先去你的文档里把相关的内容翻出来,让大模型照着这些材料来回答,不是凭模型自己的记忆发挥。所以它的回答能标出来源是哪份文件,我们用着也放心一些。

功能详情
文档格式和外部来源
先说收文档这块,格式支持得挺全,PDF、Word、Excel、Markdown、图片这些常见的都行,扫描件和图片上的文字会走 OCR 识别,XMind 脑图、EPUB 电子书这种偏门一点的格式也能读。
不想手动传文件的话,可以接外部平台。飞书文档、语雀、Notion、GitLab、腾讯 IMA 都在支持列表里,接好之后平台那边的文档有更新,知识库会自动同步,不用每次重新上传。也支持直接给一个网址,让它自己去抓内容。

知识库问答
问答是它的基本功,检索不是只认关键词,你的问法和文件原文不一样也能找到对应内容,字面匹配和语义理解是同时工作的,另外还有知识图谱帮忙把相关的内容串起来。
回答后面带着引用,能看到结论出自哪份文件。支持多轮追问,上下文是连着的。知识库里没有的内容,它会直接说回答不了,不会自己编,这一点社区里几篇实测文章都专门验证过。
另外还有一个 FAQ 类型的知识库,高频问题可以整理成标准问答对存进去,回答质量会更稳。
Agent 模式
普通问答应付的是一句话能说清的问题,碰到复杂任务,比如让它把几份文档里关于某个主题的内容汇总起来,可以切到 Agent 模式。它会把问题拆开一步一步办,查知识库、调工具,材料不够还会联网搜索,全部做完才给出结论,中间每个步骤在界面上都能看到。
它还能在一个隔离的沙箱环境里跑脚本,生成的 Word、PPT 这类文件可以直接下载下来。工具这块支持 MCP 协议,生态里现成的工具都能接进来用。

Wiki 模式
这个模式我觉得值得单独说一说,普通的知识库比较被动,内容存进去就躺在那,你问它才答。Wiki 模式下它会把库里的文档主动消化一遍,整理成一篇篇互相链接的知识页,还会生成一张知识图谱,知识点之间的关系一眼就能看到。原始文档有更新,相关的知识页会跟着更新。这些知识页都可以手动修改,每次修改都有记录,改坏了能一键回滚。

日常管理
管理功能做得比较细,上传时的文件夹结构会保留下来,可以像文件管理器那样一层一层看。检索用的每个段落都能在界面上直接编辑,每次修改都会留版本,能对比前后差异,也能退回去。标签、批量操作这些常规功能都有。
对外接入
知识库不是只能在自己的网页里用,API 是完整开放的,可以给不同的应用发不同权限的密钥。
官方还做了 MCP 服务,Cursor 这类工具可以直接调用它的知识库。IM 渠道支持得不少,企业微信、飞书、钉钉这些加起来有十来种。
另外它跟微信对话开放平台是打通的,想在公众号或者小程序里做智能问答,零代码就能接入。
部署和模型
部署用 Docker,一条命令就能把服务起起来,本地、私有云、纯离线的环境都可以。模型不绑定厂商,DeepSeek、通义千问、智谱、混元这些国产模型都能接,也可以用 Ollama 跑本地模型,完全离线的情况下整套东西照样能用。向量数据库、文件存储这些组件也都可以换。数据都留在自己的环境里,团队使用的话,有多人协作的权限管理和操作审计。
快速开始
我装的时候没花多少时间,机器上有 Docker 就行。先把仓库拉下来:
git clone https://github.com/Tencent/WeKnora.gitcd WeKnora然后复制一份配置模板 cp .env.example .env,在里面填上打算用的模型信息,接着跑 ./scripts/start_all.sh,等容器都起来,浏览器打开 http://localhost 就能看到操作界面了。建知识库、传文档、提问,都在页面上点就行。想停掉的话,同一个脚本加个 --stop 参数。
有一个提醒要说:
官方明确建议不要把服务直接暴露到公网,放在内网用,或者配好访问控制,毕竟里面存的都是自己的文档。
谈谈看法
整体看下来,这个项目是奔着实际使用去的。更新很勤,功能铺得也广,企业里需要的权限、审计、私有化部署这些都做了。
什么人适合用呢?
• 手里文档攒了一堆、想做成能问答的知识库的; • 对数据安全有要求、不想把资料传到外面去的; • 还有想把文档问答能力接进自己产品里的开发者。
有一点要说清楚,它需要自己部署,机器上得能跑 Docker,多少要碰一下命令行。完全不想折腾的话,可以先去它背后的微信对话开放平台体验一下问答效果,那边传完知识就能直接用。
如果只是想要个能聊天的工具,用它就有点重了。真想把文档管理、知识沉淀、智能问答这一整套做起来,值得花点时间自己跑一遍。
开源地址
https://github.com/Tencent/WeKnora