核心问题: 你的代理层是否需要自托管、租户隔离、带完整审计追踪的长期记忆?
RepoDaily 采用评分
RepoDaily 将该项目的采用分评为 92/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。
包含 5 个来源、覆盖 3 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。
检测到 5 个工作流步骤、5 个下一步动作,以及 5 个命令/安装信号。
趋势热度为 +755 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。
采纳风险标记为 medium,并包含 8 条安全说明与 4 条跳过条件。
2 个机会视角、4 个替代方案,以及 3 个类型化模块支撑差异化判断。
文章中包含许可证来源或许可证表述。
文章正文和元数据中检测到 7 个 AI/Agent 相关信号。
项目概览
Cognee(v1.2.2,Apache-2.0)是一个 Python 库和服务端程序,可摄入任意格式的非结构化数据,构建结合向量嵌入与图谱推理的自托管知识图谱,并通过 remember、recall、forget、improve 四个操作同时提供 Python API 和 CLI。项目面向希望让 AI 代理跨会话保持上下文、且不依赖外部托管记忆服务的开发者。2026-06-27 周期内获得 755 星、排名第 9,是本周上升最快的代理基础设施仓库之一。
从安全角度看,Cognee 的突出特点是明确的代理用户和租户隔离、用于可追溯性的 OTEL(OpenTelemetry)采集器,以及内置于管道中的审计特性。项目同时发布 API 服务镜像(cognee/cognee,端口 8000)和 MCP 服务镜像(cognee/cognee-mcp,端口 8001),支持完全自托管部署——除非配置了外部 LLM 提供商,否则文档内容不会离开运营方的基础设施。pyproject.toml 主动排除了存在漏洞的 pydantic-settings 版本范围(GHSA-4xgf-cpjx-pc3j,2.12.0–2.14.1),并在注释中记录了 2.14.2+ 的修复信息,表明依赖管理是构建流程的一部分。
项目支持 Python 3.10 至 3.14,附带 Neo4j、Postgres/PGVector、Redis、LangChain、LlamaIndex、Anthropic、Azure、Ollama 等可选依赖组,并引用了一篇研究论文(Markovic 等人,2025,arXiv:2505.24478),探讨知识图谱与 LLM 接口优化以提升复杂推理能力。SECURITY.md 将漏洞报告引导至 info@topoteretes.com 并承诺快速响应,同时 DCO(开发者原产地证书)要求确保每次合并提交的来源可追溯。
为什么现在变热
- 2026-06-27 获得 755 周期星、排名第 9,驱动力来自市场对无需第三方 SaaS 依赖的代理记忆层的需求。
- 四操作 API(remember、recall、forget、improve)与代理框架映射清晰,集成复杂度低。
- 自托管知识图谱支持 Docker profile 组合 Neo4j、Postgres/PGVector、MCP 服务和本地 UI——均通过 `docker compose --profile` 运行。
- 通过 LiteLLM 1.83.7+ 和 instructor 1.9.1+ 实现多 LLM 支持,覆盖 OpenAI、Anthropic、Azure、Ollama、Mistral、Groq。
- 主动漏洞管理:pyproject.toml 用排除模式而非硬性上限来处理 pydantic-settings 的 CVE 范围,允许已修复的 2.14.2+ 版本自动被采用。
解决什么问题
- AI 代理在会话间丢失上下文,因为无状态推理 API 没有内置持久记忆层。
- 托管记忆服务将敏感文档内容路由到第三方基础设施,产生数据治理和合规风险。
- 简单的 RAG 管道仅按语义相似度检索,缺失知识图谱所提供的关系推理能力。
- 多租户代理部署需要按用户隔离,确保一个租户的查询不会暴露另一个租户的数据。
- 调试代理幻觉需要可追溯性——知道哪条摄入来源产生了某个检索结果。
工作原理
- 通过 `uv pip install cognee` 安装(需 Python 3.10–3.14),并将 `LLM_API_KEY` 设为环境变量或写入从 `.env.template` 复制的 `.env` 文件。
- 调用 `await cognee.remember("...")` 摄入数据,该操作运行 add、cognify、improve 管道阶段,构建图节点和向量嵌入。
- 调用 `await cognee.recall("...")` 查询,系统根据查询特征在向量相似度搜索和图遍历之间自动路由,可选按 session_id 限定范围。
- 通过 `await cognee.forget(dataset="main_dataset")` 删除特定数据集,或用 `cognee-cli forget --all` 清除所有记忆。
- Docker 部署时运行 `docker compose up` 启动端口 8000 的 API 服务,或添加 `--profile neo4j`、`--profile postgres` 等 profile 挂载图或向量后端。
产品演示与界面预览

