内存与上下文槽位
仅允许同时存在一个活动实现的注册器,以及位于其上的内存适配器契约。属于 插件 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