GitHub 趋势 · 第 51 期

同一份仓库,官方给了四种许可口径

#RAG#知识库#腾讯

先说结论。Tencent/WeKnora 是个真在跑的项目:Go 写的、22,302 star、3,208 个 fork,发布节奏是 1 到 2 周一个版本,README 有四个语言版本。这个规模的东西,作者还愿意在仓库里给 AI agent 留一份操作契约(cli/AGENTS.md,33,014 字节,比给人看的 cli/README.md 还长 1.7 倍)。

但它有个很具体的小毛病:关于「这个项目到底用什么许可」,你在这份仓库里能读到四种不同答案。GitHub 说 Other,README 徽章说 MIT,LICENSE 正文说「MIT,但第三方组件除外」,而仓库里那份 Homebrew formula 写的是 Apache-2.0。

最后那个最值得看,因为它顺手暴露了另一件事:这个项目旁边的几条「捷径」,全都还没通。官方文档里写着「预编译二进制和 Homebrew 都还只是计划」,而仓库里那份 formula 指向的发布地址返回 404。

背景补一下:WeKnora 是腾讯出品的 LLM 知识平台,主页挂在 weknora.weixin.qq.com,仓库建于 2025-07-22,语言是 Go,默认分支 main,最近一次 push 是 2026-09-11(也就是昨天)。

自建一套 RAG 的痛点从来不在模型。解析、分块、检索、重排、权限、观测、IM 接入 —— 这七件事,单独做任何一件都不算难,难的是它们要串成一条链,还得让业务同学点得动。

WeKnora 的定位就是「一次给你全套」。代价也很直接:选择权全部留给你,而选择是要花时间的。

它到底是个什么项目

官方的一句话定义:Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki. —— 把原始文档变成三样东西:可查询的 RAG、能自主推理的 Agent,以及一个会自己维护的 Wiki。

这三样各自是一个模块:Quick Q&A 是 RAG 快问;ReAct Agent 做多步推理,会自己调检索、MCP 工具、沙箱和网络搜索;Wiki Mode 让 Agent 把原始文档蒸馏成互相链接的 Markdown 知识库,带页面修订历史、行级 diff 和一键回滚。

还有个细节挺有意思:仓库有四个语言版本的 README —— 英文 32,828 字节、简体中文 30,515、日文 38,655、韩文 33,370。日文版是最长的,中文版是四个里最短的。除了英文 README,仓库里还有一份独立的简体中文 README;docs/ 目录里另外躺着一批中文文档(IM集成开发文档.md 81,957 字节、数据源导入开发文档.md 42,088、RBAC说明.md 16,620)。中文资料其实更厚,但入口在英文 README 里 —— 中文使用者反而要翻英文文档才找得到中文说明。

四种许可口径,逐一核对

出处说法
GitHub 仓库页 / REST API 的 license 字段Other(spdx_id = NOASSERTION)
README 顶部徽章 + 「📄 License」章节MIT
LICENSE 文件正文MIT,但第三方组件除外(which is licensed under different terms)
Formula/weknora-lite.rbApache-2.0

第一条不是作者写的,是平台解析的结果:那份 LICENSE 把项目正文和第三方清单合成了一个 158,420 字节的文件,GitHub 的识别器认不出来,于是给了个 Other。剩下三条都是官方自己写的,彼此对不上。

但这里要给一句公道话:这不是偷工减料,而是修得太细了。合在这个文件里的 THIRD_PARTY_NOTICES.md(4,139 字节)是我近期读过的同类文本里最讲究的一份,它明确写了这些事:

所以我的结论是:没有发现任何非商用限制,项目主体确实是 MIT。但你要真的把它并入商业产品,请以 LICENSE + THIRD_PARTY_NOTICES.md + licenses/ 这三个文件为准 —— 别拿 README 徽章当结论,也别拿那份 formula 里的 Apache-2.0 当结论。

核心能力:它的「面」铺得有多宽

能力面规模具体
向量库8 个pgvector / Elasticsearch / OpenSearch / Milvus / Weaviate / Qdrant / Apache Doris / Tencent VectorDB
大模型供应商17 个OpenAI / Azure OpenAI / Anthropic / DeepSeek / Qwen / Zhipu / Hunyuan / Doubao / Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Requesty / LiteLLM / Ollama
IM 通道10 个WeCom / Feishu / Lark / QQBot / Slack / Telegram / DingTalk / Mattermost / WeChat / Yunzhijia
网络搜索11 个DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama / SearXNG / Keenable / Zhipu AI / Exa / Metaso
知识来源8 个Feishu wiki / Feishu Drive / Lark / GitLab / Tencent IMA / Notion / Yuque / RSS
文档格式13 类PDF / Word / Txt / Markdown / HTML / EPUB / MHTML / Images / CSV / Excel / PPT / JSON / XMind
客户端入口7 个Web UI / REST API / CLI / Chrome 扩展 / 网站嵌入 widget / 微信小程序 / MCP Server(官方 PyPI 包 tencent-weknora-mcp,29 个工具)

客户端那一行值得单独说。除了上面七个,还有一个官方 DeepSeek Harness 插件 @wxg-prc-cpg/dsh-weknora,给编码 agent 装了四个只读工具:weknora_search(混合检索,逐字返回原文片段)、weknora_read_document(按顺序重组单篇文档的片段)、weknora_ask(走 RAG 或 ReAct 管道给带引用的答案)、weknora_list_knowledge_bases(列出知识库,让 agent 自己限定检索范围)。官方的解释是:The harness ships no retrieval, embedding or knowledge-base capability of its own. —— 这个 harness 自己没有检索能力,所以插件补给它。

