微信AI团队开源WeKnora:给知识库装上“手脚”,AI 从能答到能做
当知识库不再满足于"找答案",腾讯开源的WeKnora把文档解析、知识图谱、Agent沙箱与Skill生态串成一条完整链路。0.8.0版本为每个会话提供持久化运行时,让文件读写、脚本执行与产物生成在受控工作区中完成。本文解析这套框架如何让分散文档真正变成可推理、可执行的知识资产。

一份产品设计手册,可能同时包含文字、表格、流程图;一套企业制度会不断更新;一个研发项目的知识,又往往分散在文档、代码仓库、协作平台和网页里。
当我们把这些资料交给 AI,最常见的期待是“帮我找答案”。但真实工作并不会止于一次问答:AI 能不能读对一张表格?能不能沿着多个文档找到完整线索?当制度更新后,知识库能不能跟着变化?如果问题需要查资料、调用工具、生成文件并继续处理,AI 又能不能把事情往下做完?
腾讯开源的WeKnora(维娜拉)——一套基于大语言模型的知识管理框架。它围绕 RAG 快速问答、ReAct Agent 智能推理和 Wiki 模式构建,希望将分散的文档沉淀为可查询、可推理、可持续演进的知识资产。
近期发布的 WeKnora 0.8.0,又进一步补上了 Agent 从“能回答”走向“能做事”的一段关键链路:为每个会话提供可持续使用的运行时沙箱,让文件读写、脚本执行、Skill 调用和产物生成在同一个受控工作区中完成。
项目地址:
https://github.com/Tencent/WeKnora
官网地址:
https://weknora.weixin.qq.com
更新详情:
https://github.com/Tencent/WeKnora/blob/main/CHANGELOG.md
微信对话开放平台:
https://chatbot.weixin.qq.com
WeKnora 架构设计:从文档处理到检索、推理和交互展示的完整链路

前言|文档“能上传”,为什么不等于“能理解”
传统知识库的基本路径并不复杂:上传文档,抽取文字,将内容切成若干片段,建立向量索引;用户提问时,系统从中找出相近片段,再由大语言模型组织答案。
这条路径解决了“从大量文字里找相关内容”的问题,却很容易在真实文档面前断链。
首先,真实文档并不是连续的纯文本。PDF、Word、PPT、Excel、图片、网页和思维导图的结构各不相同。一个关键结论可能写在表格里,一段流程依赖前后的标题层级,一张图里的信息则根本不在文字内容中。若在解析环节就丢失了结构,后续检索到的片段再“相似”,也可能脱离原意。
其次,文档知识并非静止不动。制度会更新,产品手册会迭代,团队成员也需要修订已有内容。若知识库只保存一次导入时生成的切片,它可以回答问题,却很难保留文档的组织关系、编辑过程和版本变化。
更进一步,有些任务本身不止需要“找一段资料”。用户可能需要围绕多个文档找到线索,调用工具补充信息,生成一份文件,再基于文件继续修改。这个过程需要的不只是检索能力,也需要一个可以执行操作、管理文件并保障边界的工作环境。
WeKnora 的设计,正是从这些问题出发:先尽可能完整地读懂文档,再让文档中的知识能够被检索、被追溯、被持续维护;当任务不止需要一个答案时,Agent 还能在受控环境中继续把工作推进下去。
文档理解|先解析内容,再建立知识
要让知识库真正可用,第一步不是“把文件传进去”,而是在存储的时候尽可能保持文档原本表达的内容与结构。
WeKnora 支持 PDF、Word、Excel、PPT、Markdown、HTML、EPUB、MHTML、图片、CSV、JSON、XMind 等多种格式。面对不同类型的文件,系统通过可配置的解析流程将原始内容转化为可处理的数据;对于涉及图像或音视频信息的内容,也可在处理配置中接入视觉语言模型(VLM)与语音识别(ASR)等多模态能力。
在 0.8.0 中,WeKnora 内置了 anydoc 文档解析引擎。对于 Office 文档及 anydoc 可转换的类型,解析可在 Go 应用进程内完成,无需再往返调用 docreader。新的 XMind 大纲解析也让思维导图可以像其他文档一样进入知识库并建立索引。
解析完成后,文档不会只变成一段无法回溯的文本。系统支持保留文件夹结构、管理文档元数据,并允许直接编辑检索分块。每次分块编辑都会留下版本快照,用户可以查看差异、回滚到此前版本;索引也会随编辑自动重建。
新版本还增加了“自动标签”能力。文档解析完成后,模型会从知识库已有标签中选择匹配项,以增量方式关联到文档;自动标签不会创建新标签,也不会覆盖人工标签。这样,知识库既能利用模型辅助整理,也能保留团队已经建立的分类体系。
知识库支持文件夹树、批量操作与文档管理

