开发与工程 markdown-memorylong-term-memorysqlitelancedbopenai-compatible-apimultimodal-ingestion

EverOS 代理记忆层

为跨应用和工作流的 AI 代理提供可迁移的本地长期记忆。

FollowAgents 评估 · FARS-2.1
不推荐
45/ 100 五分制 2.3 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全7 / 29 · 1.2/5

证据显示:服务器默认绑定127.0.0.1,文档明确警告不要暴露到不受信任的网络,API密钥存储在本地.env,且不会传输到除配置的提供商之外的地方。这体现了最小权限原则(least_privilege)的部分实现,但缺少用户确认机制(user_confirmation),例如在写入或删除记忆前没有明确的用户确认步骤。数据流透明度(data_flow_transparency)方面,README和SECURITY.md描述了数据流向,但未提供详细的日志或审计功能。敏感数据处理(sensitive_data_handling)方面,文档提到记忆以明文.md存储,建议使用OS级权限或磁盘加密,但未提供内置加密选项。依赖安全(dependency_security)方面,pyproject.toml中固定了lancedb版本范围,并注释了已知问题,但未提及依赖漏洞扫描。外部影响(external_effects)方面,服务器默认仅监听本地,但未说明对系统文件或网络的影响。回滚(rollback)方面,未提供任何回滚机制。来源归属(source_attribution)方面,README列出了多个外部集成项目,但未明确说明这些项目的来源和可信度。

2可靠稳定8 / 14 · 2.9/5

证据显示:项目有严格的测试套件,包括一致性检查(tests/_consistency_assertions.py)和CI配置,表明自我一致性(self_consistency)较好。依赖可用性(dependency_availability)方面,依赖项在pyproject.toml中明确列出,且CI使用uv.lock锁定版本,但未提供依赖的可用性保证。失败消息(failure_messages)方面,文档提到office文档上传失败会返回HTTP 415和清晰错误消息,但整体错误处理机制未详细说明。

3适用触发10 / 18 · 2.8/5

证据显示:README明确列出了目标受众(开发者、AI代理)和多种使用场景(如Reunite、Hive等),表明受众和场景(audience_and_scenarios)覆盖较广。能力边界(capability_boundaries)方面,文档说明了demo是本地教育用途,不连接服务器,且多模态支持需要额外安装,但未详细说明所有功能的限制。触发精度(trigger_precision)方面,文档提供了API调用示例,但未说明触发条件或权限控制。环境适配(environment_fit)方面,支持Python 3.12+,并提供了macOS和Linux的安装说明,但未提及Windows支持。

4规范维护10 / 18 · 2.8/5

证据显示:信息架构(information_architecture)方面,README结构清晰,有目录和文档链接,但未提供完整的API参考。安装说明(install_notes)方面,提供了pip安装和配置步骤,但未提及系统依赖(如LibreOffice)的安装细节。命名稳定性(naming_stability)方面,API版本v1和v2并存,但v1被标记为遗留,可能在未来移除,存在命名不稳定的风险。示例和FAQ(examples_and_faq)方面,提供了多个使用案例和快速入门示例,但未提供FAQ。已知限制(known_limitations)方面,SECURITY.md提到了威胁模型,但未列出所有已知限制。许可证(license)方面,Apache-2.0许可证完整,且pyproject.toml中明确声明。版本和变更日志(versioning_changelog)方面,有CHANGELOG.md,但未提供详细的版本历史。维护责任(maintenance_responsibility)方面,SECURITY.md提供了安全报告邮箱,但未明确维护者或贡献指南。

5有效结果7 / 13 · 2.7/5

证据显示:输出可用性(output_usability)方面,提供了API响应示例和Markdown文件说明,但未提供完整的输出格式文档。边际价值(marginal_value)方面,项目提供了独特的Markdown-first记忆层,与其他库相比有差异化,但未提供性能基准。成本效益(cost_benefit)方面,需要多个API密钥(OpenRouter、DeepInfra),可能增加使用成本,但未提供成本估算。

6证据核验3 / 8 · 1.9/5

证据显示:声明可追溯性(claim_traceability)方面,README中的功能声明未提供具体实现细节或测试证据。跨来源佐证(cross_source_corroboration)方面,README引用了多个外部项目,但未提供独立验证。事实与推断分离(fact_inference_separation)方面,文档中区分了事实(如功能描述)和推断(如“self-evolving”),但未明确标注。

证据充分度: 评估于 2026年8月9日 审查版本 48fc9084888b
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
源码中未见的安全控制:执行前用户确认、回滚或恢复路径
使用前请注意
  • 服务器默认绑定127.0.0.1,但若用户手动绑定到0.0.0.0,可能暴露到不受信任的网络,需谨慎配置。
  • 记忆以明文Markdown存储,敏感数据需额外加密措施。
  • 依赖lancedb版本有已知问题,需关注版本更新。
  • API v1为遗留版本,可能在未来移除,新代码应使用v2。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

