AI News HubLIVE
站内改写2 分钟阅读

Monlite:为AI Agent打造的极简基础设施

Monlite 是一个将数据库、缓存、队列、向量搜索、全文搜索和定时任务等功能整合到一个 SQLite 文件中的开源项目。它专为本地应用、CLI 工具和AI代理设计,无需 Docker 或复杂配置,只需一个 npm 包即可运行。目前支持 TypeScript 和 Python,并提供同步与浏览器支持。

来源Hacker News AI作者: emadjumaah

Monlite 是一个创新的开源项目,旨在简化为 AI 代理和本地应用构建后端基础设施的复杂度。它通过将通常需要多个独立服务(如 MongoDB、Redis、Qdrant 和 BullMQ)才能提供的功能,全部整合到一个单一的 SQLite 文件中,从而极大地降低了开发和运维成本。

项目的核心是一个零依赖的 TypeScript 库,用户只需导入 @monlite/core 并创建一个数据库实例,即可开始使用。这个数据库文件 (app.db) 包含了所有功能:文档集合支持类型化查询和 reactive watch() 方法;@monlite/vector 提供向量搜索,适用于语义检索和 RAG 场景;@monlite/fts 实现全文搜索(基于 FTS5);@monlite/kv 提供同步缓存和原子锁;@monlite/queue 提供持久化任务队列,支持重试和死信机制;@monlite/cron 则用于定时任务调度。所有这些功能都共享同一个文件,备份只需复制文件。

对于 AI 代理的后端需求,Monlite 提供了一套完整的解决方案。例如,一个编码代理或 RAG 管道通常需要记忆存储、缓存、向量搜索和任务队列。Monlite 允许开发者用一致的 API 管理这些需求,通过文档集合存储记忆状态,通过向量存储进行语义召回,通过比较并交换操作实现跨进程的任务领取,通过缓存实现分布式锁,通过队列调度嵌入任务。所有这些都可以在本地运行,无需 Docker 环境。

Monlite 还支持实时响应,类似本地版的 Firebase。集合的 watch() 方法可以监听特定数据变更,只触发相关更新,避免不必要的渲染。与 @monlite/sync 配合使用时,本地数据库可以成为 MongoDB 或 PostgreSQL 的实时副本,支持离线操作并在重连后同步。

项目提供了类似 Prisma 的查询语言,支持 elemMatchregex、聚合管道(包括 $group$lookup$unwind)以及原子事务。API 的 TypeScript 支持提供编译时检查。

当前版本中,@monlite/core 已发布 2.6.2 稳定版,其他包如 @monlite/vector@monlite/fts 也在积极开发中。项目支持 Node 18/20,并可通过 @monlite/wasm 在浏览器中运行。Python 端口 monlite 已发布,但仅包含文档和 KV 功能。

Monlite 适用于需要本地优先、离线可用、简单部署的场景,如 CLI 工具、桌面应用和边缘设备。它避免了直接使用 SQLite 时需要自行实现文档层、查询翻译、FTS 集成等工作,也无需像 Firebase 或 Supabase 那样依赖云端服务。项目采用 MIT 许可证。

Monlite:为AI Agent打造的极简基础设施 | AI News Hub