配置
Memorose 从config.toml、MEMOROSE__* 环境变量覆盖,以及少量兼容旧版本的环境变量中读取运行时配置。
当前运行时配置由 crates/memorose-common/src/config.rs 中的 AppConfig 定义。这才是服务端实际读取的权威来源。
主要文件
config.toml:服务端加载的运行时配置文件.env:./scripts/start_cluster.sh等辅助脚本会加载的本地环境变量.env.example:提供商密钥和常见环境变量覆盖示例crates/memorose-common/src/config.rs:当前运行时配置结构和默认值
当前顶层配置段
当前服务端配置围绕以下部分组织:sharding是可选的。reranker是可选的,默认使用内置 weighted reranker。config.example.toml和config.toml.example是示例文件;权威 schema 仍以crates/memorose-common/src/config.rs为准。
最小可用示例
Reranker 模式
Reranker 是服务端运行时配置。SDK 客户端不会在每次请求里选择 reranker 模式。| 模式 | 配置 | 行为 |
|---|---|---|
| Weighted | type = "weighted" | 默认本地 reranker,组合向量相似度、重要性和新近度。 |
| Arbitrator | type = "arbitrator" | 使用配置好的 LLM provider 动态选择真正相关的候选记忆,可以返回少于请求数量的结果,也可以返回 0 条。 |
| HTTP | type = "http" | 调用外部 reranker endpoint,例如 Jina 或自定义服务。 |
Arbitrator 模式
arbitrator 复用主 [llm] 的 provider、API key、base URL 和 embedding 设置。如果设置了 reranker.model,它只覆盖 arbitrator 使用的生成模型。
model:可选的 arbitrator 生成模型覆盖项。不设置时使用[llm].model。max_candidates:最多送给模型裁决的检索候选数量,不是固定返回条数。fallback_to_weighted:arbitrator 无法构建或运行失败时回退到 weighted reranker。include_metadata:在 arbitrator prompt 中包含 importance、level、user、org、domain、namespace 等元数据。
HTTP reranker 模式
HTTP 模式用于外部插件。top_n 只适用于 HTTP 模式。
环境变量
支持两种模式:1. 使用 MEMOROSE__ 的嵌套运行时覆盖
使用 MEMOROSE__SECTION__KEY=value 覆盖嵌套配置字段。
2. 兼容旧版本的直接覆盖
当前服务端仍会直接读取这些变量:.env.example里出现了LLM_PROVIDER,但当前服务端配置加载器不会直接把它映射到llm.provider。- 如果你想纯靠环境变量切换 provider,优先使用
MEMOROSE__LLM__PROVIDER=OpenAI或MEMOROSE__LLM__PROVIDER=Gemini。
各配置段控制什么
[llm]:provider、API endpoint、模型名、embedding 设置、可选 STT 设置[storage]:数据根目录、索引提交与 recent overlay 行为[raft]:节点身份、raft 地址、选举时序、快照、引导行为[worker]:整合节奏、遗忘、insight 生成、任务反思、自动连边调优[sharding]:多分片部署设置和物理节点映射[reranker]:weighted reranker、内部 arbitrator 模式或外部 HTTP reranker
指导建议
- 把
crates/memorose-common/src/config.rs视为权威 schema。 - 把
.env.example视为示例 convenience file,而不是完整的运行时行为说明。 - 对提及
[server]、[database]、[consolidation]、[forgetting]、[graph]、/health或/api/v1/*的旧示例保持警惕;它们不代表当前服务端的配置和 API。