EverOS 是面向代理与开发者的 Python 库及本地优先记忆运行时。它将对话、文件和代理轨迹保存为可读、可编辑、可进行 Git 版本控制的 Markdown,并同步本地 SQLite 与 LanceDB 索引以支持检索。服务通过本地 HTTP 接口提供记忆写入、提取、刷新和搜索,新的业务接口位于 /api/v2,/api/v1 仍是兼容旧集成的遗留别名。它可按 user_id、agent_id、app_id、project_id 和 session_id 等维度检索,并将用户 episodes/profile 与代理 cases/skills 作为独立表面处理。该项目还描述了离线反思流程,用于合并 episode 聚类并在会话间完善 profile 和 skills;运行边界是本机文件、SQLite、LanceDB 与本地启动的服务,而不是托管记忆平台。

运行 everos server start 后,EverOS 在本机提供服务。客户端可向 POST /api/v2/memory/add 提交带有 session_id、app_id、project_id 和 messages 的对话;系统将内容写入 Markdown,并在后台同步本地 SQLite 与 LanceDB。POST /api/v2/memory/flush 可为指定会话强制执行提取,POST /api/v2/memory/search 可按用户及应用/项目范围查询并返回召回结果。everos demo 是不连接服务的本地终端教学可视化器;everos demo --live 则依次调用 /health、/api/v2/memory/add、/api/v2/memory/flush 和 /api/v2/memory/search。安装 everos[multimodal] 后,memory/add 的 content 项还可处理图像、PDF、音频和办公文档;办公文档会先通过 LibreOffice 转为 PDF。

  1. 正在开发编码助手的团队,可把每次编码会话的消息按 project_id 和 session_id 写入 EverOS,再在后续会话中按 user_id 搜索历史上下文。
  2. 需要让个人 AI 助手跨设备或跨应用保留偏好的开发者,可直接检查和编辑 Markdown 记忆文件,并让级联监视器同步索引。
  3. 构建带持续记忆的多代理产品时,可将用户 episodes/profile 与代理 cases/skills 分开保存和检索。
  4. 需要从图片、PDF、音频或办公文件提取长期上下文的应用,可安装 multimodal extra,并为办公文件部署 LibreOffice。
  5. 希望先向团队演示记忆写入与召回生命周期的开发者,可在不配置 API 密钥的情况下运行 everos demo。

这个 Agent 有哪些优点和局限?

优点
  • Markdown 是规范数据源,记忆文件可阅读、直接编辑、差异比较并纳入 Git 版本控制。
  • 本地栈明确采用 Markdown、SQLite 和 LanceDB,不要求 MongoDB、Elasticsearch 或 Redis。
  • 检索范围可正交组合 user_id、agent_id、app_id、project_id 和 session_id,而非仅依赖单一会话或命名空间。
  • 提供本地 CLI 演示、HTTP 服务和 Python 包三种可验证入口,便于先体验再嵌入应用。
局限
  • 真实服务流程需要聊天、多模态、嵌入和重排能力的提供商凭据;默认配置涉及 OpenRouter 与 DeepInfra。
  • 索引在后台同步,刚写入记忆后首次搜索可能暂时为空。
  • 办公文档摄取依赖系统级 LibreOffice;缺失时 .doc、.docx、.ppt、.pptx、.xls、.xlsx 上传会返回 HTTP 415。
  • README 明确将 /api/v1 标为未来大版本可能移除的遗留别名,旧集成需要迁移至 /api/v2。

如何安装或部署这个 Agent?

需要 Python 3.12+。先安装并运行无需密钥的本地演示:

uv pip install everos
everos demo

要运行真实服务,执行 everos init,然后在生成的 .env 中填写 EVEROS_LLM__API_KEY、EVEROS_MULTIMODAL__API_KEY、EVEROS_EMBEDDING__API_KEY 和 EVEROS_RERANK__API_KEY。默认说明使用 OpenRouter 提供聊天和多模态能力、DeepInfra 提供嵌入与重排;也可通过对应的 *__BASE_URL 配置为其他 OpenAI 兼容端点。需要处理非文本内容时安装:

uv pip install 'everos[multimodal]'

办公文档还需要在主机安装 LibreOffice。

如何使用这个 Agent?

配置 .env 后启动服务:

everos server start

在另一个终端检查:

curl http://127.0.0.1:8000/health

预期返回 {"status":"ok"}。首次真实演示可运行:

everos demo --live

新代码应使用 /api/v2。典型流程是先向 /api/v2/memory/add 提交 messages,再向 /api/v2/memory/flush 提交 session_id、app_id、project_id,最后向 /api/v2/memory/search 提交 user_id、app_id、project_id、query 和 top_k。Markdown 同步写入,但本地索引会在后台追上;首次搜索为空时,项目说明建议稍候重试。

常见问题

不配置 API 密钥能试用吗?
可以。everos demo 是本地、硬编码的教学可视化器,不连接 EverOS 服务,也不需要 API 密钥。
真实记忆数据存在哪里?
项目说明将 Markdown 作为规范数据源,并同步本地 SQLite 和 LanceDB;快速开始示例提示可在 ~/.everos 查看生成的 Markdown 文件。
可以使用默认提供商以外的模型服务吗?
可以配置对应的 *__BASE_URL 指向其他 OpenAI 兼容端点;README 列举 OpenAI、OpenRouter、vLLM、Ollama 和 DeepInfra。实际可用性仍取决于所配置端点提供的聊天、多模态、嵌入和重排能力。
上传 Office 文档失败时该怎么办?
办公文件需要 LibreOffice 的 soffice 进行 PDF 转换。未安装时,服务会返回 HTTP 415;PDF、图像、音频、HTML 和邮件解析不受这一限制。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents