[⚠️本文由人类编写原文,ChatGPT 优化排版]
应该有一部分 v 友和我一样,平时用 MacBook 开发,个人项目实际运行放在另一台机器上。我这边就是放在一台 Mac mini 上。
开发过程中经常会碰到一些需要本地部署的依赖。
比如本地起一个 PostgreSQL 当测试库;想给项目接日志,为了以后迁移到云上,最后用了 Grafana + Loki ;外网访问走 Cloudflare Tunnel ,也需要一直在 Mac mini 上跑。
这些部署我基本都交给 Mac mini 上的 Hermes 去做。
时间一长就发现一个问题:我和 Hermes 都开始记不清机器上到底部署了什么,哪些端口在用,用 Docker 跑的还是直接启动的,配置放在哪里……
更麻烦的是,我平时会轮着用不同的 AI IDE 和工具( Cursor 、Trae 、Qoder 、Antigravity 之类,公司报销了不少工具,也不审计,正好拿来干点私货),每换一个工具,就得重新告诉它现在 Mac mini 上是什么状态,哪些服务已经部署了,哪些不用再装,来回同步上下文挺烦的。
一开始我也想过把这些写到各个项目的 README 里,但很快就发现不现实。
我的个人项目比较多,而且很多基础服务都是共用的。比如一个 PostgreSQL 可能几个项目都在用,Grafana 、Loki 、Cloudflare Tunnel 更是整个开发环境共享的。今天为了 A 项目加了一个服务,明天 B 项目可能也会依赖它。如果把环境说明分散到每个项目里,很容易越写越乱,最后谁都不是最新版本。
现在我把这些东西独立出来,单独建了一个 Git 仓库,里面用 Vite 搭了一个文档站,专门维护整个开发环境的部署信息。既方便自己查,也方便分享给朋友,更重要的是,可以作为不同机器、不同 AI Agent 之间同步上下文的载体。
现在流程基本就是:
- MacBook 这边需要新增一个服务,就生成一份部署文档,提交到 Git 。
- Mac mini 上的 Hermes 拉一下最新文档,按文档完成部署。
- 部署完成后,再把实际部署结果、端口、启动方式等信息回写到文档里。
这样文档就成了整个开发环境的唯一事实来源( Single Source of Truth )。
我在 MacBook 上开发的时候,只要把这份文档放到工作区,不管用哪个 AI IDE ,都能直接读取当前环境信息,不用每次重新解释:“数据库在哪、日志怎么收、哪些端口已经占用了、Tunnel 怎么跑的……”
本质上,就是把环境信息从各个项目里拆出来,单独维护成一个 Git 仓库。项目只关心自己的代码,而整个开发环境只有这一份文档负责描述。
目前用了一个星期,感觉对个人项目挺舒服。
最大的好处不是文档本身,而是以后不管换哪个 IDE 、哪个 AI Agent ,甚至以后不用 Hermes 换成别的 Agent ,大家看的都是同一份部署文档,基本不用再重复沟通环境信息。
欢迎各位 v 友点评讨论

