聚合根 MemoryStore 上仅 6 个核心方法;一切可失败操作返回 Result,全库禁 panic。
MemoryStore
Result
open(path, config?)
Result[MemoryStore, MoomemError]
add(user_id, text)
Result[AddSummary, MoomemError]
recall(user_id, query, top_k?)
Active
Unstructured
Result[Array[MemoryEntry], MoomemError]
forget(user_id, target)
ById(id)
All
Result[Int, MoomemError]
stats()
Result[StoreStats, MoomemError]
close()
Result[Unit, MoomemError]
辅助:export_jsonl / import_jsonl / list_entries(user_id)。
export_jsonl
import_jsonl
list_entries(user_id)
user_id:非空、≤64 字符、字符集 [A-Za-z0-9_\-.],入口强制校验(含路径穿越拒绝)。
user_id
[A-Za-z0-9_\-.]
Embedder
HashingEmbedder
Extractor
RawExtractor
src/llm_extractor
LlmExtractor
ConflictJudge
SimilarityJudge
LlmConflictJudge
PersistenceBackend
FsBackend
MemoryBackend
Clock
LogicalClock
FixedClock
let cfg : Config = Config::{ ..Config::default(), judge : Some(MyLlmJudge::new() as &ConflictJudge), clock : Some(FixedClock::new(42L) as &Clock), } let store = MemoryStore::open("./memory", config=cfg).unwrap()
更多: