展示HN:Salvobase – 由AI代理维护的MongoDB兼容数据库,使用Go语言开发
MongoDB 很棒,直到你阅读了 SSPL。然后你要么支付 Atlas 的高价,要么使用旧版 4.x,要么假装 FerretDB 已经可以投入生产。我们提供了第三种选择。
Salvobase 是一个与 MongoDB wire-protocol 兼容的文档数据库,使用 Go 编写。只需指向任何 Mongo 驱动程序,它就能正常工作。无需更改驱动程序或配置。它是 Apache 2.0 许可,因此你可以将其嵌入到商业产品中,而无需法律上的讨论。
它的功能包括:
- 完整的 CRUD 操作,索引(单一、复合、唯一、文本、TTL、部分、通配符),以及大部分聚合管道($match、$group、$lookup、$unwind、$facet 等)
- SCRAM-SHA-256 认证
- bbolt 存储引擎:每个数据库一个 .db 文件,使用 Snappy 压缩的 BSON
- 内置 Prometheus 指标,地址为 :27080/metrics(无需导出器)
- 内置 REST/JSON API,地址为 :27080/api/v1/(MongoDB 的等效版本是付费的 Atlas)
- 每个租户的速率限制、审计日志、1 秒 TTL 精度、SIGHUP 热重载
- 运行 make build && make dev 即可启动
它的限制包括:
- 不支持复制。不支持分片。不支持变更流。不支持多文档事务(已简化)。不支持 $where 或 mapReduce(故意设计:安全性 + 复杂性)。仅支持单节点。如果你需要一个分布式的 MongoDB 替代品,这还不是它。但我们希望有一天它会成为那样,由代理构建。
奇怪的部分:
代码库由 AI 代理维护。不是“AI 辅助”——这些代理从待办事项中挑选问题,编写代码,提交 PR,相互审查 PR,并合并。存在一个正式的协议(https://github.com/inder/salvobase/blob/master/AGENT_PROTOCOL.md),涵盖身份、信任等级、审查的反串通规则、声明超时和紧急停止开关。人类设定方向;代理执行任务。
我们很好奇,自动化代理维护是否能够在长时间内维持一个真正的开源项目,而不仅仅是生成初始代码。
如果你想捐赠一个代理,只需将以下提示输入 Claude Code、Cursor、Aider、Devin 等工具中:Fork/clone github.com/inder/salvobase,阅读 QUICKSTART.md,并开始贡献。
GitHub: [https://github.com/inder/salvobase](https://github.com/inder/salvobase)
谢谢。
查看原文
MongoDB is great until you read the SSPL. Then you're either paying Atlas prices, running an old 4.x build, or pretending FerretDB is production-ready. We built a third option.<p><pre><code> Salvobase is a MongoDB wire-protocol-compatible document database written in Go. Point any Mongo driver and it works. No driver changes, no config changes. It's Apache 2.0, so you can embed it in a commercial product without a legal conversation.
What it does:
- Full CRUD, indexes (single, compound, unique, text, TTL, partial, wildcard), and most of the aggregation pipeline ($match, $group, $lookup, $unwind, $facet, etc.)
- SCRAM-SHA-256 auth
- bbolt storage engine: one .db file per database, Snappy-compressed BSON
- Built-in Prometheus metrics at :27080/metrics (no exporter needed)
- Built-in REST/JSON API at :27080/api/v1/ (MongoDB's equivalent is paid Atlas)
- Per-tenant rate limiting, audit logging, 1-second TTL precision, SIGHUP hot reload
- make build && make dev and you're running
What it doesn't do:
No replication. No sharding. No change streams. No multi-document transactions (stubbed). No $where or mapReduce (intentional: security + complexity). Single-node only. If you need a distributed MongoDB replacement, this isn't it yet. But we hope one day it will become that, built by agents.
The weird part:
The codebase is maintained by AI agents. Not "AI-assisted" - the agents pick issues from the backlog, write code, submit PRs, review each other's PRs, and merge. There's a formal protocol (https://github.com/inder/salvobase/blob/master/AGENT_PROTOCOL.md) covering identity, trust tiers, anti-collusion rules for reviews, claim timeouts, and a kill switch. Humans set direction; agents do the execution.
We're curious whether autonomous agent maintenance can sustain a real open source project over time, not just generate initial code.
</code></pre>
* If you want to donate an agent just drop this prompt into Claude Code, Cursor, Aider, Devin, whatever: Fork/clone github.com/inder/salvobase, read QUICKSTART.md, and start contributing<p>GitHub: <a href="https://github.com/inder/salvobase" rel="nofollow">https://github.com/inder/salvobase</a><p>Thank you.