GitHub 趋势 · 第 57 期

9 个 Agent 记忆仓库横评:star 最多的那个,其实什么都不存

#Agent记忆#横向对比#技术选型#开源许可

先给判断:这 9 个仓库合计 305,971 star,其中 59.7% 落在唯一一个不保存任何状态的仓库上——microsoft/markitdown,它做的事情是把 PDF、Office 文档转成 Markdown,一次调用,进出之间不留任何东西。而真正给单个 agent 做长期记忆的两个(akitaonrails/ai-memory 6,562 star、jordan-gibbs/hyperresearch 2,644 star)加起来只有 9,206 star,占 3.0%。这不是说 markitdown 不好,它是每个 agent 工作流的第一步,也确实好用;问题在于 star 记录的是「这件事有多通用」,不是你该把记忆托付给谁。挑记忆层要看另外三件事:你的记忆落在哪、删掉索引它还在不在、以及官方靠什么赚钱。

给 agent 装过记忆的人都见过同一个场面:昨天聊了三个小时,今天新开一个窗口,它连你项目叫什么都要重新问一遍。上下文窗口是有限的,agent 本身是无状态的,于是「记忆」成了这一年最拥挤的赛道之一。这一期就把榜单上同一条赛道的 9 个仓库摆在一张桌子上——不比口号,只比能核实的硬字段。

先说选题。今天三张榜都抓了:日榜 16 项、周榜 23 项、月榜 23 项。逐个剔除已写过的 56 个项目、已结案的薄项和已排除项之后,三张榜的未写候选是 0。周榜与月榜零新面孔,日榜只剩两项:nab138/iloader(+50)与 jordan-gibbs/hyperresearch(+153),两个都在备选池里躺了多期,动量数字连续九期没怎么变过。上一期文末我公开预告过:如果还是零候选,就换一个主题族做合集。这一期兑现承诺,换成的主题族就是今天榜上最拥挤的那一族——Agent 的记忆与上下文。hyperresearch 正好也在这一族里,两个待办合成一件。

这 9 个为什么能摆在一张桌子上

收录标准只有一条:它得管「你的知识、或 agent 的上下文,怎么留下来」。9 个仓库分散在日榜(llm_wiki、hyperresearch、OpenResearch)、周榜(markitdown、context-mode、WeKnora)和月榜(OpenViking、semantica、ai-memory)上,定位差得很远——从一行命令装完的转换器,到 docker compose up -d 起一整套的知识平台——但都在回答同一个问题。

硬字段横向核了一遍。6 列全部取自 GitHub REST API 与各仓库原文,没有一个数字来自榜单页面:

仓库Star许可语言主安装通道体量
microsoft/markitdown182,693MITPythonpip4,712 KB
volcengine/OpenViking36,715AGPL-3.0Pythonpip265,053 KB
Tencent/WeKnora22,366MITGodocker compose162,591 KB
mksglu/context-mode22,218Elastic License 2.0TypeScript插件市场 / npm31,898 KB
nashsu/llm_wiki18,765GPL-3.0TypeScript安装包40,354 KB
semantica-agi/semantica12,703MITPythonpip55,648 KB
akitaonrails/ai-memory6,562MITRust本地二进制 / Docker14,764 KB
jordan-gibbs/hyperresearch2,644MITPythonpip1,755 KB
alphaXiv/OpenResearch1,305MITRust安装脚本71,298 KB

表里有一处必须交代清楚:许可这一列有两个来源。markitdown 那一格是 API 的字段值(它的 README 正文根本没写许可证名,只写了 CLA 和商标条款);其余八格取自各仓库自己的 README 或 LICENSE。之所以要分开说,是因为 9 个里有 3 个的 API 许可字段返回 NOASSERTION:context-mode、llm_wiki、WeKnora,而它们的 README 分别写明 Elastic License 2.0、GPL-3.0、MIT。我拉了 llm_wiki 那份 LICENSE 原文核对,是完整的标准 GPL-3.0 全文,只在第一行加了一句项目名与版权人——连标准全文都会被判成 Other。所以结论是:API 的许可字段可以用来看趋势,但商业场景下必须回到仓库里的原文。

