用户接口
用户界面
相关源文件
本章引用的主要源码文件:
cognee/__init__.pycognee/api/DTO.pycognee/api/client.pycognee/api/v1/add/routers/get_add_router.pycognee/api/v1/cognify/routers/get_cognify_router.pycognee/api/v1/datasets/routers/get_datasets_router.pycognee/api/v1/delete/routers/get_delete_router.pycognee/api/v1/memify/routers/get_memify_router.pycognee/api/v1/permissions/routers/get_permissions_router.pycognee/api/v1/responses/routers/get_responses_router.pycognee/api/v1/search/routers/get_search_router.pycognee/api/v1/settings/routers/get_settings_router.pycognee/api/v1/sync/routers/get_sync_router.pycognee/api/v1/update/routers/get_update_router.pycognee/api/v1/users/routers/get_visualize_router.pycognee/api/v1/visualize/__init__.pycognee/api/v1/visualize/visualize.pycognee/shared/utils.pycognee/tests/test_telemetry.pycognee/tests/unit/processing/utils/utils_test.py
本文档概述了与 Cognee 交互的四种主要界面:Python API、命令行界面(CLI)、REST API 服务器和模型上下文协议(MCP)服务器。每种界面都提供了对 Cognee 核心功能(数据入库、知识图谱生成和搜索)的访问,但抽象级别和集成模式不同,适用于各种使用场景。
有关特定界面的详细文档,请参阅:
- Python API 参考 — 用于程序化 Python 集成
- CLI 界面 — 用于命令行使用
- REST API 服务器 — 用于基于 HTTP 的集成
- 面向 AI 代理的 MCP 服务器 — 用于 AI 代理集成
- Web 前端 — 用于图谱可视化和管理
界面架构总览
Cognee 暴露了四种不同的用户界面,所有这些界面都汇聚到 cognee/api/v1/ 中定义的一组通用核心 API 函数上。这种架构使开发者能够选择最适合其工作流的集成模式,同时保持所有访问方法的功能一致性。
图示:用户界面架构和入口点
来源: cognee/__init__.py:21-36, cognee/api/client.py:115, cognee/api/client.py:18-50
界面对比
| 界面 | 入口点 | 使用场景 | 认证方式 | 部署模型 |
|---|---|---|---|---|
| Python API | import cognee | 直接 Python 集成、笔记本、脚本 | 环境变量 | 进程内 |
| CLI | cognee-cli | 命令行自动化、Shell 脚本 | 环境变量 | 本地可执行文件 |
| REST API | HTTP 端点 | Web 应用程序、微服务、语言无关客户端 | JWT / API 密钥 | HTTP 服务器 |
| MCP 服务器 | MCP 协议 | AI 代理(Claude Desktop、Cursor、Cline) | stdio / SSE | 独立进程 |
来源: cognee/api/client.py:152-157, cognee/api/client.py:115, cognee/api/v1/users/routers/get_auth_router.py:1-50(通过 cognee/api/client.py:39 引用)
Python API
Python API 是程序化访问 Cognee 的主要界面。它通过 cognee/__init__.py 将所有核心函数暴露为可导入的 Python 模块,允许直接集成到 Python 应用程序中。所有函数都是异步的。
可用函数
下表列出了从 cognee/__init__.py:21-61 导出的核心函数:
| 函数 | 导入路径 | 用途 |
|---|---|---|
add() | cognee.api.v1.add | 数据入库(文本、文件、URL) |
cognify() | cognee.api.v1.cognify | 知识图谱生成 |
search() | cognee.api.v1.search | 支持 SearchType 枚举的多模态搜索 |
memify() | cognee.modules.memify | 图谱丰富和记忆任务 |
visualize_graph() | cognee.api.v1.visualize | 图谱可视化 |
session | cognee.api.v1.session | 会话管理 |
remember() | cognee.api.v1.remember | V2 面向记忆的存储 |
recall() | cognee.api.v1.recall | V2 面向记忆的检索 |
初始化和日志记录
Python API 在导入时通过 cognee/__init__.py:9-16 初始化环境配置和日志记录。这确保了在执行之前通过 dotenv.load_dotenv(override=True) 加载 .env 文件。
来源: cognee/__init__.py:1-65
命令行界面(CLI)
CLI 通过 cognee-cli 命令提供基于 Shell 的访问。它在内部包装了异步 Python API 函数,以实现同步的命令行执行。
基本用法
cognee-cli add <data>:入库数据。cognee-cli cognify:将入库数据加工成知识图谱。cognee-cli search "<query>":检索信息。cognee-cli -ui:启动可视化服务器。
有关详细的 CLI 命令,请参阅 CLI 界面。
REST 接口服务器
基于 FastAPI 的 REST API 服务器为所有核心 Cognee 操作提供 HTTP 端点。该服务器在 cognee/api/client.py 中实现,并支持 CORS 和认证等生产级功能。
服务器实现
FastAPI 应用程序实例在 cognee/api/client.py:115 处创建。它使用 lifespan 上下文管理器通过 run_startup_migrations() 运行启动迁移 cognee/api/client.py:75-99。
路由器架构
服务器聚合了多个路由器来组织功能:
get_add_router():数据入库端点cognee/api/v1/add/routers/get_add_router.py:25-134。get_cognify_router():图谱生成端点cognee/api/v1/cognify/routers/get_cognify_router.py:71-174。get_search_router():检索端点cognee/api/v1/search/routers/get_search_router.py:42-180。get_permissions_router():多租户访问控制cognee/api/v1/permissions/routers/get_permissions_router.py:33-210。get_datasets_router():数据集管理cognee/api/v1/datasets/routers/get_datasets_router.py:83-208。
认证与安全
服务器支持多种安全方案 cognee/api/client.py:152-157:
ApiKeyAuth:基于请求头的X-Api-Key。BearerAuth:HTTP Bearer 令牌。
CORS 通过 CORSMiddleware 管理,使用 CORS_ALLOWED_ORIGINS 或 UI_APP_URL 环境变量 cognee/api/client.py:119-135。
有关完整的端点文档,请参阅 REST API 服务器。
来源: cognee/api/client.py:1-195, cognee/run_migrations.py:1-50
面向 AI 代理的 MCP 服务器
模型上下文协议(MCP)服务器将 Cognee 的功能作为工具暴露给 AI 代理(例如,Claude、Cursor)。这允许代理通过在对话期间调用 Cognee 工具来“记住”信息。
MCP 工具映射
MCP 服务器将核心函数映射到工具:
add:映射到cognee.add。cognify:映射到cognee.cognify。search:映射到支持SearchType的cognee.search。save_interaction:映射到交互跟踪。
有关全面的 MCP 服务器文档,请参阅 面向 AI 代理的 MCP 服务器。
遥测与可观测性
Cognee 包含内置的遥测功能,用于跟踪 API 使用情况和系统性能。它使用存储在 ~/.cognee/.persistent_id 中的持久化 ID 来关联事件 cognee/shared/utils.py:76-104。
图示:可观测性与遥测流程
遥测功能在主要端点中被调用,例如 POST /v1/cognify cognee/api/v1/cognify/routers/get_cognify_router.py:136-143 和 POST /v1/search cognee/api/v1/search/routers/get_search_router.py:136-155。
来源: cognee/api/v1/cognify/routers/get_cognify_router.py:85, cognee/api/v1/search/routers/get_search_router.py:106, cognee/shared/utils.py:176-190
后续步骤
- Python API 参考 — 详细的程序化用法。
- CLI 界面 — Shell 命令参考。
- REST API 服务器 — OpenAPI/Swagger 文档。
- 面向 AI 代理的 MCP 服务器 — 与 AI 工具的集成。
- Web 前端 — 可视化和管理数据集。