【免费下载链接】rocketride-serverHigh-performance AI pipeline engine with a C core and 50 Python-extensible nodes. Build, debug, and scale LLM workflows with 13 model providers, 8 vector databases, and agent orchestration, all from your IDE. Includes VS Code extension, TypeScript/Python SDKs, and Docker deployment.项目地址https://gitcode.com/gh_mirrors/ro/rocketride-server点击查看免费下载RocketRide 的tool_cognee节点通过 REST API 对接外部的 Cognee 语义记忆服务为管道中的多个 Agent 提供跨会话、可共享的持久化语义记忆。阅读本文后你将掌握该节点三个 Agent 工具cognee.remember、cognee.recall、cognee.memory_status的输入输出契约、七个配置字段的取值范围与默认值以及仓库中自带的多 Agent 共享记忆示例管道的完整接线方式并能从源码层面理解其请求行为、认证与错误处理策略。定位一个只做工具、不做数据流的记忆节点tool_cognee是一个纯工具型节点。在它的服务声明 services.json 中可以看到classType: [tool]、capabilities: [invoke]、lanes: {}——节点不暴露任何管道数据通道lanes只通过tool控制连接为 Agent 提供服务prefix: cognee——因此 Agent 侧看到的工具名是cognee.remember、cognee.recall、cognee.memory_status而不是tool_cognee.*tile: [Dataset: ${parameters.cognee.dataset}]——画布上节点瓦片会直接显示当前配置的数据集。从 节点 README 的定位描述看该节点适用于这样的场景Agent 需要超出单次工具调用或单次 Agent 运行生命周期的持久记忆且这份记忆可能需要在不同 Agent 之间、或不同次调用之间被有意地存储和检索。它构建的是语义知识图谱语义关系而非代码 AST、import 图或调用图也不支持传入仓库 URL 这类源。与仅在当前运行内有效的 Agent 工作记忆run-scoped memory不同tool_cognee面向的是另一个 Agent 或后续调用必须能主动存取的语义记忆场景。三个 Agent 工具的完整契约工具入口定义在 IInstance.py 中每个工具方法都通过tool_function装饰器携带完整的输入/输出 JSON Schema 注册。工具说明cognee.remember将纯文本存入数据集并启动语义记忆处理构建知识图谱。cognee.recall用自然语言查询检索记忆结果始终附带来源引用references。cognee.memory_status报告配置数据集的处理状态pending、running、completed或failed。cognee.remember输入text必填非空纯文本dataset可选默认使用节点配置的数据集除非启用了数据集覆盖开关run_in_background可选布尔为true时排队处理并立即返回。输出服务端响应必须包含非空status还可能带有dataset_name、dataset_id、pipeline_run_id见 IInstance.py 的 output_schema。行为要点run_in_background只接受 JSON 布尔值true、1这类值会直接抛错有对应测试test_remember_rejects_non_boolean_run_in_background。这是一个非幂等请求失败后不会重试只发一次 POST。从源码看remember最终调用 cognee_client.py 中的remember()它把文本编码为 UTF-8 并以memory.mdtext/markdown为文件名通过 multipart 上传到/api/v1/remember表单字段为datasetName和run_in_backgroundJSON 序列化的布尔字符串。cognee.recall输入query必填非空自然语言问题dataset可选遵循同一作用域规则search_type可选必须是配置的受支持策略之一top_k可选必须是整数。输出results对象数组加count结果数量引用references始终从服务端请求调用方无法关闭。行为要点非法输入或服务端失败会抛错而不会返回空的 recall 结果——空结果与检索失败语义不同。top_k会被强制为整数并夹取到 1–100 区间JSON 布尔true不算整数。对应请求体见 cognee_client.py向/api/v1/recall发送 camelCase JSON 契约{ query: Who wrote the first algorithm?, datasets: [main], searchType: GRAPH_COMPLETION_DECOMPOSITION, topK: 15, includeReferences: true }注意includeReferences在源码中是硬编码为true的recall()的参数include_references仅为适配层兼容保留即使调用方传入False线上契约也保持引用开启测试test_recall_always_requests_camel_case_references_when_caller_passes_false专门验证了这一点。cognee.memory_status输入dataset可选默认配置数据集同样受覆盖开关约束。输出数据集名称、数据集 ID 及pending/running/completed/failed四态之一output_schema 中用enum显式限定。行为要点在请求状态之前节点会先列出数据集并把名称精确匹配解析为状态接口所需的 UUID见 IInstance.py 的_resolve_dataset_id。数据集解析不到或服务端响应不合法都会抛错。配置参考七个字段及其解析规则节点的完整 schema 由 services.json 声明运行时由 IGlobal.py 的beginGlobal()一次性加载并校验每个管道只执行一次。字段类型说明默认值取值约束cognee.base_urlstringServer URLCognee 服务器地址自托管默认http://localhost:8000http://localhost:8000缺失/空时用默认值纯空白字符串会导致启动失败尾部斜杠在请求前被去除cognee.api_keystringAPI Key以X-Api-Key头发送留空时回退环境变量COGNEE_API_KEY。标记为secure: trueUI 使用 ApiKeyWidget可空支持无认证自托管cognee.datasetstringDataset所有 Agent 工具使用的默认数据集是操作者控制的记忆作用域main空值回退为maincognee.allow_dataset_overridebooleanAllow dataset override允许 Agent 按次选择数据集。多个 Agent 应共享同一操作者控制作用域时请保持关闭false只有 JSON 布尔true才生效字符串true、1、null一律按false处理cognee.search_typestringDefault recall strategyrecall 的默认检索策略GRAPH_COMPLETION_DECOMPOSITION归一化为大写不在支持集合内时回退默认值cognee.top_kintegerRecall results (top_k)每次 recall 最多取回的结果数15配置侧夹取到 1–100cognee.request_timeoutintegerRequest timeout (s)每一次 Cognee 请求的最大等待秒数120夹取到 5–600 秒受支持的search_type集合在 IGlobal.py 中以frozenset固化共 7 种GRAPH_COMPLETION、GRAPH_COMPLETION_DECOMPOSITION默认、RAG_COMPLETION、CHUNKS、SUMMARIES、TEMPORAL、FEELING_LUCKY。这个白名单的作用是让非法配置值在到达服务器之前就被夹取掉。几个值得注意的解析细节均可在 IGlobal.py 找到对应代码top_k与request_timeout走同一个_coerce_int辅助函数做尽力而为的整数转换拒绝布尔值防止 JSONtrue被当成1和垃圾值转换失败时回退默认值之后再夹取到边界。validateConfig()在编辑器配置阶段只告警不抛错例如缺base_url时提示 base_url is required而运行阶段的beginGlobal()遇到纯空白 URL 才会真正抛ValueError阻止启动——两个阶段失败模式不同这在测试test_global_validate_config_warns_instead_of_raising与test_global_config_mode_skips_setup中有分别验证。endGlobal()在管道拆毁时会清空缓存的api_key把凭据从进程内存中移除测试test_global_end_clears_api_key。认证与错误处理认证见 cognee_client.py 的_headers节点始终发送accept: application/json只有当配置字段或COGNEE_API_KEY环境变量提供了 key 时才附加X-Api-Key头。对关闭了访问控制的自托管服务器无 key 请求会以种子默认用户身份运行。错误脱敏是该节点客户端的核心设计。所有失败都收敛为CogneeRequestErrorRuntimeError子类错误消息中绝不包含 API key、厂商响应体细节只保留操作名、异常类型名和可选的 HTTP 状态码HTTP 402 有专门文案 token budget exhausted。这套行为由测试test_remember_is_single_attempt_for_ambiguous_write_failures、test_recall_is_single_attempt_for_failures_and_redacts_api_key、test_get_http_errors_are_redacted_and_402_is_distinct用 sentinel-secret 哨兵值逐一断言断言哨兵不出现在任何错误字符串中。重试策略分两类remember与recall是生成性/写入性 POST各只尝试一次失败即抛错数据集列举GET /api/v1/datasets与状态检查GET /api/v1/datasets/status使用共享的幂等 GET 重试辅助get_with_retry来自ai.common.utils。为什么走 REST 而不引入 cognee SDKcognee_client.py 的模块文档给出了明确理由——cognee包是一个重量级全异步库会拖入自己的 LLM/嵌入客户端栈和内嵌数据库与 RocketRide 引擎的 provider 节点冲突这与tool_mem0通过 REST 而非import mem0ai访问 Mem0 是同一设计决策。因此本节点只依赖requests和共享 GET 重试辅助。多 Agent 共享记忆官方示例管道README 中的Shared memory across agents一节给出了该节点的典型玩法一个tool_cognee节点可以同时服务多个 AgentRocketRide 组件允许挂多条 tool/control 连接优于为每个 Agent 复制一份节点——单一组件让服务器、凭据、数据集与检索设置保持一致不会漂移。仓库中的 cognee-shared-memory-agents.pipe 就是这个模式的完整可复制示例拓扑chat_1入口→agent_writer_1主应答 WriterWriter 通过tool控制连接委派给agent_researcher_1ResearcherResearcher 反过来把tool_cognee_1挂为自己的工具response_answers_1消费 Writer 的answers通道。共享节点配置唯一的tool_cognee_1同时被两个 Agent 以{classType: tool, from: ...}控制连接引用数据集固定为shared-researchallow_dataset_override为false凭据用${COGNEE_BASE_URL}、${COGNEE_API_KEY}环境变量占位。各 Agent 仍保留独立工作记忆两个 Agent 各自挂了一个memory_internal节点作为 run-scoped 工作记忆——持久语义记忆与运行内工作记忆是互补而非替代关系。指令层面的顺序交接Writer 的 instructions 要求它在remember后台运行时调用tool_cognee_1.memory_status等待completed之后自己调用tool_cognee_1.recall取回结果作答不直接接收 Researcher 转述的事实Researcher 的 instructions 则要求它存储后只返回存储确认不返回事实本身。这里有一条关键约束节点不提供跨工具调用的事务、串行化或顺序保证recall 与处理是最终一致的eventually consistent。因此推荐顺序交接模式——让存储方 Agent 先完成、轮询cognee.memory_status直至completed、再让接收方 recall。测试test_shared_cognee_example_topology_and_documentation见 test_tools.py对该示例做了逐组件断言唯一tool_cognee、两条控制连接、数据集锁定、环境变量占位且不含任何sk-/ck_明文凭据甚至校验 README 中 same Cognee server / same dataset / no transaction / sequential handoff 等共享记忆先决条件措辞仍然存在。共享 recall 的先决条件README 原文要求且被上述测试锁定所有参与方连接同一个 Cognee 服务器、使用有权限访问共享记忆的认证身份、指向同一个数据集并保持Allow dataset override 关闭使任何 Agent 都无法切换到别的数据集。测试如何验证这些契约node 测试 是纯 Python 单测不需要真实服务器、引擎或 HTTP。它在导入时用可组合的 stub 替换rocketlib与ai.common.*并保证测试会话结束后恢复sys.modules然后分三层验证REST 契约层把requests.post/get_with_retry打桩精确断言 URL、header、multipart 结构、camelCase JSON 体与参数覆盖remember的单次 POST、recall的引用强制开启、状态枚举的标量/嵌套两种响应形态归一化DATASET_PROCESSING_INITIATED→pending、STARTED→running、COMPLETED→completed、ERRORED→failed。工具表层断言 LLM 看到的公开工具恰好是remember、recall、memory_status三个旧版add、cognify、search、reset、delete_dataset、export_visualization、pipeline_status均已移除数据集覆盖策略在三个工具上一致生效配置值外的数据集默认被拒、空白数据集被拒、启用开关后接受并 trim客户端RuntimeError会原样穿透工具而不会被包装成 dict 返回。全局生命周期层CONFIG 模式跳过初始化、运行模式精确加载配置含COGNEE_API_KEY回退与非布尔 override 归零、endGlobal清空 key、services.json字段集合与secure/ApiKeyWidget声明一致。一个值得注意的用例是test_instances_interleave_calls_without_mutating_shared_global两个共享同一IGlobal的实例交替发起 remember/recall 调用断言调用序列正确且全局配置在过程中不可变——这正是一个节点服务多个 Agent模式的并发安全基础。依赖与适用范围该节点的运行时依赖极轻见 requirements.txtrequests2.34.2tenacity由共享 GET 重试辅助间接使用适用前提需要一个从引擎运行环境可达的 Cognee 服务器自托管默认http://localhost:8000或 Cognee Cloud 实例 URL若服务器启用了访问控制需要提供 API key 或设置COGNEE_API_KEY。请求侧的约束是remember/recall不重试、每请求最多等待request_timeout5–600 秒秒、top_k上限 100。以上均以当前仓库中nodes/src/nodes/tool_cognee/与nodes/test/tool_cognee/的源码和测试为准。赞分享【免费下载链接】rocketride-serverHigh-performance AI pipeline engine with a C core and 50 Python-extensible nodes. Build, debug, and scale LLM workflows with 13 model providers, 8 vector databases, and agent orchestration, all from your IDE. Includes VS Code extension, TypeScript/Python SDKs, and Docker deployment.项目地址https://gitcode.com/gh_mirrors/ro/rocketride-server点击查看免费下载相关推荐Cognee Python API 实战指南从 add、cognify 到 search 的持久化 Agent 记忆构建Cognee Python API 实战指南从 add、cognify 到 search 的持久化 Agent 记忆构建 Cognee 是一个开源的 AI 记人工智能AI AgentRAG知识图谱后端MCP 服务Cognee 实战指南用自托管知识图谱为 AI Agent 构建持久长期记忆Cognee 实战指南用自托管知识图谱为 AI Agent 构建持久长期记忆 Cognee 是当前仓库cognee所承载的开源 AI 记忆平台核心目标是人工智能AI AgentRAG知识图谱后端MCP 服务3分钟掌握智能招聘时间插件的求职加速秘籍3分钟掌握智能招聘时间插件的求职加速秘籍 你可能遇到过这样的情况在招聘网站上浏览职位时完全不知道某个岗位是什么时候发布的只能盲目投递结果发现很多职位已人工智能大模型RAGAI AgentNLP上一篇es-toolkit compat 的 isInteger 解析Lodash 兼容整数判断与 Number.isInteger 替代实践下一篇AutoCoder多语言代码解释器性能对比执行速度与资源占用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