错位一:六成的 star 给了一个不存东西的仓库

把 9 个仓库按「记忆到底落在哪」分组,star 分布是这样的:

记忆落在哪仓库数合计 star占比
不保存任何状态(只做格式转换)1182,69359.7%
你自己磁盘上的 Markdown 文件327,9719.1%
本地数据库或索引(SQLite / 本地向量)223,5237.7%
可插拔的图库与向量库后端371,78423.5%
合计9305,971100.0%

四行合计 305,971,与上面那张 9 个仓库的表对得上。最扎眼的是第一行。markitdown 一个仓库吃掉 182,693 star,是这一族总量的 59.7%,而它做的是把文件转成 Markdown——README 自己的定位是 a lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines。它是一次性的、无状态的、也不需要被信任的。它是流水线的入口,不是记忆层。而真正在做长期记忆的两个,全挤在榜单末尾的量级上。

我的理解是:泛用性决定收藏量,决策成本决定使用量。markitdown 任何人 30 秒能用上;而记忆层要你先选形态、备好后端、想清楚数据会被谁看到——它在被使用之前,先要被做一次决策。收藏按钮是在决策之前按下的。所以这一族的 star 分布,量的是「多少人觉得这事该有个解法」,不是「多少人真的把记忆托付给它」。

错位二:删掉索引,记忆还在吗

这是我在这一族里发现的最大分歧,也是选型时最少被问到的问题。同样叫「记忆」,对「索引丢了怎么办」这个问题,这一族里有三个仓库给出的是同一个答案,而第四个的答案正好相反。

这四个里没有一个是在偷懒。context-mode 是故意的:它的定位就是把上下文压到最小,主目录下那份 per-project SQLite 加 FTS5 索引被当成缓存而不是账本,所以它有权利删。但如果你以为「装上它就有长期记忆」,14 天这条会让你在某个周一早上发现上周那个项目查不到了。

判断方法很简单:看它的 README 有没有回答「索引删了记忆还在吗」。把 Markdown 定为唯一真相、索引只当缓存的那三家,合计 27,971 star,占这一族的 9.1%。剩下六家里,两家把记忆放进可插拔的图库与向量库(换后端等于换存储),一家把它放进一整套服务端基础设施(向量库加对象存储,八种后端任选),一家不存,还有两家落在本地 SQLite 上,其中一家会定期清理。

这条不是抽象的哲学问题。你的记忆载体决定了三件事的成本:备份(是 git push 一个目录,还是备份一个数据库加一个对象存储桶)、迁移(换工具时是搬文件,还是写迁移脚本)、审查(能不能直接打开看你的 agent 到底记了什么)。

错位三:一边承诺数据不出你机器,一边在同一页摆着计费路径

这一族最常见的卖点就是「数据是你的」。但以各仓库自己 README 上写明的计费路径为准,9 个里有 5 个在同一份文档里给出了要花钱的那条路

五个,合计 255,634 star,占 83.5%。剩下四个——WeKnora(22,366)、llm_wiki(18,765)、ai-memory(6,562)、hyperresearch(2,644)——在我这一轮核过的 README 里没有找到计费路径。

这里要给一句公道话:这不是黑点。一个自托管项目要长期活着,得有收入来源;把托管做成生意,比把功能锁在付费墙后面体面得多——上面五个的免费版都能自己跑通全流程,付费买的是省运维和 SLA。真正值得在选型时多看一眼的,只是那条线画在哪里:免费版交付的是软件,还是软件的一个演示。(markitdown 那格要单独算:它的计费路径属于 Azure,是另一家产品,跟这个仓库本身无关。)

上手:9 条原命令

下面每一条都逐字取自各仓库 README 或官方文档,我没有改写:

# 1) microsoft/markitdown —— 只转换,不存状态
pip install 'markitdown[all]'
markitdown path-to-file.pdf > document.md

# 2) mksglu/context-mode —— 装进 Claude Code
/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode

