MemPalace v3.8.0:大型库读取加速、MCP 代理精简与可唤醒 agent 日志流
MemPalace 发布 v3.8.0,重点优化大型 palace 的读取性能:Chroma 元数据查询跳过 HNSW 向量索引,sqlite_exact 常见读路径不再全库扫描,长时间运行的 Chroma 服务不再因自身写入重建 HNSW。同时新增 logstream watch 持久休眠唤醒原语,并修复 sync --apply 在源路径不可达时误删 drawer 的风险。
性能
- Chroma 元数据读取跳过向量索引:
list_drawers与 tunnel 读取改为直接查询 Chroma 的 SQLite 元数据,把过滤条件下推到 SQL,只加载请求的预览内容。在 1.7 GB / 165k drawer 的 palace 上,wing 范围的list_drawers(limit=20)从 2.31 秒、峰值 RSS 1148 MB 降至 0.01 秒、86 MB。 - sqlite_exact 常见读路径缩减:在 167k drawer / 166k closet 实例上,
mempalace_status从 6997 ms 降至 1045 ms,热态mempalace_search从 6364 ms 降至 210–1600 ms。做法包括向量排序批量化与缓存、top-k 文档后置加载、等值过滤在 SQL 中分页、taxonomy 结果缓存,并为 wing / room / hall 增加索引生成列而不重写 1.6 GB 嵌入表。 - 长时间运行 Chroma 服务的内存稳定:八次搜索测得 RSS 由改动前的 951 MB → 3522 MB 变为 940 MB → 965 MB;被替换的客户端会关闭,而外部数据库的真实变更仍触发重建。
- hub 代理 MCP 会话更轻:普通 stdio 代理只导入转发路径,仅在需要本地回退时才懒加载完整服务;代理会话约 17 MB,导入开销从约 80 MB 降至 24 MB。
Agent 协作
新增 mempalace logstream watch,提供持久唤醒循环:管理游标推进,支持重复类型过滤、agent 自我排除、持久状态文件、空闲退出与 NDJSON follow 模式。无游标首次运行从实时末端开始;重启可能重放一个事件,但不会静默漏掉事件。
监控协议文档明确安全续传游标:跨副本事件按到达顺序追加,可续传的高水位应是 since_event_id 而非墙钟时间戳,该规则已写入工具描述和共享协作协议。
完整性与运维
sync --apply不再删除源文件不可达的 drawer:此前不可读目录、路径组件是普通文件、卷未挂载都可能被当作删除处理。现在只有当 palace 在同一目录仍能看到自有普通文件源时才判定可移除,无法佐证的情况进入新的unresolved桶,不会被清理,并按移除方式报告。- Apple Silicon 上 EmbeddingGemma 经 CoreML 自动选择时不会静默存入 NaN 或零向量:自动模式规避受影响的 provider/模型组合,使用前检查每个向量范数有限且非零;CUDA、DirectML 及其他模型不变。
- FTS5 自愈在重建索引前先校验并修复内容表,尽量以 Chroma 元数据副本为准,无法确认完整性时拒绝猜测。
- Mesh 状态跨传输一致:hub 发布不含 token、最后已知良好的 estate 快照,使
mempalace_mesh_peers在 stdio 与 HTTP 下均可报告可达性与 profiles。 - 文件系统边界情况安全失败:
sweep报告统计失败,init处理不可读 manifest 路径,split拒绝 FIFO 或符号链接输出目标。 - 发布容器附带 provenance 与 SBOM 证明;发布文档新增 Termux PRoot 安装指引、KG supersede 示例,并澄清 hook 写路由范围。
来源发布时间:2026-08-23。安装命令:pip install -U mempalace==3.8.0。
来源与核对说明
- mempalace/mempalace ↗https://github.com/MemPalace/mempalace/releases/tag/v3.8.0
本文经 AI 整理及独立自动校对,未做运行验证;自动校对仍可能遗漏问题,请以原始资料为准。
这篇内容对你有帮助吗?
点赞人数由服务器记录,收藏保存在当前浏览器。
继续阅读
LiteLLM v1.107.0-dev.3 开发者版本更新与镜像签名校验说明 →
LiteLLM v1.103.5 版本更新与镜像签名验证说明 →