直接编辑知识分块,并查看版本历史与差异

知识建模|从一堆片段,到彼此关联的知识
文档被正确解析,只解决了“读进来”的问题。接下来,系统还需要决定如何理解和组织它。
WeKnora 提供了多种检索与知识建模方式。对于常规问答,系统可结合关键词检索、稠密向量检索、父子分块等策略,从知识库中找到与问题相关的内容;在需要利用内容之间关系的场景中,还可通过 GraphRAG 等图谱增强方式扩展检索。
除了回答一个具体问题,WeKnora 还提供 Wiki 模式。它可以将原始文档进一步整理为相互链接的 Markdown 知识页面,并生成可视化知识图谱。这里的重点不是把文档“画成一张图”,而是让原本分散的段落、概念和主题之间的关联变得可浏览、可编辑、可追溯。
当知识不再只是检索结果里的一小段文字,用户可以沿着一个概念继续查看相关页面,也能在内容更新后维护这些页面的版本。这使知识库从“被动回答问题的资料夹”,进一步变成可以逐步完善的知识工作台。
Wiki 模式将文档整理为可关联、可浏览的知识页面

知识图谱展示 Wiki 页面之间的关联

Agent 工作台|从“找到答案”,到“继续把事做完”
RAG 问答可以帮助用户从知识库中找到答案,但很多实际任务不会在一次回答后结束。
比如,Agent 找到资料后,可能需要写一个脚本处理文件、调用一个专业 Skill、生成一份 Office 文档,或把网页上的新信息与知识库内容结合起来。如果这些操作直接发生在部署服务所在的主机环境中,文件边界、网络访问和运行风险都会变得难以控制;如果每执行一步就重新创建一个环境,前面生成的文件和状态又无法自然延续。
为此,WeKnora 0.8.0 引入会话持久化的 Skill Sandbox Runtime。每个聊天会话可以配置一个运行时沙箱;命令执行、文件读写、附件暂存和生成文件收集,都落在同一个会话工作区中。系统支持Docker、E2B 和 CubeSandbox 三种沙箱后端,开发者可以根据本地自托管或云端环境选择合适的运行方式。
沙箱的价值不只是“能运行脚本”。它让一项多步任务拥有连续的工作现场:第一步下载或生成的文件,可以在第二步继续读取和修改;会话结束后,本轮对话在沙箱中产生的文件会被收集为对话产物,用户可以下载。对话正文也支持以卡片形式渲染 HTML、Office 文档、图片和代码文件等产物,点击即可在线预览。
Agent 模式可组合知识检索、工具与沙箱完成多步任务

Skill 与安全边界|让 Agent 用自己的“电脑”
让 Agent 进入沙箱,只是给了它一个工作台。它还需要工具,但工具不能不加边界地执行。
WeKnora 将 Skill 作为工作区中的独立资源进行管理。用户可以从 ClawHub、SkillHub/skills.sh、GitHub 或 GitLab 地址、ZIP 压缩包等来源安装 Skill;安装过程提供实时进度、安装记录、停止安装、重新安装和卸载等能力,管理界面还支持浏览、编辑已安装 Skill 的文件。
在实际运行中,Agent 可以使用绑定工作区内的工具和文件。管理员可以为 Agent 配置可访问的 Skill 范围,并将文件、沙箱工具操作限定在对应工作区内,避免工具和文件在不相关的任务之间混用。
安全控制同样贯穿运行过程。Skill 所需的个人级或工作区级环境变量可在运行时注入,并且不会被读取回显;沙箱可配置网络策略,支持默认拒绝出网,以及 allow list、deny list 等规则。对于 Docker 后端,WeKnora 默认关闭相关能力,需要管理员显式开启,避免将主机 Docker 权限直接暴露给任务环境。
这意味着,Agent 不再只是“会调用工具”的对话模型:它有一个可持续的工作区、一组明确来源的 Skill,以及围绕文件、环境变量和网络访问建立的运行边界。
Skill 目录支持从外部来源安装,并展示安装过程

