## 项目概述

WeKnora 是腾讯开源的企业级 LLM 知识平台，旨在将原始文档转化为可查询、可推理、持续演进的知识资产。它围绕三大核心能力构建：基于 RAG 的快速问答、自主编排检索与工具调用的 ReAct 智能体，以及自动生成相互链接 Markdown 知识库的 Wiki 模式。项目支持多源数据导入、20+ LLM 提供商集成、多向量数据库与存储后端，并提供完整的 Web UI、RESTful API、CLI 及 MCP 服务，可本地或私有云部署，确保数据主权。

## 核心功能

- **智能问答**：支持 RAG 快速问答与 ReAct 多步推理，可调用 MCP 工具、技能沙箱与网络搜索。
- **Wiki 模式**：智能体自动将文档蒸馏为结构化、互链的 Markdown 知识库，支持手动编辑、版本历史与一键回滚。
- **长期记忆**：跨会话记忆用户画像、偏好、事实等，自动提取并需用户确认。
- **知识管理**：支持 FAQ/文档/Wiki 知识库、文件夹树、分块编辑与版本历史、批量重解析、自动打标签。
- **多源导入**：支持飞书、GitLab、Notion、语雀、RSS 等数据源自动同步。
- **模型与存储集成**：兼容 OpenAI、DeepSeek、通义、智谱、混元、Gemini、Ollama 等 LLM；支持 pgvector、Elasticsearch、Milvus、Qdrant 等向量库及多种对象存储。
- **IM 集成**：支持企业微信、飞书、Slack、Telegram、钉钉等 IM 渠道。
- **企业级特性**：多工作区 RBAC、细粒度 API Key、审计日志、Langfuse 可观测性、任务队列治理。

## 适用与不适用场景

**适用场景**：
- 企业知识库构建与智能问答。
- 需要自主推理、多步任务处理的智能体应用。
- 团队协作的知识沉淀与 Wiki 自动生成。
- 对数据主权有要求，需本地或私有云部署的场景。

**不适用场景**：
- 需要极简、零依赖快速试用的个人场景（可考虑 Lite 版本，但仓库资料未提供）。
- 对实时性要求极高的场景（异步任务队列可能引入延迟）。
- 需要深度定制 UI 或特定行业逻辑的场景（需自行开发）。

## 技术架构与依赖

- **后端语言**：Go
- **前端**：Vue 3 + Vite（仓库资料未提供具体版本）
- **文档解析**：内置解析器、MinerU、PaddleOCR-VL、anydoc（进程内）等
- **向量数据库**：PostgreSQL (pgvector)、Elasticsearch、OpenSearch、Milvus、Weaviate、Qdrant、Apache Doris、腾讯云 VectorDB
- **对象存储**：本地、MinIO、AWS S3、阿里云 OSS、腾讯云 COS/TOS、金山 KS3、华为 OBS
- **消息队列**：Asynq (Redis)
- **可观测性**：Langfuse (OTLP/OTel)
- **部署**：Docker Compose、Kubernetes (Helm)

## 安装与快速开始

### 前置条件

- Docker 与 Docker Compose
- Git

### 安装与启动

```bash
git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
cp .env.example .env   # 按需编辑 .env

docker compose pull
docker compose up -d
```

启动后访问 `http://localhost` 即可开始使用。

### 可选服务（Docker Compose Profiles）

| Profile | 说明 | 命令 |
|---------|------|------|
| 默认 | 核心服务 | `docker compose up -d` |
| `full` | 全部功能 | `docker compose --profile full up -d` |
| `neo4j` | 知识图谱 | `docker compose --profile neo4j up -d` |
| `minio` | 对象存储 | `docker compose --profile minio up -d` |
| `langfuse` | 可观测性 | `docker compose --profile langfuse up -d` |

## 典型使用方法

### 使用 CLI 进行问答

```bash
weknora profile add prod --host https://kb.example.com --use
weknora auth login
weknora kb list
weknora link --kb my-knowledge-base
weknora doc upload notes.md
weknora chat "总结设计文档"
```

### 使用 API 进行知识问答

```bash
curl -X POST 'http://localhost:8080/api/v1/knowledge-chat/{session_id}' \
  -H 'X-API-Key: your_api_key' \
  -H 'Content-Type: application/json' \
  -d '{"query": "什么是 RAG？", "knowledge_base_ids": ["kb-xxx"]}'
```

### 使用 MCP 服务

安装官方 MCP 包 `tencent-weknora-mcp`，配置后可通过 MCP 客户端调用 29 个工具。

## 配置与部署要点

- **模型配置**：在 `.env` 中配置 LLM、Embedding、Rerank 模型，或使用 `config/builtin_models.yaml` 声明式管理内置模型。
- **安全**：生产环境建议部署在内网，配置防火墙；API Key 与凭据使用 AES-256-GCM 加密存储。
- **可观测性**：配置 `LANGFUSE_*` 环境变量启用 Langfuse 追踪。
- **升级**：升级时需执行 `docker compose pull` 并更新 `WEKNORA_VERSION`，避免 UI 版本不同步。
- **RBAC**：默认启用空间 RBAC，可通过 `WEKNORA_TENANT_ENABLE_RBAC=false` 临时关闭。

## 限制、风险与许可证

- **许可证**：MIT License（仓库资料显示，但 GitHub 元数据为 NOASSERTION，以仓库 LICENSE 文件为准）。
- **安全风险**：项目包含登录认证，但建议仅在内网部署，避免直接暴露公网。
- **已知限制**：技能沙箱的 Docker 后端默认关闭，需显式启用；本地宿主进程沙箱已移除。
- **依赖风险**：部分功能依赖外部服务（如 Neo4j、MinIO、Langfuse），需自行维护。

## 官方链接

- [GitHub 仓库](https://github.com/Tencent/WeKnora)
- [官方网站](https://weknora.weixin.qq.com)
- [微信对话开放平台](https://chatbot.weixin.qq.com)
- [Chrome 扩展](https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd)
- [ClawHub Skill](https://clawhub.ai/lyingbug/weknora)
- [npm 包](https://www.npmjs.com/package/@wxg-prc-cpg/dsh-weknora)

## 信息来源和分析时间

- 信息来源：GitHub 仓库 README、CHANGELOG、文档目录（docs/）及 API 文档。
- 分析时间：2026-09-03（基于最新发布 v0.8.0 的日期）。