WeKnora(维娜拉) 是由腾讯微信团队(WXG / 微信对话开放平台,官网 weknora.weixin.qq.com)主导开源的企业级知识管理与 AI 智能体(Agent)框架。基于 MIT 协议开源,项目核心定位在于突破传统“单纯切片做向量检索”的局限,深度融合 RAG 检索增强生成、ReAct Agent 自主推理 与 自动 Wiki/知识图谱生成 三大支柱。


1. 核心架构与技术栈拆解 (Architecture & Tech Stack)

WeKnora 采用了兼顾高并发性能与深度 AI 解析的多语言分布式架构:

flowchart TD
    Client["客户端接入层 (Web / IM / CLI / API / MiniProgram)"]
    
    subgraph ControlPlane ["控制面 (Go 1.26 + Gin)"]
        Router["API Gateway / RBAC / RateLimit"]
        WorkerPool["Worker 池治理 (Ants) + 任务队列 (Asynq/Redis)"]
        AgentEngine["ReAct Agent 运行时 + 长期记忆"]
        MCPClient["MCP 2.x Server / Client (mcp-go)"]
    end

    subgraph DocEngine ["文档处理引擎 (docreader & anydoc)"]
        Anydoc["进程内 anydoc (Go Office Parser)"]
        PyDoc["docreader (Python RPC 服务)"]
        OCR["PaddleOCR-VL / MarkItDown / OpenDataLoader"]
    end

    subgraph SandboxEnv ["安全沙箱运行时 (Sandbox Runtime)"]
        DockerBox["Session-persistent Docker"]
        E2BBox["E2B / Cube Sandbox"]
        VNC["noVNC (Web GUI) + xterm (Terminal)"]
    end

    subgraph StorageLayer ["存储与检索基础设施 (Storage & Vector)"]
        PG["PostgreSQL + pgvector (默认存储与向量)"]
        VDB["可插拔向量库 (Milvus / Qdrant / Weaviate / OpenSearch / Doris)"]
        GraphDB["Neo4j (知识图谱可选)"]
        OSS["对象存储 (MinIO / S3 / 腾讯云 COS / 阿里云 OSS)"]
        Trace["Langfuse (OTel/OTLP 全链路追踪)"]
    end

    Client --> Router
    Router --> WorkerPool
    Router --> AgentEngine
    WorkerPool --> Anydoc
    WorkerPool --> PyDoc
    PyDoc --> OCR
    AgentEngine --> MCPClient
    AgentEngine --> SandboxEnv
    AgentEngine --> StorageLayer

关键组件明细:

  1. 控制面与后端服务 (cmd, internal):

    • 基于 Go 1.26 + Gin,无重型框架包袱,并发吞吐极高。
    • 任务调度采用基于 Redis 的 Asynq 分布式队列与 Ants 协程池,支持细粒度的任务分级治理与重试。
    • 原生集成 ConnectRPC 与 Python 文档解析服务进行内部通信。
  2. 文档解析子系统 (docreader):

    • 独立 Python 容器,集成 Microsoft MarkItDown、PaddleOCR-VL、OpenDataLoader 及自研解析器,支持 PDF、Word、Excel、XMind 等格式的图文混排、公式识别与表格修复。
    • v0.8.0 引入 Go 进程内轻量 Office 解析器 anydoc,降低对重型 Python 微服务的依赖。
  3. 前端架构 (frontend):

    • 基于 Vue 3 + Vite + TDesign (腾讯设计系统) + Pinia。
    • 内置集成 @xterm/xterm(终端输出)与 @novnc/novnc(沙箱桌面远程查看)。
  4. 沙箱运行时 (sandbox):

    • 会话级常驻容器沙箱,支持 Docker、E2B、Cube 等后端,按工作区隔离网络策略。
  5. 模型上下文协议 (mcp-server):

    • 官方发行 PyPI 包 tencent-weknora-mcp,基于 MCP 2.x API 提供 29+ 原生工具,支持 stdio、SSE 与 HTTP 多种传输模式。

2. 三大核心支柱与关键特性 (Core Capabilities)

2.1 工业级 RAG 与知识资产管理

  • 树形文件夹结构:保留上传文档的原生目录树,支持重命名、重新归档。
  • 可回滚的分块编辑 (Chunk Revision History):检索分块可由人工二次干预编辑,支持版本 Diff 比对、一键回滚并自动触发重索引。
  • 混合检索策略:支持 BM25 关键词、Dense 语义向量(HNSW 索引)、GraphRAG 与重排模型(如火山引擎、腾讯 LKEAP 等)多阶段管线。