对话持续演进|让上下文、记忆与产物留得下来
当对话变长,问题不只在于信息越来越多,还在于关键上下文容易被淹没,生成的文件也容易散落在不同消息里。
WeKnora 为长对话加入了类似问题大纲/迷你地图的 Outline,并在对话流中显示创建时间,帮助用户在多轮交流中快速定位某个问题。前端也增加了对沙箱文件读写、脚本执行、Skill 读取等事件的呈现,让 Agent 在做什么不再只是一行最终答案。
在模型侧,系统支持为对话模型设置 context window,以指导何时触发自动压缩。对于较长的沙箱回合,工具历史会进行上下文压缩,而不是简单截断;同时通过稳定的 prompt 前缀和缓存标记,改善兼容后端的缓存命中率。
0.8.0版本还新增了跨会话长期记忆。工作区开启后,系统可以围绕用户提取画像、偏好、事实、在办事项和长期关注等记忆;用户可以显式写入,自动提取的记忆则等待用户确认。对话过程中,常驻的画像与偏好信息可被自动带入,其他情境信息则按需检索。这样,连续的工作不必每次从零介绍背景,同时用户仍保留对记忆启用和确认的控制。
模块化与生态|让知识连接更多来源与模型
不同团队的知识来源、模型服务和部署条件并不相同。有人使用本地模型,有人接入云端模型;有人希望使用 PostgreSQL,有人已有 Elasticsearch、Milvus 或其他向量数据库;对于数据敏感的组织,知识系统还需要在内网或私有环境运行。
因此,WeKnora 将从文档解析、向量化、检索到大语言模型推理的流程做成模块化解耦设计。模型、Embedding、向量数据库和存储组件可以按需替换和扩展。项目支持本地部署、Docker Compose 部署及 Kubernetes(Helm)部署,并提供 Web UI、RESTful API、命令行、Chrome Extension、网站嵌入 Widget 和微信小程序等入口。
新版本还增加了 GitLab 和腾讯 IMA 数据源,支持将更多团队协作内容同步进知识库;LiteLLM 成为一等的 chat、embedding 和 rerank provider;Exa 与 Metaso 也可作为网络搜索提供方接入。与此同时,官方 DeepSeek Harness 插件已发布,可让 DeepSeek Harness 编码代理通过只读工具检索 WeKnora 中的知识。
在运行过程中,系统可通过 Langfuse Tracing 查看文档解析的阶段进度与链路信息,帮助使用者定位处理问题、观察运行过程。
Langfuse Tracing 展示文档解析与运行链路

快速开始|用三步启动本地知识库
WeKnora 提供 Docker Compose 部署方式。准备好 Docker、Docker Compose 与 Git 后,可执行以下命令启动基础服务:
启动完成后,可在浏览器访问:
● Web UI:http://localhost
● 后端 API:http://localhost:8080
● Langfuse:http://localhost:3000
如果需要知识图谱或对象存储等可选组件,可通过 Docker Compose Profile 启动对应服务。具体配置与生产环境安全建议,请参考项目 README 与部署文档。
对于希望更快接入微信生态的用户,WeKnora 也作为微信对话开放平台的核心技术框架,支持上传知识后配置智能问答服务,并可用于公众号、小程序等场景。
结语
从“把文档传进知识库”到“让文档真正成为可用知识”,中间隔着文档解析、知识组织、检索、推理、编辑和持续更新等一整条链路。
WeKnora 希望解决的也不只是“给文档加一个问答框”。它让知识库先读懂复杂内容,再把内容组织为可检索、可追溯、可持续维护的知识资产;当任务不止需要一个答案时,Agent 还可以在有边界的沙箱工作区中调用工具、生成产物、推进多步处理。
WeKnora 采用 MIT License 开源。我们期待更多开发者和团队共同参与,让分散在不同格式、不同系统中的知识,更容易被理解、被使用,也更容易持续演进。
项目地址:
https://github.com/Tencent/WeKnora
官网地址:
https://weknora.weixin.qq.com
更新详情:
https://github.com/Tencent/WeKnora/blob/main/CHANGELOG.md
微信对话开放平台:
https://chatbot.weixin.qq.com
本文来自作者:微信AI,公众号:微信AI
题图来自微信官方
- 目前还没评论,等你发挥!

起点课堂会员权益