平台侧还有一块是给运维看的:四级角色矩阵(Owner / Admin / Contributor / Viewer)加每个知识库的资源归属、每个空间的审计日志;API key 和 MCP 凭据用 AES-256-GCM 落库加密;任务队列按阶段分 worker pool(core / post-process / enrichment / maintenance,外加一个独立的 Wiki pool),并且每个模型有独立的后台并发闸。这些东西不写在首页上,但决定它能不能被运维接住。

上手:真正的前置条件不是 Docker 和 Git

README 的 Prerequisites 只有两行内容:Docker 与 Docker Compose、Git。安装也是四条命令:

git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
cp .env.example .env   # Edit .env as needed, see comments in the file
docker compose pull     # Pull the latest images
docker compose up -d    # Start core services

起来之后:Web UI 在 http://localhost,后端 API 在 http://localhost:8080。想用本地 Ollama,先跑 ollama serve > /dev/null 2>&1 &

但真正的门槛在那条 cp 上。那份 .env.example 有 42,463 字节。官方产品文档站在 v0.7.2 的发布说明里自己交代了规模:六节、约 50 页、覆盖约 360 个 API 端点与约 150 个环境变量。也就是说「前置条件两条」这句话在预算上是不成立的 —— 前置条件里没写的那 150 个变量,才是你要花时间的地方。

可选组件按 profile 叠加,多个 profile 可以组合:

Profile用途命令
(默认)核心服务docker compose pull && docker compose up -d
full全部功能docker compose --profile full pull && docker compose --profile full up -d
neo4j知识图谱(Neo4j)docker compose --profile neo4j pull && docker compose --profile neo4j up -d
minio对象存储(MinIO)docker compose --profile minio pull && docker compose --profile minio up -d
langfuse链路追踪(Langfuse)docker compose --profile langfuse pull && docker compose --profile langfuse up -d

要改代码的话,官方推荐的是快速开发模式,不用每次重建镜像:

# Start infrastructure
make dev-start

# Start backend (new terminal)
make dev-app

# Start frontend (new terminal)
make dev-frontend

升级那一段有一条官方警告,值得逐字读:docker compose up -d alone reuses locally cached images and may leave the UI version out of sync with the release you downloaded. 翻译过来就是 —— 只跑一条 up 会复用本地旧镜像,跑起来的 UI 版本可能和你下载的发布版对不上。正确姿势是先钉版本号:

# Set WEKNORA_VERSION in .env to the target release (e.g. 0.7.0), or keep latest
docker compose pull     # Pull images matching WEKNORA_VERSION
docker compose up -d    # Recreate containers with new images

命令行那边另有一套入口,官方给它定的调子是「agent-first」:每条命令默认吐一个稳定的 JSON 信封(错误码映射到退出码),--format text 才给人看。

weknora profile add prod --host https://kb.example.com --use
weknora auth login
weknora kb list
weknora link --kb my-knowledge-base    # bind the current directory
weknora doc upload notes.md
weknora chat "summarise the design doc"

我的判断:适合谁、不适合谁、坑在哪

适合:需要私有化部署、且想把 RAG + Agent + 多租户权限 + IM 接入一次凑齐的中小团队;文档散在飞书 / Notion / 语雀 / GitLab 上、想收口成一套可检索资产的组织;以及想看清楚「企业级 RAG 到底要接多少东西」的工程师 —— 它把清单摊开了。

不适合:只想要一个「五十行代码能用起来」的向量检索库的人。它的最小形态是多服务 Docker Compose,不是一行 pip install。也不是想在单人笔记本上零依赖试水的人(见下面第三条)。

一句话:它是「全套方案」,不是「一个组件」。全套的代价就是配置面,而配置面恰好是它唯一没帮你省掉的东西。

仓库:Tencent/WeKnora(https://github.com/Tencent/WeKnora)

star:22,302(GitHub REST API 实测,2026-09-12)· fork 3,208 · watcher 110 · 未关闭 issue 737 · 仓库体积 162,591 KB

Trending 快照:周榜 +815 本周 · 榜内显示 22,310 star —— 与 API 实测差 8,两处并列写出,不取其一

语言 / 许可:Go · README 与其 License 章节声明 MIT;第三方组件各自许可,见 THIRD_PARTY_NOTICES.md 与 licenses/ 目录

最新发布:v0.8.0(2026-09-03,prerelease=false,assets 为空)· VERSION 文件:0.8.0 · tag 首页 30 个全为 v0.x · 近十五个发布跨 2026-03-19 至 2026-09-03

建仓 2025-07-22 · 最近 push 2026-09-11 · 默认分支 main

数据来源:GitHub Trending 官方页面 + GitHub REST API 实测(api.github.com 与 raw.githubusercontent.com);抓取时间:2026-09-12 03:30 (GMT+8)

本期是第 51 期。你如果在生产里跑过 WeKnora,或者跑过同类的东西,最费劲的是哪一步 —— 配置、解析质量,还是权限?评论区聊聊,我会挑几个具体问题做验证。

下期预告:榜单上的 agent skills 类仓库已经堆了一屏(obra/superpowersmattpocock/skillsopenai/skillsarchifydiagram-designhumanizerhumanlayer/skillsjakubkrehel/skills 等等),单个写已经写过六个。下期优先做一期横向对比:能力边界、许可、安装方式、各自适配哪个 agent,做成一张能直接照着选的表。如果榜单出现明显更强的新面孔,就改做单项目精读。

#RAG#知识库#腾讯