# 3) jordan-gibbs/hyperresearch —— 需要 Claude Code
cd your-project
pip install hyperresearch && hyperresearch install
# 之后在 Claude Code 里用 /hyperresearch <anything>

# 4) akitaonrails/ai-memory —— 两个命令接上 agent
ai-memory install-mcp   --client claude-code --apply
ai-memory install-hooks --agent  claude-code --apply
# README 的例子用 docker,Podman 主机会自动切换

# 5) semantica-agi/semantica
pip install semantica
semantica doctor        # 5 秒自检

# 6) volcengine/OpenViking
pip install openviking --upgrade
openviking-server init      # configure providers and models
openviking-server doctor    # check configuration and connectivity
openviking-server           # start the server

# 7) Tencent/WeKnora
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

# 8) alphaXiv/OpenResearch(macOS / Linux)
curl -LsSf https://openresearch.sh/install.sh | sh
orx up                  # dashboard at http://127.0.0.1:4791

# 9) nashsu/llm_wiki —— 装包,不是装库
Download from Releases:
- macOS: .dmg (Apple Silicon + Intel)
- Windows: .msi
- Linux: .deb / .AppImage

最后一条要单独说,因为它是这一期最具体的一个坑。llm_wiki 的 README 承诺 macOS 的 .dmg 覆盖 Apple Silicon 和 Intel。我拉了 releases/latest(v0.6.11,2026-08-25,prerelease=false)的资产清单:能读到的文件里,LLM.Wiki_0.6.11_aarch64.dmg 是 macOS 侧唯一一个 dmg,而 Linux 侧 aarch64 与 amd64 的 rpm、AppImage 都齐。README 承诺的 Intel 那个 dmg,没有出现在清单里。这类「文档里写了、包里没有」的落差,比 star 更适合当判断依据。顺带一提,这个仓库最近一次推送停在 2026-08-25,而它今天仍在日榜拿 +647——榜单热度和维护节奏是两件事

我的判断

反过来,四类人要绕开:

如果让我给一个动作顺序:先用 markitdown 把资料变成 Markdown,再挑一个把 Markdown 当唯一真相的记忆层(ai-memory 或 hyperresearch),等你确实需要多人协作或权限隔离时,才上服务端那一档。这个顺序的理由是——前两步的记忆都是你自己的文件,随时能走;第三步之后,换工具就变成了迁移项目。

数据来源:GitHub REST API(含 search API 批量取元数据)+ 各仓库 raw README / LICENSE + GitHub Trending 官方页 · 抓取时间 2026-09-12

9 个仓库 star 合计 305,971(API 实测)。Trending 页面同期快照与 API 存在差异,本文 star 一律取 API 值,不取其一冒充唯一真相。

许可:markitdown MIT(API 字段)· OpenViking AGPL-3.0(ov_cli 与 examples 为 Apache 2.0)· WeKnora MIT(README 与徽章声明)· context-mode Elastic License 2.0· llm_wiki GPL-3.0 · semantica MIT · ai-memory MIT · hyperresearch MIT · OpenResearch MIT

体量:最大 OpenViking 265,053 KB,最小 hyperresearch 1,755 KB,相差 151 倍;9 个仓库的 archived 与 disabled 全部为 false

未关闭 issue ÷ star × 100:WeKnora 3.33 最高,ai-memory 0.11 最低,跨度 31 倍(这个指标在第 53 期当过主线,这里只列数不展开)

创建时间跨度:最早的 markitdown 是 2024-11-13,最晚的 OpenResearch 是 2026-06-07,9 个里 6 个创建于 2026 年

你现在给 agent 存记忆用的是什么——Markdown 文件、一个数据库,还是干脆不用,每次重新交代一遍?留言说一个,我会挑有代表性的整理进后面某一期。

下一期:如果榜单出现高动量新面孔,回到单项目精读;如果仍然是零候选,再换一个主题族做合集。另外提一句,「把模型塞进小设备与边缘」那一族的预告还欠着,得等榜上凑够成员才写得动。

#Agent记忆#上下文工程#横向对比#GitHub趋势