OpenMRP开源ERP:用 API + AI代理重构制造运营

OpenMRP开源ERP:用 API + AI代理重构制造运营

💡 原文中文,约4900字,阅读约需12分钟。
📝

内容提要

OpenMRP是一款开源ERP系统,采用API优先和AI代理设计,基于微服务架构覆盖制造全流程。系统强调可编程性,所有功能通过公开API实现,AI代理可执行任务但写操作需人工批准。项目以Apache 2.0许可开源,提供Go和TypeScript SDK,支持生产排程和BOM统一建模,但使用需自担风险。

🔎

延伸解读

API优先设计:从黑箱到可编程

传统ERP常被视为不可更改的黑箱,而OpenMRP通过API优先设计,将所有功能暴露为公开REST API,使得工厂系统变得可编程。这种设计不仅让内部仪表盘与外部开发者使用同一套接口,还通过严格的版本控制确保兼容性。对于企业而言,这意味着可以自主集成和定制,减少对供应商的依赖,但同时也要求企业具备相应的技术能力来维护和扩展系统。

微服务架构:灵活性与复杂性的权衡

OpenMRP采用六个独立微服务,通过gRPC和RabbitMQ通信,每个服务遵循五层架构,数据存储分离。这种架构提高了系统的可维护性和可扩展性,但也带来了运维复杂性。企业需要评估自身是否有能力管理分布式系统,包括服务发现、数据一致性、监控和故障恢复等。此外,文档提到目前共享MySQL数据库,未来将拆分,这暗示架构仍在演进中,可能带来迁移风险。

AI代理的边界:自动化与人工审批

OpenMRP的AI代理能执行读取和查询任务,但所有写操作必须经过人工批准。这一设计在自动化和控制之间划清了界限,确保关键决策仍由人掌控。代理通过API网关调用工具,与人类用户走相同的认证和审计流程,增强了透明度和可追溯性。对于企业,这既提高了效率,又保留了安全阀,但需注意代理的决策质量依赖于底层数据和算法,仍需人工监督。

开源的风险与信任问题

尽管OpenMRP以Apache 2.0开源,提供完整代码和文档,但开源软件不提供担保,企业需自行承担风险。文章提到,传统ERP提供“出事有人兜底”的安全感,而开源则要求企业具备技术能力和风险承受力。此外,项目仍处于早期阶段,缺乏大规模生产环境验证案例。企业在采用前应进行充分的技术评估和试点,并考虑是否有能力进行自主维护和故障处理。

Q&A

OpenMRP是什么?它的核心设计理念是什么?

OpenMRP是一款开源的ERP系统,采用API优先和AI代理原生设计,基于微服务架构,覆盖制造全流程。其核心设计理念是“ERP应该是可编程基础设施”,即所有功能通过公开API暴露,用户可以用代码驱动生产计划、自动生成采购订单等,而不是依赖厂商定制。

OpenMRP的微服务架构包含哪些服务?它们之间如何通信?

OpenMRP后端由六个独立微服务组成:核心服务(物料、生产、库存、订单)、认证服务(身份、JWT、API Key)、通知服务(邮件和消息)、计费服务(订阅和支付)、平台服务(审计日志和幂等性)、代理服务(AI代理运行)。服务间通过gRPC通信,异步消息使用RabbitMQ。每个服务遵循五层架构:传输层、服务层、中介层、仓储层、领域层。

OpenMRP如何保证API的完备性和兼容性?

OpenMRP的设计原则是仪表盘调用的每个接口都是公开API,团队自身也使用同一套API,从而倒逼API完备性。API版本控制严格,破坏性变更必须新增版本并编写转换器以保持兼容。请求头需带Bearer Token、OpenMRP-Account和OpenMRP-Version。

OpenMRP的生产排程和BOM建模有什么特点?

生产排程使用“求解器”将预测需求转化为每周每个SKU的生产计划,包括运行小时、设备利用率等,生成草稿后需人工确认发布。BOM和工艺路线统一建模为同一个图,物料进入生产步骤,步骤产出零件,成本自动沿图滚动,实现一步到位的成本核算。

OpenMRP的AI代理是如何工作的?有哪些安全限制?

AI代理可在对话线程中被@提及,调用与用户相同的API执行任务,能读数据、查库存、生成报表。但所有写操作(如创建订单、修改BOM、发布生产计划)必须经过人工批准,代理会暂停等待确认。代理调用API时绕回API网关,走与人类用户相同的认证、版本控制、幂等性和审计日志,确保可追溯。

OpenMRP的开源许可是什么?项目有哪些仓库?

OpenMRP以Apache 2.0许可证开源。项目分为五个仓库:API仓库(Go微服务和OpenAPI规范)、仪表盘仓库(Next.js前端)、UI仓库(共享组件库)、TypeScript SDK和Go SDK各一个仓库。

OpenMRP的本地开发环境如何搭建?

使用Tilt + minikube一键拉起本地环境,包括六个微服务、两个数据库(MySQL和PostgreSQL)、消息队列和对象存储。常用命令:make local-db起数据库,make dev起全部服务,make teardown销毁环境。

OpenMRP适合哪些用户?使用它有哪些风险?

OpenMRP适合希望深度定制和编程控制ERP系统的制造企业,尤其是拥有开发团队的公司。风险在于Apache 2.0许可证不提供任何担保,系统可能存在问题,使用需自担风险。项目文档也提醒用户自行审计和测试。

🏷️

标签

➡️

继续阅读