不是方案测评,是我用半个月真干了一个进销存ERP后的大实话。
先说结论
Hermes当项目经理,Codex当码农。你当产品经理。
Hermes拆需求、派任务、验收结果。
Codex写代码、跑测试、改bug。
你——定方向、看结果、摸鱼。
这三层分工,是这套方案能跑起来的核心。
Hermes + Codex到底凭啥干活
Hermes(Nous Research出的开源Agent框架):接你的需求 → 拆成子任务 → 调工具 → 调人干活 → 验收。支持20多种模型,有跨session记忆。
Codex(OpenAI出的代码CLI Agent):写代码的。给prompt能自己读代码、写代码、跑测试、commit,一条龙。
她俩配合:
你 → Hermes拆任务 → Codex写代码 → Hermes验收 → 你
Hermes用 delegate_task 派活,Codex干完返回结果。不合格打回去重来。
但光靠她俩不够
有人问了:就这俩能搞定企业ERP?
说句大实话:不够。差得远。
只有Hermes和Codex,你只能写代码。企业项目需要的远不止写代码——数据库、API调试、文档、部署、监控、协作,每个环节都要对应的工具。拿ERP来说,光采购模块就涉及:
建表和迁移 → 数据库工具 写接口测接口 → API调试工具 接口文档给前端 → 文档工具 部署到服务器 → DevOps工具 出问题查日志 → 日志工具
下面是我这套项目实际用到的一整套工具链,按环节列清楚。
完整工具链清单
1️⃣ 核心:代码生成
| Hermes Agent | ||
| Codex CLI |
ERP里90%的业务代码是Codex写的。Hermes不直接写代码,它管Codex。
补充:Codex也不是唯一选项。同类型的还有 Claude Code(Anthropic出品)、OpenCode(开源替代)。做法一样——Hermes delegate_task派过去。如果你Codex跑得不顺(比如OpenAI API在某些地区不稳定),换Claude Code就是改一行配置的事。
2️⃣ 数据库:项目的数据地基
写代码最怕什么?代码写好了,连上数据库发现表结构不对。
| DBeaver | ||
| pgAdmin | ||
| TablePlus |
实战用法: 让Codex生完 migrations 文件后,我不会直接信任——先在DBeaver里跑一遍看看建表语句对不对,索引有没有漏,外键关系是不是对的。确认没问题才让Codex apply。
踩过一次坑:Codex生成的migration里漏了联合唯一索引,上线后才发现重复数据。后来加了一条流程:所有migration必须人肉看一遍再apply。
3️⃣ 接口调试:前后端的桥梁
ERP项目全是API。接口不对,前端就得干等。
| Bruno | ||
| Hoppscotch | ||
| httpie |
实战用法: Codex写完一个接口,我不会先让前端对接。先用Bruno调一遍——传正常参数看返回值对不对,传异常参数看错误处理规不规范。确认OK了,再告诉前端可以联调。
有一次Codex写了个POST接口,正常返回200,传负数库存参数也返回200——根本没做校验。 如果不先调接口就放出去,前端联调时还得返工。现在流程固定了:Codex写完接口 → Bruno测一遍 → 过了再合并。
4️⃣ 数据库设计:项目的图纸
企业ERP关系统复杂,采购单关联入库单、入库单关联财务凭证。表之间怎么关联,一开始就要想清楚。
| drawDB | ||
| dbdiagram.io | ||
| DBML |
实战用法: 动手写代码前,先用 dbdiagram.io 画ER图。采购单、入库单、库存表、财务凭证——四张表的关系链先在图上理清楚。然后导出DDL给Codex,让Codex照着DDL写migrations。
核心原则:先画图,后写代码。 表关系没理清就开始让Codex写,只会写出要重构的烂代码。
5️⃣ DevOps:让项目跑起来
代码写好了要部署到服务器。ERP系统不能三天两头挂。
| Docker | ||
| Docker Compose | ||
| Coolify | ||
| Nginx | ||
| watchtower |
实战用法: Hermes本身可以写Dockerfile和docker-compose.yml。我让Hermes生成了一个完整的环境配置,本地开发用 docker compose up 启动Postgres + Redis + 应用三个容器。部署到服务器后,用Coolify连Git仓库,代码push上去自动构建部署。
说人话就是:本地 docker compose up 跑起来,远程push代码自动部署。 你别手动SSH进服务器。
踩坑:Coolify默认配置下,部署完不会自动重启容器里的应用。需要在Coolify里手动勾选"Auto update" 或者给容器加 --restart=always。
6️⃣ 文档:不写文档的项目是定时炸弹
Codex写代码很快,但不会写文档。企业项目没有接口文档,你走了没人接得住。
| Swagger UI | ||
| Stoplight | ||
| Obsidian |
实战用法: FastAPI项目自带的Swagger UI已经够用。Codex写完接口加好Pydantic schema,Swagger自动生成文档。不需要手动写接口文档。 但项目架构设计、数据库ER图、部署流程这些,我会记在Obsidian里。
一个坑:Codex写schema的时候偶尔会漏字段描述,导致Swagger生成的文档字段说明是空的。我会让Hermes验收时加一条:检查所有schema字段有没有description。
7️⃣ 日志与错误排查:线上出问题怎么办
Codex不可能写出零bug的代码。线上出问题,你得能快速定位。
| Sentry | ||
| Loki + Grafana |
实战用法: Sentry接入后,报错自动推送到飞书群。不需要自己盯着日志文件翻。 有一次采购接口报了个SQL约束异常,Sentry直接把堆栈和入参都推过来了,看了一眼就知道是Codex生成的库存扣减逻辑没做事务回滚。修起来5分钟。
一张表总结
三条铁律直接拿走
给Codex的prompt越具体越好。 写清楚API签名、约束条件、测试文件路径。"帮我写个接口"这种话,Codex能给你跑偏十分钟。
Codex写完之后你至少测一遍再看。 数据库migration人肉看一眼,接口用Bruno调一遍,不然放出去全是坑。
用Hermes skill记项目约定。 花半小时把命名规范、数据库设计写进skill里,后续所有任务自动加载,代码一致性高到像一个人写的。
说句实在的
每天还在自己敲CRUD、敲测试用例的人,真的可以试试这套组合拳。
一天800行变8000行,还不加班。
AI不会替代你。但用AI的你会替代不用AI的你。
方案全开源全本地。自己搜 Hermes Agent + Codex CLI,GitHub上都有。
夜雨聆风