git fetch origin main
git diff --check origin/main...HEAD
golangci-lint run --new-from-rev=origin/main ./...
go test ./path/to/changed/package -count=1
提交前请对改动过的 Go 文件运行 gofmt。对于前端改动,请在 frontend/ 目录运行相关测试;如果改动涉及 TypeScript 或 Vue 组件,还应运行 npm run type-check。
维护者使用的全仓验证命令仍然是:
make fmt
make lint
make test
make fmt 会格式化整个 Go 仓库,因此请仅在工作区干净时运行,并检查产生的 diff。部分全量测试依赖本地基础设施或服务配置。如果全仓检查因无关的基线问题或环境依赖失败,请在 PR 中写明具体命令和错误,同时提供本次改动范围内通过的定向测试。
| English | 简体中文 | 日本語 | 한국어 |
项目介绍 • 架构设计 • 核心特性 • 快速开始 • 文档 • 开发指南
💡 WeKnora — 让文档活起来:RAG、Agent 推理与自动 Wiki 一体化的知识框架
📌 项目介绍
WeKnora(维娜拉) 是一款开源的、基于大语言模型(LLM)的知识管理框架,专为企业级文档理解、语义检索与智能推理场景打造。
https://github.com/user-attachments/assets/2819598d-3140-4623-814a-8162a22b653c
2 分 25 秒 · 1080p · 英文旁白,中英字幕。
框架围绕三大核心能力构建:RAG 快速问答适合日常知识查询,ReAct Agent 智能推理自主编排知识检索、MCP 工具、技能目录、会话级 Docker / E2B / Cube 沙箱与网络搜索完成复杂多步任务,全新的 Wiki 模式则让 Agent 从原始文档中自治生成相互链接的 Markdown 知识库与可视化知识图谱,并支持人工编辑、版本历史与一键回滚。跨会话长期记忆会记住你是谁、你常问什么。知识加工环节也完全可控:树形文件夹保留上传目录结构,分块编辑与版本历史让检索片段可以像文档一样被修改、比对与回滚。结合多源数据接入(飞书知识库 / 飞书云盘 / GitLab / 腾讯 IMA / Notion / 语雀 / RSS,更多持续接入中)、网站嵌入 Widget 将智能体发布到外部站点、权限范围 API Key 与 Principal 模型面向程序化集成、每空间多实例存储后端灵活编排数据落地、二十余家主流模型厂商集成(含 LiteLLM)、Langfuse 全链路可观测性与运行时任务队列面板 + Worker 池治理、企业级多空间 RBAC(四级角色矩阵 + 资源归属 + 空间审计日志),以及完全可私有化部署的模块化架构,WeKnora 帮助团队把分散文档沉淀为可查询、可推理、可持续演进的专属知识资产。
框架支持从飞书、GitLab、腾讯 IMA、Notion 及语雀等外部平台自动同步知识(更多数据源持续接入中),覆盖 PDF、Word、图片、Excel、XMind 等十余种文档格式,并可通过企业微信、飞书、Slack、Telegram 等 IM 频道直接提供问答服务。模型层面兼容 OpenAI、DeepSeek、Qwen(阿里云)、智谱、混元、Gemini、MiniMax、NVIDIA、LiteLLM、Ollama 等主流厂商。Office 文档可由 anydoc 在 Go 进程内解析。全流程模块化设计,大模型、向量数据库、存储等组件均可灵活替换,支持本地与私有云部署,数据完全自主可控。WeKnora 还无缝集成了 Langfuse,为 Agent 运行、Token 使用及任务流水线提供了全面的可观测性追踪。
✨ 最新更新
search_memory);进程内 anydoc Office 解析;官方 DeepSeek Harness 插件@wxg-prc-cpg/dsh-weknora;GitLab 与腾讯 IMA 数据源;LiteLLM;Exa 与 Metaso 网络搜索;XMind 解析;对话产物、问题大纲与时间戳;上下文压缩与供应商 Prompt Cache 标记。另有 OIDC JWKS 验签、可选复杂密码、文档自动打标签,以及大范围沙箱/安全加固。详见CHANGELOG.md。resource_urls=public/RESOURCE_URL_MODE(第三方 App 无需二次调用鉴权代理即可加载图片与文件);飞书云盘数据源与 docx blocks 逐类型下钻同步;文档批量打标签;MCP Server 1.1.x(迁移到 mcp 2.x 高级 API,官方 PyPI 包tencent-weknora-mcp,新增create_knowledge_from_text与list_shared_knowledge_bases,共 29 个工具);AWS S3 默认凭据链(IAM Role / IRSA);本地 HTML 上传解析;QQBot Markdown 回复;新增 app / frontend / docreader / mcp-server 的 PR CI 检查。另有 router 与 modelcontext 大规模重构、重排与分块质量优化,以及大量稳定性修复。详见CHANGELOG.md。CHANGELOG.md。@Skill / @MCP提及范围化 Agent 运行时;会话内 MCP OAuth 授权;QQBot 与 Lark(飞书国际版)IM 集成;Redis TLS;Requesty 模型厂商 + Keenable 网络搜索;无空间预置与受控自助创建工作区;管理员密码重置;知识库复制流程;weknoraCLI v0.10。同时完成大范围安全加固(SSRF、密钥脱敏、SQL 校验、越权)。详见CHANGELOG.md。CHANGELOG.md。process_config)+ 上传确认对话框;文档重新解析(reparse)支持覆盖配置;weknoraCLI v0.9(内置 Agent Skills、session stop、auth/profile 统一);知识库框选多选;pgvector 1024 维 HNSW 索引;对话资源 Store 重构;仅保留 Langfuse 追踪(移除 Jaeger)。详见CHANGELOG.md。weknoraCLI v0.7 / v0.8(Agent 优先线协议、NDJSON、--dry-run);OpenDataLoader 与 PaddleOCR-VL 解析引擎;MCP Server 多传输(stdio / SSE / HTTP);按模型的思考模式配置;腾讯云 LKEAP 重排 + 原生 Gemini Embedding + MiniMax-M3。详见CHANGELOG.md。Owner/Admin/Contributor/Viewer+ 按 KB 归属 + 每空间审计日志)、空间成员管理与多工作区 UX、自助创建工作区;weknoraCLI v0.4 正式版 +mcp serve;KB 检索跨向量库扇出;MCP / 数据源凭据 AES-256-GCM 加密 + docreader gRPC TLS + Token;新增智谱 Embedding 与华为云 OBS;服务端用户偏好;Go 1.26.0。详见docs/RBAC说明.md与CHANGELOG.md。weknoraCLI 早期版本。final_answer工具。📱 功能展示
🏗️ 架构设计
从文档解析、向量化、检索到大模型推理,全流程模块化解耦,组件可灵活替换与扩展。支持本地 / 私有云部署,数据完全自主可控,零门槛 Web UI 快速上手。
🧩 功能概览
智能对话
shell_exec、文件工具、产物收集、按配置网络策略;已移除 Local 宿主机进程后端search_memory@Skill / @MCP提及以按轮次范围化 Agent 运行时知识管理
process_configAPI 覆盖解析引擎、分块、多模态(VLM / ASR)、图谱抽取与问题生成;支持 reparse 时调整配置process_config集成与扩展
resource_urls=public直接返回可加载的文件/图片直链,免去二次鉴权代理调用tencent-weknora-mcp,29 个工具,支持 stdio / SSE / HTTP 三种传输平台能力
weknora)/ Chrome Extension / 网站嵌入 Widget / 微信小程序🧩 Chrome 插件
WeKnora Chrome 插件支持在浏览器中直接将网页内容采集到 WeKnora 知识库。选中文本、图片或整个页面,一键保存为知识条目,无需复制粘贴或手动上传文件。
📱 微信小程序
WeKnora 微信小程序 提供轻量移动端客户端,支持配置 WeKnora API、选择知识库、导入 URL,并在微信内向知识库提问。
🦞 ClawHub Skill
WeKnora ClawHub Skill 是 WeKnora 发布在 ClawHub 平台上的技能。安装后,可通过 WeKnora REST API 上传文档(文件 / URL / Markdown)、执行混合检索(向量 + 关键词)以及管理知识条目。
🐋 DeepSeek Harness 插件
@wxg-prc-cpg/dsh-weknora是官方的 DeepSeek Harness(dsh)插件(说明)。harness 自身不带任何检索、向量或知识库能力,这个插件把你的文档接进编码 Agent:dsh plugin --profile web add @wxg-prc-cpg/dsh-weknora,指向一个部署,Agent 的工具集里就会出现四个只读工具。weknora_search— 混合检索,返回原文片段,每条都带可复用的knowledge_idweknora_read_document— 把单个文档的分块按序拼回正文,支持翻页weknora_ask— WeKnora 自己带引用的成稿答案,走 RAG 或 ReAct 流水线weknora_list_knowledge_bases— 知识库名称与 id,便于 Agent 自己缩小检索范围🚀 快速开始
🛠 环境要求
📦 安装与启动
启动成功后访问 http://localhost 即可使用。
🔄 版本升级
若已有部署并下载了更新的 release:
🔧 可选服务(Docker Compose Profile)
按需添加
--profile启动额外组件,多个 profile 可叠加使用:docker compose pull && docker compose up -dfulldocker compose --profile full pull && docker compose --profile full up -dneo4jdocker compose --profile neo4j pull && docker compose --profile neo4j up -dminiodocker compose --profile minio pull && docker compose --profile minio up -dlangfusedocker compose --profile langfuse pull && docker compose --profile langfuse up -d组合示例:
docker compose --profile neo4j --profile minio pull && docker compose --profile neo4j --profile minio up -d停止服务:
docker compose down🌐 服务地址
http://localhosthttp://localhost:8080http://localhost:3000文档知识图谱
WeKnora 支持将文档转化为知识图谱,展示文档中不同段落之间的关联关系。开启知识图谱功能后,系统会分析并构建文档内部的语义关联网络,不仅帮助用户理解文档内容,还为索引和检索提供结构化支撑,提升检索结果的相关性和广度。
具体配置请参考 知识图谱配置说明 进行相关配置。
配套MCP服务器
请参考 MCP配置说明 进行相关配置。
🔌 使用微信对话开放平台
WeKnora 作为微信对话开放平台的核心技术框架,提供更简便的使用方式:
📘 文档
官方产品文档:
website-docs/—— 按「入门 → 架构 → 功能 → API → 客户端 → 开发」六个板块组织的完整文档,覆盖约 360 个 API 端点、约 150 个环境变量与 9 大扩展点。本目录同时是一个 VitePress 站点,cd website-docs && npm install && npm run dev即可本地预览,也可用目录内的Dockerfile独立部署。常见问题排查:常见问题排查
详细接口说明请参考:API 文档
产品规划与计划:路线图 (Roadmap)
🧭 开发指南
⚡ 快速开发模式(推荐)
如果你需要频繁修改代码,不需要每次重新构建 Docker 镜像!使用快速开发模式:
开发优势:
详细文档: 开发环境快速入门
🤝 贡献指南
欢迎通过 Issue 反馈问题或提交 Pull Request。
流程: Fork → 新建分支 → 提交更改 → 创建 PR
规范: 使用
gofmt格式化代码,遵循 Conventional Commits 提交(feat:/fix:/docs:/test:/refactor:)验证方式
对于范围集中的 PR,优先验证本次改动涉及的文件和包:
提交前请对改动过的 Go 文件运行
gofmt。对于前端改动,请在frontend/目录运行相关测试;如果改动涉及 TypeScript 或 Vue 组件,还应运行npm run type-check。维护者使用的全仓验证命令仍然是:
make fmt会格式化整个 Go 仓库,因此请仅在工作区干净时运行,并检查产生的 diff。部分全量测试依赖本地基础设施或服务配置。如果全仓检查因无关的基线问题或环境依赖失败,请在 PR 中写明具体命令和错误,同时提供本次改动范围内通过的定向测试。🔒 安全声明
重要提示: 从 v0.1.3 版本开始,WeKnora 提供了登录鉴权功能,以增强系统安全性。在生产环境部署时,我们强烈建议:
👥 贡献者
感谢以下优秀的贡献者们:
📄 许可证
本项目基于 MIT 协议发布。 你可以自由使用、修改和分发本项目代码,但需保留原始版权声明。