LMM 帮你把各种大语言模型统一管理起来 —— 身份认证、权限控制、计费账本、模型路由,一个网关全部搞定;商店、工具市场、助手、运营和支付适配则交给可插拔的扩展模块。LMM 全称 Language Model Mesh(语言模型网络),Mesh 的含义正是多模型路由、渠道共享和组件之间的协作。
Warning
这是我们正在精心打造的下一代微服务架构(WIP),目前还不能替代现有网站。 各模块的单元测试已经通过,但整站调用、支付和资金链路的端到端联通仍在推进中。历史资金、订阅和 API Key 的迁移正在隔离副本中逐步对账,尚未最终验收。 程序设计上不会连接旧业务库、不会自动升级表结构,也不会回退到旧单体,请放心。剩余工作和详细状态请参阅架构与状态。
LMM 由三个独立的程序协作完成工作:
lmm 客户端 / Web 控制台
│
├──► lmm-core(Rust)───────► 核心 PostgreSQL、模型供应商
│ ▲
│ │ 授权后的内部调用
└──► lmm-extensions(Go)───► 扩展自己的 PostgreSQL
| 程序 | 源码 | 职责 |
|---|---|---|
lmm |
apps/cli |
用户客户端,连接服务并调用已提供的功能 |
lmm-core |
services/core |
身份、权限、计费、账本与模型路由;init-db、bootstrap-user 等是它的子命令 |
lmm-extensions |
services/extensions |
商店、工具、助手、运营与支付适配等业务扩展 |
- 核心不依赖 Go 也能运行;扩展只管理自己的记录,不能直接改核心余额或数据库。
apps/web产出静态 Web 包,由 Web 服务器提供,不是额外的可执行程序。lmm客户端独立维护于 TokenNotIncluded/lmm,这里以apps/cli子模块固定版本。能力及 Magpie 对齐进度见客户端说明。contracts保存跨进程契约,config/legal保存可编辑协议草稿,packaging/distribution.json定义各分发包内容。
准备好了?按照下面的步骤开始吧!工具版本以 mise.toml 为准,命令通过 mise exec -- 执行。按任务只准备需要的工具,详见开发指南。
# 需要 CLI 时才初始化客户端子模块
git submodule update --init --depth 1 -- apps/cli
# 全新核心数据库必须用安装 owner 配置显式初始化一次;普通启动不建表、不改表
# owner 与运行凭据分开准备,见 deployment/postgres/README.md
lmm-core --config /absolute/private/core-owner.toml init-db
# 只读检查已安装数据库与运行配置
lmm-core --config /absolute/private/core.toml check-db隔离的整套环境用 Docker 开发栈启动。核心与扩展是独立 Compose 项目:更新扩展不应重启核心或其数据库;核心健康接口可响应不代表模型接口已就绪。
新安装统一使用 TOML 格式的配置文件,以下是默认路径一览:/etc/lmm.conf.d/core.toml 与 /etc/lmm.conf.d/extensions.toml,也可通过 --config 显式指定。
| 内容 | 路径 |
|---|---|
| 私密文件 | /etc/lmm.conf.d/secrets/<服务>/ |
| 持久状态 | /var/lib/lmm/<服务>/ |
| 运行时文件 | /run/lmm/<服务>/ |
完整规则和旧包迁移边界见配置与文件路径。统一路径不代表旧安装已自动转换。
不确定从哪里开始?根据你想做的事情选择入口:
| 想做什么 | 入口 |
|---|---|
| 了解边界与剩余工作 | 架构与状态 |
| 启动隔离环境 | Docker 开发栈 |
| 使用 mise 开发、测试 | 开发指南 |
| 统一 TOML 配置、服务目录与升级保留规则 | 配置与文件路径 |
| 配置用户、隐私、退款协议 | 协议模板 |
| 构建和检查分发包 | 打包与分发 |
| 查阅详细接口及历史资料 | 文档目录 |
我们的开发主线是 wip/rust-core-go-extensions;旧单体分支 main 与 traditional 已冻结,不再接受变更。需要注意的是,主线交接并不代表已上线或通过验收。此外,Extore 商品同步功能尚未完成,目前还不具备部署条件。
欢迎参与贡献!在开始之前,请先阅读贡献指南。如果发现安全漏洞,请按安全指南私下报告,不要公开密钥或用户数据。合并、打包、发布和部署是分开的决定。
项目基于 QuantumNous/new-api 发展,按 AGPL-3.0 发布。保留 NOTICE、分支来源与归属 和第三方许可证。线上服务与本分支的实现状态不同。