2.2 ReAct Agent 与技能执行系统

  • 动态工具编排:融合 MCP 外部工具链、联网搜索(SearXNG、Tavily、Bing、Google、Metaso、Exa)与自定义技能(Skills)。
  • 跨会话长期记忆:支持自动抽取并沉淀用户画像(Profile)、偏好(Preference)、事实(Fact)、任务(Task)与兴趣,提供 search_memory 工具。
  • 上下文压缩与 Prompt 缓存:支持针对供应商特性的 Prompt Cache 标记,减少长上下文推理成本。

2.3 自动 Wiki 知识自治与知识图谱 (Auto-Wiki)

  • 原始文档不仅用于被动提问,Agent 可自治将文档解析、去重、综合,提炼为具有相互引用链接的结构化 Markdown Wiki。
  • 自动提取实体关系,生成交互式知识图谱可视化。

3. 企业级生态与治理能力 (Enterprise Readiness)

治理维度实现方案
工作区权限 (RBAC)四级角色矩阵(Owner / Admin / Contributor / Viewer)+ 资源归属细粒度授权
API 凭据安全细粒度 Scoped API Key + Principal 权限模型,敏感凭证采用 AES-256-GCM 加密
数据源接入原生连接飞书/Lark(Wiki & Drive)、GitLab、Notion、语雀、钉钉文档、腾讯 IMA、RSS
机器人与 IM 渠道企业微信、飞书、钉钉、Slack、Telegram、云之家、QQBot、微信小程序全渠道直连
可观测性 (Observability)深度绑定 Langfuse(OTel/OTLP 链路追踪,全面监测 Agent 步骤、Token 与延迟)

4. 横向选型对比 (Comparison Matrix)

对比维度WeKnoraDifyRAGFlowFastGPT
核心定位企业级知识资产引擎 + Agent + Auto-Wiki低代码 AI 应用与工作流编排平台深度版面分析与高精 RAG 引擎轻量易用知识库问答工具
后端语言Go 1.26 + Python (docreader)Python (Flask / Celery)PythonTypeScript (Next.js)
编排模式ReAct 动态自主推理 + 代码沙箱可视化 DAG 拖拽连线 + 节点逻辑RAG 检索管线 + 简单 Agent节点连线 + 模块化编排
文档处理树形结构、分块版本Diff与回滚、anydoc基础清洗与分块深度视觉 OCR / 模板解析 (DeepDoc)基础分块与 QA 对拆分
知识自治支持 Auto-Wiki 网页提炼与知识图谱构建仅存储检索片段仅存储检索片段仅存储检索片段
协同生态企微 / 飞书 / 钉钉 / 语雀 / 云之家等深度集成插件生态极其丰富,全球社区庞大侧重企业后端集成微信 / 企微集成度好

5. 综合评价与选型边界 (Verdict & Guidelines)

适合选用 WeKnora 的场景:

  1. 企业内部知识资产需要“活化”:不仅需要解答问题,还需要把零碎的 PDF、Word、手册自动整理成结构化 Wiki 与知识图谱,并支持人工校准回滚。
  2. 多源多端复杂协同:文档分散在飞书、GitLab、语雀、本地云盘,且需要通过企业微信、飞书、钉钉机器人提供统一服务。
  3. 重视高并发与安全治理:Go 控制面具备极低开销与高并发能力;RBAC 角色、任务队列监控、数据多租户隔离规范完善。
  4. 需要代码沙箱与 MCP 工具链:Agent 需要真实执行 Python/Shell 运算并查看交互式桌面。

暂不建议选用 WeKnora 的场景:

  1. 纯低代码业务流程:如果业务核心是严格按流程图“步骤 A -> 判定 -> 步骤 B”执行,Dify 的可视化 DAG 更加直观可靠。
  2. 极度极端的扫描版面处理:如果全是无序手写表单、极端扭曲扫描件,RAGFlow 的视觉版面算法仍是第一梯队。
  3. 极小规格单机试水:完整集群形态下组件较多(Postgres, Redis, MinIO, Docreader, Sandbox 等),单机建议预留 8GB~16GB 内存。

本文归档于个人知识库 · 领域:CS & AI · 模块:04 Project_CS_AI/AI apps