惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
美团技术团队
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
IT之家
IT之家
Google DeepMind News
Google DeepMind News
D
Docker
J
Java Code Geeks
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 【当耐特】
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
博客园 - Franky
月光博客
月光博客
宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
Deprecate memory-specific embedding provider registration...
mbelinky · 2026-05-27 · via Recent Commits to openclaw:main
Original file line numberDiff line numberDiff line change

@@ -7,6 +7,7 @@ Docs: https://docs.openclaw.ai

77

### Changes

88
99

- Memory: add a core OpenAI-compatible embedding provider for local and hosted OpenAI-style endpoints, with config, doctor, and docs support. (#85269) Thanks @dutifulbob.

10+

- Plugin SDK: mark memory-specific embedding provider registration as deprecated compatibility and surface non-bundled usage in plugin compatibility diagnostics. (#85072) Thanks @mbelinky.

1011
1112

### Fixes

1213
Original file line numberDiff line numberDiff line change

@@ -122,9 +122,9 @@ future feature plugins can consume embeddings without depending on the memory

122122

engine.

123123
124124

Memory search can consume generic `embeddingProviders`. The older

125-

`memoryEmbeddingProviders` contract remains for compatibility while existing

126-

memory-specific providers migrate, but new reusable embedding providers should

127-

use `embeddingProviders`.

125+

`memoryEmbeddingProviders` contract is deprecated compatibility while existing

126+

memory-specific providers migrate; new reusable embedding providers should use

127+

`embeddingProviders`.

128128
129129

## Review checklist

130130
Original file line numberDiff line numberDiff line change

@@ -130,6 +130,9 @@ Current compatibility records include:

130130

`api.runtime.config.loadConfig()` / `api.runtime.config.writeConfigFile(...)`

131131

- legacy memory-plugin split registration while memory plugins move to

132132

`registerMemoryCapability`

133+

- legacy memory-specific embedding provider registration while embedding

134+

providers move to `api.registerEmbeddingProvider(...)` and

135+

`contracts.embeddingProviders`

133136

- legacy channel SDK helpers for native message schemas, mention gating,

134137

inbound envelope formatting, and approval capability nesting

135138

- legacy channel route key and comparable-target helper aliases while plugins

Original file line numberDiff line numberDiff line change

@@ -647,7 +647,7 @@ Each list is optional:

647647

| `speechProviders` | `string[]` | Speech provider ids this plugin owns. |

648648

| `realtimeTranscriptionProviders` | `string[]` | Realtime-transcription provider ids this plugin owns. |

649649

| `realtimeVoiceProviders` | `string[]` | Realtime-voice provider ids this plugin owns. |

650-

| `memoryEmbeddingProviders` | `string[]` | Legacy memory embedding provider ids this plugin owns. |

650+

| `memoryEmbeddingProviders` | `string[]` | Deprecated memory-specific embedding provider ids this plugin owns. |

651651

| `mediaUnderstandingProviders` | `string[]` | Media-understanding provider ids this plugin owns. |

652652

| `transcriptSourceProviders` | `string[]` | Transcript source provider ids this plugin owns. |

653653

| `imageGenerationProviders` | `string[]` | Image-generation provider ids this plugin owns. |

@@ -677,9 +677,9 @@ will be removed after the migration window.

677677

General embedding providers should declare `contracts.embeddingProviders` for

678678

each adapter registered with `api.registerEmbeddingProvider(...)`. Use the

679679

general contract for reusable vector generation, including providers consumed by

680-

memory search. `contracts.memoryEmbeddingProviders` is the older

681-

memory-specific compatibility contract and remains while existing providers

682-

migrate to the generic embedding provider seam.

680+

memory search. `contracts.memoryEmbeddingProviders` is deprecated

681+

memory-specific compatibility and remains only while existing providers migrate

682+

to the generic embedding provider seam.

683683
684684

`contracts.gatewayMethodDispatch` currently accepts

685685

`"authenticated-request"`. It is an API hygiene gate for native plugin HTTP

Original file line numberDiff line numberDiff line change

@@ -868,9 +868,23 @@ canonical replacement.

868868

**New**: one call on the memory-state API -

869869

`registerMemoryCapability(pluginId, { promptBuilder, flushPlanResolver, runtime })`.

870870
871-

Same slots, single registration call. Additive memory helpers

872-

(`registerMemoryPromptSupplement`, `registerMemoryCorpusSupplement`,

873-

`registerMemoryEmbeddingProvider`) are not affected.

871+

Same slots, single registration call. Additive prompt and corpus helpers

872+

(`registerMemoryPromptSupplement`, `registerMemoryCorpusSupplement`) are

873+

not affected.

874+
875+

</Accordion>

876+
877+

<Accordion title="Memory embedding provider API">

878+

**Old**: `api.registerMemoryEmbeddingProvider(...)` plus

879+

`contracts.memoryEmbeddingProviders`.

880+
881+

**New**: `api.registerEmbeddingProvider(...)` plus

882+

`contracts.embeddingProviders`.

883+
884+

The generic embedding provider contract is reusable outside memory and is

885+

the supported path for new providers. The memory-specific registration API

886+

remains wired as deprecated compatibility while existing providers migrate.

887+

Plugin inspection reports non-bundled usage as compatibility debt.

874888
875889

</Accordion>

876890
Original file line numberDiff line numberDiff line change

@@ -111,7 +111,7 @@ also be listed in `contracts.embeddingProviders` in the plugin manifest. This

111111

is the generic embedding surface for reusable vector generation. Memory search

112112

can consume this generic provider surface. The older

113113

`api.registerMemoryEmbeddingProvider(...)` and

114-

`contracts.memoryEmbeddingProviders` seam remains as compatibility while

114+

`contracts.memoryEmbeddingProviders` seam is deprecated compatibility while

115115

existing memory-specific providers migrate.

116116
117117

### Tools and commands

@@ -378,7 +378,7 @@ For an end-to-end authoring guide, see

378378

| `api.registerMemoryFlushPlan(resolver)` | Memory flush plan resolver |

379379

| `api.registerMemoryRuntime(runtime)` | Memory runtime adapter |

380380
381-

### Memory embedding adapters

381+

### Deprecated memory embedding adapters

382382
383383

| Method | What it registers |

384384

| ---------------------------------------------- | ---------------------------------------------- |

@@ -394,12 +394,12 @@ For an end-to-end authoring guide, see

394394

- `MemoryFlushPlan.model` can pin the flush turn to an exact `provider/model`

395395

reference, such as `ollama/qwen3:8b`, without inheriting the active fallback

396396

chain.

397-

- `registerMemoryEmbeddingProvider` lets the active memory plugin register one

398-

or more embedding adapter ids (for example `openai`, `gemini`, or a custom

399-

plugin-defined id).

400-

- User config such as `agents.defaults.memorySearch.provider` and

401-

`agents.defaults.memorySearch.fallback` resolves against those registered

402-

adapter ids.

397+

- `registerMemoryEmbeddingProvider` is deprecated. New embedding providers

398+

should use `api.registerEmbeddingProvider(...)` and

399+

`contracts.embeddingProviders`.

400+

- Existing memory-specific providers continue to work during the migration

401+

window, but plugin inspection reports this as compatibility debt for

402+

non-bundled plugins.

403403
404404

### Events and lifecycle

405405
Original file line numberDiff line numberDiff line change

@@ -685,9 +685,9 @@ API key auth, and dynamic model resolution.

685685

```

686686
687687

Declare the same id in `contracts.embeddingProviders`. This is the

688-

general embedding contract for reusable vector generation. Use

689-

`registerMemoryEmbeddingProvider(...)` only for memory-engine-specific

690-

adapters.

688+

general embedding contract for reusable vector generation, including

689+

memory search. `registerMemoryEmbeddingProvider(...)` is deprecated

690+

compatibility for existing memory-specific adapters.

691691

</Tab>

692692

<Tab title="Image and video generation">

693693

Video capabilities use a **mode-aware** shape: `generate`,

Original file line numberDiff line numberDiff line change

@@ -342,7 +342,7 @@ and pairing-path families.

342342

| `plugin-sdk/memory-core` | Bundled memory-core helper surface for manager/config/file/CLI helpers |

343343

| `plugin-sdk/memory-core-engine-runtime` | Memory index/search runtime facade |

344344

| `plugin-sdk/memory-core-host-engine-foundation` | Memory host foundation engine exports |

345-

| `plugin-sdk/memory-core-host-engine-embeddings` | Memory host embedding contracts, registry access, local provider, and generic batch/remote helpers |

345+

| `plugin-sdk/memory-core-host-engine-embeddings` | Memory host embedding contracts, registry access, local provider, and generic batch/remote helpers. `registerMemoryEmbeddingProvider` on this surface is deprecated; use the generic embedding provider API for new providers. |

346346

| `plugin-sdk/memory-core-host-engine-qmd` | Memory host QMD engine exports |

347347

| `plugin-sdk/memory-core-host-engine-storage` | Memory host storage engine exports |

348348

| `plugin-sdk/memory-core-host-multimodal` | Memory host multimodal helpers |

Original file line numberDiff line numberDiff line change

@@ -57,10 +57,13 @@ export {

5757

listRegisteredMemoryEmbeddingProviderAdapters,

5858

listRegisteredMemoryEmbeddingProviders,

5959

} from "../plugins/memory-embedding-provider-runtime.js";

60-

export {

61-

clearMemoryEmbeddingProviders,

62-

registerMemoryEmbeddingProvider,

63-

} from "../plugins/memory-embedding-providers.js";

60+

export { clearMemoryEmbeddingProviders } from "../plugins/memory-embedding-providers.js";

61+

/**

62+

* @deprecated New embedding providers should use `api.registerEmbeddingProvider(...)`

63+

* and `contracts.embeddingProviders`. This memory-specific registrar remains

64+

* available only for compatibility while existing providers migrate.

65+

*/

66+

export { registerMemoryEmbeddingProvider } from "../plugins/memory-embedding-providers.js";

6467

export type {

6568

MemoryEmbeddingBatchChunk,

6669

MemoryEmbeddingBatchOptions,

Original file line numberDiff line numberDiff line change

@@ -157,6 +157,11 @@ const knownDeprecatedSurfaceMarkers = [

157157

file: "src/plugins/hook-types.ts",

158158

marker: "@deprecated Use gateway_stop",

159159

},

160+

{

161+

code: "deprecated-memory-embedding-provider-api",

162+

file: "src/plugins/types.ts",

163+

marker: "registerMemoryEmbeddingProvider",

164+

},

160165

{

161166

code: "channel-route-key-aliases",

162167

file: "src/plugin-sdk/channel-route.ts",