/** * Memory Embedder — 本地向量记忆嵌入接口(v0.8.1 P1-1) * * 职责边界:本模块只定义记忆系统消费的嵌入契约,不绑定任何 Provider 实现。 * main.ts 按用户配置装配:仅在 Provider 为 Ollama(本地推理,零成本、数据不出设备) * 且设置面板配置了 `memory.embeddingModel` 时注入真实实现;否则保持 null, * MemoryManager 自动回退纯 TF-IDF 检索(行为与历史版本完全兼容)。 * * 根治背景:OllamaAdapter.embed() 自实现以来全项目零调用 —— 本地向量检索能力 * 一直躺在代码里,TF-IDF bigram 对同义改写("我喜欢简洁回答" vs "回复要短") * 零召回。本契约激活该能力,检索升级为 混合评分(向量余弦 × TF-IDF)。 */ /** 嵌入失败/不可用的统一返回:null = 本次无法向量化(调用方回退 TF-IDF 路径) */ export type MemoryEmbedFn = (text: string) => Promise; export interface MemoryEmbedder { embed: MemoryEmbedFn; }