一个基于 TypeScript 和 Next.js 的 AI-ready 模块化 CRM/ERP 基础框架。它提供开箱即用的多租户、权限、工作流和 Headless API 能力,支持通过覆盖机制进行深度定制,并内置 AI Agent (MCP) 集成工具。
项目概述#
Open Mercato 是一个企业级的 CRM 与 ERP 基础框架,核心理念是 "Start with 80% done"——让开发团队从重复的基础功能开发中解放出来,专注剩余 20% 的差异化创新。
核心价值主张#
- Buy vs. Build 平衡:在开箱即用与高度可定制间取得最佳平衡
- 模块化与升级兼容:通过覆盖机制(Overlay)快速定制而不破坏升级路径
- AI-Ready 设计:面向辅助工作流、自动化与对话接口的结构化设计
业务领域能力#
| 模块 | 关键能力 |
|---|---|
| CRM | 无限灵活的客户、机会与工作流建模,支持自定义数据定义 |
| ERP | 订单/生产/服务交付管理,可按需裁剪模块 |
| Commerce | CPQ 流程、B2B 采购门户、完整电商后端 |
| Self-service | 可配置表单与引导流、细粒度权限的客户/伙伴门户 |
| Production | 协调生产管理,支持模块化实体与自动化钩子 |
| Workflows | 自定义数据生命周期与文档工作流(按租户/团队) |
平台与架构能力#
- 🧩 Modular Architecture:模块、页面、API、实体自动发现;Overlay 覆盖机制
- 🧬 Custom Entities & Dynamic Forms:运行时声明字段、校验器与 UI 控件
- 🏢 Multi-tenant by Default:默认多租户,严格按 organization/tenant 隔离
- 🏛️ Multi-hierarchical Organizations:内建组织树、角色与用户可见性控制
- 🛡️ Feature-based RBAC:角色/用户级特性标志,结合组织范围进行页面/API 门控
- ⚡ Data Indexing & Caching:混合 JSONB 索引 + 智能缓存
- 🔔 Event Subscribers:领域事件发布与持久化订阅处理(本地/Redis)
- 🌐 Headless/API Platform:统一可扩展的数据模型,富类型 API(移动/Web)
AI 集成能力#
MCP (Model Context Protocol) 工具#
discover_schema- 发现数据结构find_api- 搜索可用 APIcall_api- 调用后端接口context_whoami- 获取当前上下文
支持开发/生产集成模式,使 AI Agent 能够理解业务逻辑并执行操作。
数据加密#
- 租户级 DEK(数据加密密钥)
- AES-GCM 加密
- ORM 生命周期自动加解密
技术架构#
- 前端:Next.js App Router + React + TypeScript (92.7%)
- 后端 ORM:MikroORM + PostgreSQL
- 依赖注入:Awilix(请求级 DI 容器)
- 缓存与事件:Redis
- 搜索引擎:Meilisearch(全文/向量搜索)
- 认证:bcryptjs + JWT Session
项目结构#
apps/
├── mercato/ # 主 Next.js 应用
└── docs/ # 文档站点
packages/ # @open-mercato/<pkg> 命名
├── core/ # 核心包
├── shared/ # 共享工具
├── ui/ # UI 组件
├── cli/ # 命令行工具
├── ai-assistant/# AI 助手
└── enterprise/ # 企业版
环境要求#
- Node.js: 24.x
- Yarn: 4+
- PostgreSQL: 数据库
- Redis: 事件与缓存
- Meilisearch: 搜索引擎(可选)
快速开始#
git clone https://github.com/open-mercato/open-mercato.git
cd open-mercato
git checkout develop
yarn install
cp apps/mercato/.env.example apps/mercato/.env
yarn generate
yarn initialize
yarn dev
# 访问 http://localhost:3000/backend
Docker 部署#
# 开发模式(热重载)
docker compose -f docker-compose.fullapp.dev.yml up --build
# 生产模式
docker compose -f docker-compose.fullapp.yml up --build -d
API 开发风格#
- 路由约定:
api/<method>/<path>.ts - 快速 CRUD:使用
makeCrudRoute构建 CRUD API - 自动文档:导出 OpenAPI 规范
- 输入校验:Zod Schema