README_CN.md
</a>
</a>
<a href="https://chatbot.weixin.qq.com" target="_blank">
</a>
<a href="https://github.com/Tencent/WeKnora/blob/main/LICENSE">
</a>
<a href="./CHANGELOG.md">
</a>
项目介绍 • 架构设计 • 核心特性 • 快速开始 • 文档 • 开发指南
</h4> </p>WeKnora(维娜拉) 是一款开源的、基于大语言模型(LLM)的知识管理框架,专为企业级文档理解、语义检索与智能推理场景打造。
框架围绕三大核心能力构建:RAG 快速问答适合日常知识查询,ReAct Agent 智能推理自主编排知识检索、MCP 工具与网络搜索完成复杂多步任务,全新的 Wiki 模式则让 Agent 从原始文档中自治生成相互链接的 Markdown 知识库与可视化知识图谱。结合多源数据接入(飞书 / Notion / 语雀,更多持续接入中)、二十余家主流模型厂商集成、Langfuse 全链路可观测性,以及完全可私有化部署的模块化架构,WeKnora 帮助团队把分散文档沉淀为可查询、可推理、可持续演进的专属知识资产。
框架支持从飞书、Notion 及语雀等外部平台自动同步知识(更多数据源持续接入中),覆盖 PDF、Word、图片、Excel 等十余种文档格式,并可通过企业微信、飞书、Slack、Telegram 等 IM 频道直接提供问答服务。模型层面兼容 OpenAI、DeepSeek、Qwen(阿里云)、智谱、混元、Gemini、MiniMax、NVIDIA、Ollama 等主流厂商。全流程模块化设计,大模型、向量数据库、存储等组件均可灵活替换,支持本地与私有云部署,数据完全自主可控。WeKnora 还无缝集成了 Langfuse,为 Agent 运行、Token 使用及任务流水线提供了全面的可观测性追踪。
v0.5.0 版本亮点:
json_repair 工具以自动修复和解析异常 JSON 输出,预置了 OpenMAIC Classroom 智能体技能,并支持在 DuckDB 数据分析中加载 Excel 的所有工作表llm_debug)和日志记录机制v0.4.0 版本亮点:
v0.3.6 版本亮点:
v0.3.5 版本亮点:
v0.3.4 版本亮点:
v0.3.3 版本亮点:
v0.3.2 版本亮点:
v0.3.0 版本亮点:
DISABLE_REGISTRATION控制v0.2.0 版本亮点:
从文档解析、向量化、检索到大模型推理,全流程模块化解耦,组件可灵活替换与扩展。支持本地 / 私有云部署,数据完全自主可控,零门槛 Web UI 快速上手。
智能对话
| 能力 | 详情 |
|---|---|
| 智能推理 | ReACT 渐进式多步推理,自主编排知识检索、MCP 工具与网络搜索,支持自定义智能体 |
| 快速问答 | 基于知识库的 RAG 问答,快速准确地回答问题 |
| Wiki 模式 | Agent 驱动从原始文档中自动生成并维护结构化、相互链接的 Markdown Wiki 知识页面 |
| 工具调用 | 内置工具、MCP 工具、网络搜索 |
| 对话策略 | 在线 Prompt 编辑、检索阈值调节、多轮上下文感知 |
| 推荐问题 | 基于知识库内容自动生成推荐问题 |
知识管理
| 能力 | 详情 |
|---|---|
| 知识库类型 | FAQ / 文档 / Wiki,支持文件夹导入、URL 导入、标签管理、在线录入 |
| 数据源导入 | 飞书 / Notion / 语雀 知识库自动同步(更多数据源开发中),支持增量与全量同步 |
| 文档格式 | PDF / Word / Txt / Markdown / HTML / 图片 / CSV / Excel / PPT / JSON |
| 检索策略 | BM25 稀疏召回 / Dense 稠密召回 / GraphRAG 图谱增强 / 父子分块 / 多维度索引 |
| 端到端测试 | 检索+生成全链路可视化,评估召回命中率、BLEU / ROUGE 等指标 |
集成与扩展
| 能力 | 详情 |
|---|---|
| 模型厂商 | OpenAI / Azure OpenAI / DeepSeek / Qwen(阿里云)/ 智谱 / 混元 / 豆包(火山引擎)/ Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Ollama |
| 向量数据库 | PostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant |
| 对象存储 | 本地 / 腾讯云COS / 火山引擎 TOS / MinIO / AWS S3 / 阿里云 OSS |
| IM 集成 | 企业微信 / 飞书 / Slack / Telegram / 钉钉 / Mattermost / 微信 |
| 网络搜索 | DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama |
平台能力
| 能力 | 详情 |
|---|---|
| 部署 | 本地 / Docker / Kubernetes (Helm),支持私有化离线部署 |
| 界面 | Web UI / RESTful API / Chrome Extension / 微信小程序 |
| 可观测性 | 集成 Langfuse 以追踪 ReAct 循环、Token 消耗、工具调用和任务流水线 |
| 任务管理 | MQ 异步任务,版本升级自动数据库迁移 |
| 模型管理 | 集中配置,知识库级别模型选择,多租户共享内置模型,WeKnora Cloud 托管模型与文档解析 |
WeKnora Chrome 插件支持在浏览器中直接将网页内容采集到 WeKnora 知识库。选中文本、图片或整个页面,一键保存为知识条目,无需复制粘贴或手动上传文件。
WeKnora 微信小程序 提供轻量移动端客户端,支持配置 WeKnora API、选择知识库、导入 URL,并在微信内向知识库提问。
WeKnora ClawHub Skill 是 WeKnora 发布在 ClawHub 平台上的技能。安装后,可通过 WeKnora REST API 上传文档(文件 / URL / Markdown)、执行混合检索(向量 + 关键词)以及管理知识条目。
git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
cp .env.example .env # 按需编辑 .env,详见文件内注释
docker compose up -d # 启动核心服务
启动成功后访问 http://localhost 即可使用。
如需使用本地 Ollama 模型,请先运行
ollama serve > /dev/null 2>&1 &
按需添加 --profile 启动额外组件,多个 profile 可叠加使用:
| Profile | 说明 | 启动命令 |
|---|---|---|
| (默认) | 核心服务 | docker compose up -d |
full | 全部功能 | docker compose --profile full up -d |
neo4j | 知识图谱 (Neo4j) | docker compose --profile neo4j up -d |
minio | 对象存储 (MinIO) | docker compose --profile minio up -d |
langfuse | 链路追踪 (Langfuse) | docker compose --profile langfuse up -d |
组合示例:docker compose --profile neo4j --profile minio up -d
停止服务:docker compose down
| 服务 | 地址 |
|---|---|
| Web UI | http://localhost |
| 后端 API | http://localhost:8080 |
| 链路追踪 (Langfuse) | http://localhost:3000 |
WeKnora 支持将文档转化为知识图谱,展示文档中不同段落之间的关联关系。开启知识图谱功能后,系统会分析并构建文档内部的语义关联网络,不仅帮助用户理解文档内容,还为索引和检索提供结构化支撑,提升检索结果的相关性和广度。
具体配置请参考 知识图谱配置说明 进行相关配置。
请参考 MCP配置说明 进行相关配置。
WeKnora 作为微信对话开放平台的核心技术框架,提供更简便的使用方式:
常见问题排查:常见问题排查
详细接口说明请参考:API 文档
产品规划与计划:路线图 (Roadmap)
如果你需要频繁修改代码,不需要每次重新构建 Docker 镜像!使用快速开发模式:
# 启动基础设施
make dev-start
# 启动后端(新终端)
make dev-app
# 启动前端(新终端)
make dev-frontend
开发优势:
详细文档: 开发环境快速入门
WeKnora/
├── client/ # go客户端
├── cmd/ # 应用入口
├── config/ # 配置文件
├── docker/ # docker 镜像文件
├── docreader/ # 文档解析项目
├── docs/ # 项目文档
├── frontend/ # 前端项目
├── internal/ # 核心业务逻辑
├── mcp-server/ # MCP服务器
├── migrations/ # 数据库迁移脚本
└── scripts/ # 启动与工具脚本
欢迎通过 Issue 反馈问题或提交 Pull Request。
流程: Fork → 新建分支 → 提交更改 → 创建 PR
规范: 使用 gofmt 格式化代码,遵循 Conventional Commits 提交(feat: / fix: / docs: / test: / refactor:)
重要提示: 从 v0.1.3 版本开始,WeKnora 提供了登录鉴权功能,以增强系统安全性。在生产环境部署时,我们强烈建议:
感谢以下优秀的贡献者们:
本项目基于 MIT 协议发布。 你可以自由使用、修改和分发本项目代码,但需保留原始版权声明。