架构:Cognee 存什么、怎么存
Cognee 的管道摄入原始数据后进行分块、生成向量嵌入(默认 LanceDB 0.24.3+,可选 FastEmbed 和 Postgres/PGVector 后端),同时使用认知科学驱动的本体生成方法构建知识图谱。图层使用 NetworkX 3.4.2+ 进行内存操作,安装 neo4j 扩展时可选择性持久化到 Neo4j 5.28+。
API 精确暴露四个操作:remember(摄入+构建)、recall(自动路由查询)、forget(删除)、improve(优化图谱)。会话级记忆使用快速缓存,后台同步到持久图谱,因此代理在当前会话中获得低延迟读取,同时跨会话获得持久召回。SQLAlchemy 2.0.39+ 配合 aiosqlite 管理关系元数据,Alembic 使用跨进程文件锁处理迁移,防止并发迁移竞态。
命令与 API 接口一览
- `uv pip install cognee` — 核心安装,含 LanceDB、OpenAI、SQLite 默认配置。
- `cognee-cli remember "text"` — 无需编写 Python 即可 CLI 摄入。
- `cognee-cli recall "query"` — 自动路由搜索的 CLI 检索。
- `cognee-cli forget --all` — 清除所有已存储记忆。
- `cognee-cli -ui` — 启动本地 UI;需 Docker Desktop、Colima 或任何 OCI 兼容运行时。
- `docker compose --profile neo4j up` — 挂载 Neo4j 作为图后端。
- `docker compose --profile postgres up` — 挂载带 PGVector 的 Postgres 作为嵌入后端。
维护与依赖风险
Cognee 声明了 40+ 个运行时依赖,包括 openai、litellm、sqlalchemy、fastapi、lancedb、rdflib。可选依赖面涵盖 20+ 个扩展组(neo4j、postgres、langchain、llama-index、anthropic、ollama、scraping、tracing 等),意味着一次生产部署会拉取庞大的传递依赖树。`[tool.uv]` 部分设置 `exclude-newer = "2 days"`,避免拉取发布不足 48 小时的包,降低供应链风险,但也可能延迟紧急补丁的采纳。
pyproject.toml 明确记录了 GHSA-4xgf-cpjx-pc3j(pydantic-settings 在 2.12.0–2.14.1 的漏洞),并使用排除模式 `!=2.12.*,!=2.13.*,!=2.14.0,!=2.14.1` 而非硬性上限,使得已修复的 2.14.2+ 自动被采纳。这是一种有意识的、有文档记录的安全策略,而非静默锁定。每次提交强制 DCO 签名,加上基于 CODEOWNERS 的自动审查路由,为贡献提供了额外的供应链完整性保障。
谁适合关注
适合关注
- 构建多租户代理平台、需要按用户数据隔离和审计追踪的团队。
- 因数据驻留或合规要求必须自托管 AI 基础设施的组织。
- 希望用知识图谱替代纯向量 RAG、但不想从零构建图摄入管道的开发者。
- 评估 GraphRAG 方案、希望获得带同行评审论文支持的可用参考实现的人。
可以先跳过
- 仅需临时会话记忆的项目(Redis 缓存或对话缓冲区即可满足)。
- 没有 Python 3.10+ 运行时或任何 OCI 兼容容器运行时来运行 MCP 服务 UI 的团队。
- 无法提供 LLM API 密钥的部署环境——Cognee 默认管道需要此密钥。
- 40+ 依赖安装体量超过基于图的检索价值的场景。
风险与注意事项
Cognee 以 Apache-2.0 发布,有文档化的漏洞报告策略和 DCO 强制执行,但其广泛的依赖面、Beta 成熟度(Development Status 4 - Beta)和 LLM API 密钥要求构成中等采纳风险。
- pyproject.toml 分类器标注为 Development Status :: 4 - Beta,尚未达到生产稳定。
- 40+ 运行时依赖加 20+ 可选扩展构成庞大的传递依赖审计面。
- MCP 服务 UI 需 Docker Desktop 或 Colima——非纯 Python 部署。
- `exclude-newer = 2 days` 的 uv 策略可能将紧急依赖补丁延迟最多 48 小时。
- 项目相对年轻且处于 Beta 阶段,尚无已发布的 CVE 应对记录可供参考。
- SECURITY.md(https://github.com/topoteretes/cognee/blob/main/SECURITY.md)将报告引导至 info@topoteretes.com,邮件主题需含 'SECURITY'。
- 代理用户和租户隔离防止多用户代理部署中的跨租户数据泄漏。
- OTEL 采集器和审计特性为代理决策和检索来源提供可追溯性。
- Apache-2.0 许可证包含明确的专利授权和终止条款(LICENSE 第 3 条)。
- 每次提交强制 DCO 签名:通过 CONTRIBUTING.md 强制执行 `git commit -s`。
- pydantic-settings 漏洞(GHSA-4xgf-cpjx-pc3j)在依赖规格中明确排除,附有文档化说明。
- 自托管部署模式:除非调用外部 LLM API,否则文档内容不离开运营方基础设施。
- CODEOWNERS 文件按变更目录自动将 PR 审查路由给领域负责人。
替代方案比较
| 方案 | 适用场景 | 代价 |
|---|---|---|
Mem0 | 当你偏好托管记忆服务、有 hosted 计划可选且不想自己运维基础设施时。 | Freemium SaaS,提供自托管选项 |
Zep | 当你需要时序知识图谱功能,重点关注对话历史和实体追踪时。 | 开源自托管 + 托管云 |
Letta(原 MemGPT) | 当你希望代理记忆以操作系统风格的内存层次结构建模、并具备上下文窗口管理时。 | 开源(Apache-2.0) |
LangGraph + checkpointer | 当你的代理框架已基于 LangChain,仅需对话持久化而非知识图谱时。 | 开源(MIT) |
这个趋势说明了什么
合规优先的代理记忆
Cognee 的租户隔离、审计特性和自托管部署模式符合 GDPR、HIPAA 和 SOC 2 的要求,这些法规禁止将敏感数据路由到第三方记忆 API。
通过 `docker compose --profile postgres up` 部署后,确认除配置的 LLM 提供商端点外无其他出站流量来验证。
GraphRAG 评估套件
evals 可选依赖组包含 plotly、pandas、scikit-learn 和 locust,表明内置支持检索质量基准测试和记忆管道负载测试。
通过 `uv pip install 'cognee[evals]'` 安装并检查 cognee/tests/ 测试套件中的基准入口点。
RepoDaily 判断
Cognee 通过将自托管知识图谱与租户隔离、审计追踪和简洁的四操作 API 相结合,为托管代理记忆服务提供了有说服力的开源替代方案。其 Beta 状态、广泛的依赖面和 LLM 密钥要求意味着生产部署需要彻底的安全和依赖审查——但文档化的 CVE 排除策略、DCO 强制执行和 Apache-2.0 许可为需要数据主权的代理记忆团队奠定了坚实的治理基础。