跳转至

内存与上下文槽位

仅允许同时存在一个活动实现的注册器,以及位于其上的内存适配器契约。属于 插件 SDK 概览 的一部分。

独占槽位

方法 注册内容
api.registerContextEngine(id, factory) 上下文引擎(同一时间仅一个活动)。使用 info.acceptedHostParams 限制接受的主机添加的生命周期字段,包括可选的 maintain() 取消;未声明的引擎会接收所有当前主机字段。
api.registerMemoryCapability(capability) 统一内存能力

要参与持久化已接纳回合,上下文引擎必须在 info.transcriptSemantics 下声明 currentTurnFence: "before-current-turn-entry-v1" 和 turnAdvancementIdempotency: "atomic-idempotent-v1",然后将 commitTurn(...) 实现为以 advancementKey 为键的原子、幂等写入。OpenClaw 仅提供包含性的已接纳回合,从已接纳的用户条目到其终结条目;使用 readSessionTranscriptVisibleMessageDelta(...) 游标 API 来引导或重建更早的历史。如果没有完整契约,OpenClaw 会对整个逻辑回合及其重试使用旧上下文路径,保持已配置引擎不变,并在下一个逻辑回合再次尝试该引擎。

内存嵌入适配器

  • registerMemoryCapability 是独占的内存插件 API。
  • 选定的内存插件可以省略 capability.runtime,包括其通过自身钩子处理内存的情况。内存设置页面会中性地报告缺少主机搜索支持;这不会评估其他内存集成。 插件加载和搜索运行时失败仍然是错误。
  • registerMemoryCapability 还可以公开 publicArtifacts.listArtifacts(...) 用于主机管理的导出。枚举这些已声明工件的伴随插件,在存在专门的公共消费方 API 之前,仍使用保留的 openclaw/plugin-sdk/memory-host-core 外观中的 listActiveMemoryPublicArtifacts(...);它们不得访问其他插件的私有布局。
  • 能够返回会话转录命中的内存运行时应实现 runtime.authorizeSearchHits(...)。主机在原始搜索命中到达调用方可见表面之前调用此钩子,并提供请求代理、会话 键和沙箱状态。仅返回请求方可观察的命中。如果缺少该钩子,OpenClaw 会采取失败关闭策略,在保留普通内存命中的同时 扣留会话来源命中。将转录身份和可见性策略保留在所属内存插件中;调用方不得从路径推断授权,也不得复制插件特定规则。
  • MemoryFlushPlan.model 可以将刷新回合固定到确切的 provider/model 引用,例如 ollama/qwen3:8b,而不继承活动回退链。
  • 嵌入提供商使用 api.registerEmbeddingProvider(...) 和 contracts.embeddingProviders;没有单独的仅限内存注册表。

捆绑的 Memory Core 工作进程

Memory Core 使用共享的 process-runtime 工作进程池进行词法检索、 余弦回退和不可变分块准备。检索会保留搜索代,直到其读取者关闭;发布、源哈希验证和 遗忘操作仍由其现有数据库所有者负责。

捆绑的工作进程使用私有的 memory-core-host-engine-knn 外观进行 只读数据库访问、共享 SQLite 空闲生命周期和向量原语,并使用 memory-core-host-engine-indexing 进行纯分块、注释、哈希和 嵌入输入限制。这些外观避免将提供商注册表或 可写存储初始化加载到工作线程中。它们是捆绑的运行时 契约,而不是第三方类型化 SDK 入口点。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw