前言
当 AI 编程工具从"玩具"进化为"生产力",如何选择适合自己的技术栈?是直接使用商业化工具,还是自建私有化部署?这篇文章记录我使用阿里云 ECS + 百炼模型部署 OpenClaw 的完整过程,以及用它在一周内完成 PHP 项目迁移到 Java(基于 RuoYi-Vue 框架)的真实体验。
这不是教程,而是实战复盘。我会分享技术选型理由、部署过程中的坑、实际使用体验,以及对"自建 vs 商用"的深度思考。如果你也在考虑搭建自己的 AI 编程环境,希望这篇文章能给你一些参考。
一、为什么选择自建 OpenClaw?
1.1 我的需求场景
最近 OpenClaw 在开发者圈子里很火,看到很多人分享用 AI 辅助编程提效的经历,我也心动了。但摆在面前的第一个问题是:在哪里部署?
本地部署虽然免费,但有几个硬伤:
- 需要占用本地电脑资源,运行时风扇狂转
- 离开公司电脑就无法访问
- 安全问题、权限问题,看到网上很多负面评论
所以我的决定很明确:上云。但云服务商这么多,该怎么选?
1.2 云服务商详细对比
我花了一天时间,调研了主流云服务商的价格和配置。我的核心需求是:
- 基础配置即可(2 核 2G 或 2 核 4G),因为主要是运行 OpenClaw 服务,不跑大模型
- 必须有独立公网 IP,方便随时访问和钉钉集成
- 价格敏感,不确定以后是否会继续使用所以希望成本明确且越低越好
- 后续可以根据使用情况灵活升级
下面是我的调研结果:
| 云服务商 | 配置 | 首年价格 | 公网 IP | 计费方式 | 备注 |
|---|---|---|---|---|---|
| 阿里云 | 2 核 2G, 5Mbps | ¥99 | ✅ 独立公网 IP | 包年 | 新人专享价,最便宜 |
| 腾讯云 | 2 核 2G, 4Mbps | ¥99 | ❌ 无独立 IP | 流量包月 | 需额外购买 IP 或按流量计费 |
| 火山引擎 | 2 核 2G, 5Mbps | ¥48 | ⚠️ 需单独购买 | 按量付费 | 公网 IP 按小时计费,约¥0.03/小时 |
分析过程:
腾讯云的价格确实诱人,首年只要 88 元。但仔细研究后发现,这个价格不包含独立公网 IP。它的计费模式是"流量包月",也就是说:
- 服务器本身便宜,但每次访问都要消耗流量包
- 如果频繁使用(比如钉钉集成实时对话),流量消耗会很快
- 超出流量包后,按量计费的价格并不低
对于我这种需要随时访问、高频交互 的场景,腾讯云的实际成本可能会远超预期,我不确定我够不够,但我图一个省心没有附加费用,所以没选。

火山引擎的配置和价格也不错(首年只需要48元,但是配的5M公网需要单独计费),按照官方定价:
- 一年下来: ¥1234.2
- 加上服务器本身 ¥48,总计约 ¥1282.2/年



这个价格已经远超阿里云的 ¥99 了,但是看配置跟带宽体验应该最流畅。
华为云和百度云就没有再深入对比了,毕竟精力有限。
最终选择阿里云的理由:
- 价格优势明显:首年 ¥99,平均每月不到 9 块钱,试错成本极低
- 独立公网 IP:无需担心流量限制,可以随意访问和调试
- 生态完善:阿里云百炼、OSS、RDS 等产品线齐全,后续扩展方便
- 文档丰富:遇到问题容易找到解决方案和社区支持
💡 选购技巧:阿里云的新人专享价需要从未购买过 ECS 的账号才能享受。如果你已经有阿里云账号,可以考虑用家人或朋友的身份注册新账号。
1.3 我最终的技术栈配置
基于以上对比,我最终确定的配置是:
┌────────────────────────────────────────
│ 我的技术栈配置
├────────────────────────────────────────
│ 服务器:阿里云 ECS
│ 配置:2 核 2G,5Mbps 按量带宽
│ 系统:Ubuntu 22.04 LTS
│ 成本:¥85(1个月openclaw镜像的轻量服务器45+一个月阿里云百炼coding plan
│ AI 模型:阿里云百炼 - Coding Plan Lite
│ 工具:OpenClaw(自部署)
│ 交互界面:钉钉机器人
│ 开发框架:RuoYi-Vue(Java + Vue)
└────────────────────────────────────────┘

1.4 关于配置的补充说明
我选择的是 2 核 2G 的基础配置,而不是文章中其他地方提到的 2 核 4G。原因是:
- OpenClaw 本身是轻量级服务,主要做 API 转发和对话管理
- 真正的计算负载在阿里云百炼的云端模型上
- 2 核 2G 足够运行 Docker + OpenClaw + Nginx(可选)
- 如果后续需要运行数据库或其他服务,可以随时升级配置
实际使用一周下来,CPU 和内存的使用率都在 30%-50% 之间,证明这个配置选择是合理的。
💡 建议:如果你是第一次尝试,建议从最低配置开始(2 核 2G)。一方面降低成本,另一方面也可以验证自己的使用频率和需求强度。确定长期需要后,再考虑升级配置或增加其他服务。
二、阿里云 OpenClaw 部署全流程
2.1 前置准备
① 阿里云 ECS 服务器
我选择的配置:
- 实例规格:ecs.t5-c1m1.large(2 核 2G)
- 系统:阿里云openclaw镜像
- 带宽:3Mbps
💡 建议:2 核 2G 对于运行 OpenClaw 已经足够,因为主要的计算负载在阿里云百炼的云端模型上。实际使用下来,CPU 和内存使用率都在 30%-50% 之间。如果后续需要同时运行数据库或其他服务,可以考虑升级到 4 核 8G。
② 阿里云百炼账号
访问 阿里云百炼控制台,开通服务并创建应用。
我选择的套餐:Coding Plan Lite
选择理由:
- 专为代码场景优化,对编程语言理解更好
- Lite 版本性价比高,适合个人开发者和小团队
- 支持长上下文,适合处理复杂代码文件
- 使用阿里云的服务器所以配置更方便,如果使用其他厂家服务器应该会选择其他厂家的coding plan

③ 获取 API Key
在百炼控制台创建应用后,记录下 API Key 和 App ID,后续配置会用到。
2.2 安装 OpenClaw
阿里云openClaw镜像一键安装,购买镜像后自动部署安装,装好之后在控制台就可以看到了

2.3 配置openClaw
安装好的界面如下:
1.开放端口
2.配置coding plan的apiKey
3.查看wenUI地址,开始使用

2.4 配置角色、风格等
我最早的聊天记录找不到了,大体就是在聊天窗口直接输入就可以不需要改配置文件

2.5 配置钉钉机器人
创建一个自己的钉钉组织,进入应用管理,创建新应用,开启机器人



应用发布之后进入【凭证与基础信息】菜单获取应用的参数,然后询问"布鲁斯"配置钉钉机器人需要什么参数,他就会回答你,然后从应用上取到对应参数发送给布鲁斯,他会自己配置并重启网关,接下来就可以使用钉钉与忠诚的布鲁斯对话了。

三、实战:一周完成 PHP 到 Java 迁移
3.1 项目背景
原系统:
- 技术栈:PHP 5.6 + MySQL + vue
- 痛点:维护困难、性能瓶颈、主要是不熟悉PHP
目标系统(根据布鲁斯的建议及本人技术基础选型):
- 技术栈:Java 8 + Spring Boot 2 + RuoYi-Vue
- 要求:功能完全复刻,性能提升,代码规范
3.2 迁移策略
我没有让 AI 一次性完成所有工作,而是采用分阶段策略:
第 1 天:需求分析 + 架构设计
第 2-3 天:核心业务模块迁移
第 4-5 天:辅助功能 + 前端对接
第 6 天:联调测试 + Bug 修复
第 7 天:性能优化 + 文档补充
3.3 第一天:需求分析与架构设计
首先,把git地址与账号密码发送给布鲁斯,让他拉去代码
任务:让 AI 分析原有 PHP 代码,生成 Java 架构设计
我在钉钉中输入:
请分析这个 PHP 项目的代码结构,识别主要功能模块,
并给出对应的 Java+Spring Boot+RuoYi-Vue架构设计方案。
需要包含:
1. 模块划分
2. 数据库表设计
3. API 接口规划
4. 技术选型建议
然后上传了 PHP 项目的核心文件目录结构。
AI 输出:
大约 2 分钟后,AI 返回了一份详细的架构设计文档,包括:
- 实体类设计:基于 MyBatis-Plus 的 Entity 结构
- Controller 层规划:RESTful API 接口列表
- 前端页面规划:基于 RuoYi-Vue 的菜单结构
人工审核与调整:
AI 的方案整体合理,但我做了以下调整:
- 根据实际业务需求,增加了"数据导出"模块
- 调整了部分表字段命名,符合公司规范
- 补充了 Redis 缓存策略(AI 初始方案未考虑)
💡 经验:AI 生成的架构设计可以作为参考,但必须结合具体业务场景人工审核。特别是涉及数据安全、性能优化的部分,不能完全依赖 AI。
3.4 第二 - 三天:核心业务模块迁移
这是工作量最大的阶段。我的做法是:
① 逐个模块迁移,而非一次性全部转换
例如先做"用户管理"模块:
请将这个 PHP 的用户管理模块转换为 Java 代码,
使用 RuoYi-Vue 框架规范,包含:
1. Entity 实体类
2. Mapper 接口和 XML
3. Service 层实现
4. Controller 控制器
5. Vue 前端页面(列表、新增、编辑、删除)
然后粘贴对应的 PHP 代码文件。
② AI 生成代码的特点
| 优点 | 需要注意的地方 |
|---|---|
| 代码结构规范,符合 RuoYi 约定 | 部分业务逻辑需要人工补充 |
| 注释完整,变量命名清晰 | 数据库连接配置需手动修改 |
| 自动处理常见校验逻辑 | 异常处理需要根据实际调整 |
| 前端表单验证齐全 | 接口路径需与后端对齐 |
③ 实际效率对比
以"订单管理"模块为例:
| 工作内容 | 传统方式预估 | AI 辅助实际耗时 |
|---|---|---|
| 理解 PHP 原逻辑 | 2 小时 | 30 分钟(AI 帮忙解释) |
| 设计 Java 实体类 | 1 小时 | 15 分钟 |
| 编写 Mapper/Service | 3 小时 | 40 分钟 |
| 编写 Controller | 2 小时 | 30 分钟 |
| 前端页面开发 | 4 小时 | 1 小时 |
| 联调测试 | 2 小时 | 1 小时 |
| 合计 | 14 小时 | 3.5 小时 |
效率提升约 4 倍。
3.5 第四 - 五天:辅助功能与前端对接
核心模块完成后,剩下的是辅助功能:
- 权限控制(基于 RuoYi 自带的 Shiro/Spring Security)
- 日志记录
- 数据字典
- 定时任务
- 文件上传下载
这些功能 RuoYi 框架本身已经提供,我主要让 AI 帮忙:
- 根据业务需求配置权限点
- 生成字典数据 SQL 脚本
- 调整定时任务的 Cron 表达式
- 配置文件存储路径和访问规则
前端对接的关键点:
RuoYi-Vue 的前端结构非常规范,AI 生成的代码基本可以直接使用。我只需要:
- 检查 API 接口路径是否与后端一致
- 调整表单字段的验证规则
- 补充一些业务特定的展示逻辑
3.6 第六天:联调测试与 Bug 修复
这个阶段 AI 的价值主要体现在:
① 快速定位问题
遇到报错时,直接把错误信息发给 AI:
启动时报错:Error creating bean with name 'userMapper':
Invocation of init method failed; nested exception is
org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML
AI 会分析可能的原因并给出解决建议:
- 检查 Mapper XML 文件路径是否正确
- 检查 namespace 是否与接口全限定名一致
- 检查参数类型是否匹配
通常 1-2 轮对话就能定位问题。
② 生成测试用例
让 AI 根据业务逻辑生成单元测试:
请为 UserService 的 createUser 方法编写 JUnit 测试用例,
包含正常场景、边界场景、异常场景
AI 会生成完整的测试代码,覆盖各种情况。
③ 性能问题分析
有一个接口响应很慢,我让 AI 分析:
这个查询接口在数据量大时响应很慢,请分析可能的性能瓶颈
并给出优化建议
AI 指出了几个问题:
- 缺少索引的字段
- N+1 查询问题
- 可以引入缓存的场景
根据建议优化后,接口响应从 3 秒降到 200 毫秒。
3.7 第七天:性能优化与文档补充
最后一天主要做收尾工作:
性能优化:
- 为高频查询字段添加索引
- 配置 Redis 缓存热点数据
- 优化 SQL 查询语句
- 配置连接池参数
文档补充:
- 让 AI 生成 API 接口文档(基于 Swagger 注解)
- 生成部署说明文档
- 补充代码注释
经过布鲁斯约100次提交之后,完美迁移完成,效果几乎一比一复刻

四、成本核算:自建 vs 商用
4.1 我的实际花费
阿里云 ECS(包月):
- 配置:2 核 2G,5Mbps 按量带宽
- 价格:¥45(因为我已经有一个服务器,新用户回更低)
- 项目期间分摊成本:¥45 ÷ 30 × 7 ≈ ¥10.5
阿里云百炼(Coding Plan Lite):
- 计费方式:包月
- 费用:约 ¥40
- 月使用量:16%(lite套餐对个人完全够用)
总计:约 ¥50.5 (首年,含服务器全年费用)

4.2 如果使用商业工具
假设使用 Cursor Pro + Claude:
- Cursor Pro:$20/月 ≈ ¥145
- Claude API:按同样 Token 量计算,约 $30 ≈ ¥215
- 总计:约 ¥360
看起来商用更便宜?但要注意:
- 代码安全:商用工具需要上传代码到云端
- 持续性:ECS 和百炼账户可以长期使用,边际成本递减
- 可定制性:自建可以根据需求调整模型参数、提示词模板
4.3 隐性收益
除了直接成本,还要考虑隐性收益:
时间节省:
- 传统开发:15-20 天
- AI 辅助:7 天
- 节省时间:8-13 天
按开发者日薪 ¥1000 计算,人力成本节省 ¥8000-13000。
质量提升:
- 代码规范性更好(AI 严格遵循框架约定)
- 注释更完整(AI 自动生成)
- Bug 率更低(AI 辅助审查)
五、真实体验:爽点与痛点
5.1 爽点时刻
① 一句话生成一个模块
描述清楚需求,AI 能在几分钟内生成整个模块的代码框架。这种"心想事成"的感觉,用过就回不去了。
② 跨语言翻译毫无压力
PHP 转 Java,AI 不仅翻译语法,还能自动适配框架规范。如果是人工转换,需要同时精通两种语言和两个框架。
③ 7×24 小时在线的技术导师
遇到不懂的地方随时问,AI 会解释代码原理、设计模式、最佳实践。相当于有个资深工程师手把手教你。
④ 钉钉集成太方便了
不需要切换窗口,在钉钉群里直接对话就能获取代码。团队协作时,成员都能享受 AI 辅助。
5.2 踩过的坑
① AI 会"自信地犯错"
有一次 AI 生成的代码,编译通过、逻辑看似正确,但实际运行时发现数据库事务没生效。原因是 @Transactional 注解加在了错误的方法上。
教训: AI 生成的代码必须经过人工 review 和测试,不能盲目信任。
② 上下文长度限制
百炼 Lite 支持的上下文长度有限,当代码文件过大时,需要分段处理。这增加了操作的复杂度。
解决: 学会合理拆分任务,一次只让 AI 处理一个函数或一个类。
③ 钉钉机器人偶尔延迟
高峰期钉钉消息会有几秒到几十秒的延迟,影响体验。
建议: 重要任务建议使用 Web 界面,钉钉适合快速查询和简单任务。
5.3 最深的体会
AI 不是替代你,而是放大你。
这次项目让我深刻认识到:
- 如果你懂业务、懂架构,AI 能让你如虎添翼
- 如果你只是机械地写代码,AI 确实可能取代你
我的角色从"写代码的人"变成了:
- 需求分析者
- 架构设计审核者
- 代码质量把关人
- AI 提示词工程师
这个转变,既是挑战,也是机遇。
六、给想自建 AI 编程环境的建议
6.1 技术选型建议
云服务商选择(2026 年行情):
根据我的调研,如果你也想自建 AI 编程环境,以下是主流云服务商的对比:
| 云服务商 | 首年价格 (2 核 2G) | 公网 IP | 推荐指数 | 适合人群 |
|---|---|---|---|---|
| 阿里云 | ¥99(新人专享) | ✅ 独立 IP | ⭐⭐⭐⭐⭐ | 首选,性价比最高 |
| 腾讯云 | ¥88 | ❌ 需流量包 | ⭐⭐⭐ | 低频使用场景 |
| 火山引擎 | ¥120+ | ⚠️ 按量付费 | ⭐⭐⭐ | 短期测试 |
| 华为云 | ¥168 | ✅ 独立 IP | ⭐⭐⭐⭐ | 企业用户 |
| 百度云 | ¥199 | ✅ 独立 IP | ⭐⭐⭐ | 不推荐,性价比低 |
选购建议:
- 个人开发者首次尝试:阿里云新人专享价(¥99/年),试错成本最低
- 已有阿里云账号:可以考虑用家人身份注册新账号享受新人价
如果您是个人开发者:
- 优先考虑商业工具(Cursor、Copilot),开箱即用
- 只有对数据安全有强需求,或想深度定制时,再考虑自建
- 自建首选阿里云,首年¥99 的价格几乎没有门槛
如果您是小团队(3-10 人):
- 可以评估自建成本,通常比多人订阅商用工具更划算
- 建议选择成熟的开源方案,避免重复造轮子
- 云服务器选择 4 核 8G 配置,可以同时运行数据库等服务
如果你是企业:
- 强烈建议自建,数据安全和合规性是第一位的
- 可以考虑私有化部署的大模型(如通义千问私有化版本)
- 选择企业级云服务,确保 SLA 和技术支持
6.2 部署避坑指南
① 服务器选择
- 地域:选择离你最近的区域,降低网络延迟
- 配置:2 核 4G 起步,建议 4 核 8G
- 系统:优先选择 Ubuntu/CentOS,文档更丰富
② 网络配置
- 确保安全组开放必要端口(如 8080)
- 如果容器无法访问外网,检查 Docker 网络配置
- 建议使用国内镜像源加速 Docker 拉取
③ 模型选择
- 代码场景:优先选择针对代码优化的模型(如百炼 Coding Plan)
- 通用场景:可以选择性价比更高的基础模型
- 测试不同模型的效果,选择最适合你的
6.3 使用技巧
① 提示词设计
差的提示词:
帮我写个用户管理
好的提示词:
请使用 RuoYi-Vue 框架生成用户管理模块,包含:
- Entity 实体类(字段:id, username, password, email, createTime)
- Mapper 接口和 XML(使用 MyBatis-Plus)
- Service 层(包含增删改查方法)
- Controller(RESTful 风格,路径:/system/user)
- Vue 前端页面(使用 Element Plus,包含列表、新增、编辑、删除功能)
- 添加必要的注释和参数验证
② 任务拆分
不要试图让 AI 一次性完成整个项目。合理的拆分方式是:
- 按模块拆分(用户管理、订单管理...)
- 按层次拆分(Entity → Mapper → Service → Controller → Frontend)
- 按功能拆分(列表 → 详情 → 新增 → 编辑 → 删除)
③ 建立知识库
把常用的提示词模板、配置参数、最佳实践整理成文档。随着使用次数增加,这套知识库会成为你的核心竞争力。
七、总结与展望
7.1 这次项目的收获
技术层面:
- 掌握了 OpenClaw 的部署和使用
- 深入理解了 RuoYi-Vue 框架
- 提升了 PHP 和 Java 的跨语言理解能力
方法论层面:
- 学会了如何与 AI 协作开发
- 建立了 AI 辅助开发的工作流
- 形成了提示词设计的经验
认知层面:
- 真切感受到 AI 带来的效率革命
- 重新思考程序员的核心竞争力
- 对行业趋势有了更清晰的判断
7.2 下一步计划
短期(1-3 个月):
- 优化 OpenClaw 配置,提升响应速度
- 整理常用提示词模板,形成团队规范
- 探索更多 AI 应用场景(代码审查、性能优化、文档生成)
中期(3-6 个月):
- 评估其他开源方案(如 Continue、Codeium Self-hosted)
- 尝试微调模型,使其更适应团队编码风格
- 将 AI 集成到 CI/CD 流程中
长期(6-12 个月):
- 建设团队级的 AI 编程知识库
- 探索 AI 在架构设计、技术选型中的应用
- 培养团队的"AI 协作能力"
7.3 写在最后
一周前,当我开始这个项目时,对 AI 编程还抱有一丝怀疑:"真的能这么快吗?"
一周后,看着顺利上线的系统,我只能说:AI 编程的时代,真的来了。
但这并不意味着我们可以躺平。相反,我们需要学习的东西更多了:
- 如何准确描述需求
- 如何审核 AI 生成的代码
- 如何在 AI 辅助下做出更好的技术决策
这个时代,最危险的不是被 AI 取代,而是拒绝改变。
如果你也对 AI 编程感兴趣,欢迎在评论区交流你的经验和疑问。下一篇文章,我会分享《AI 编程提示词工程:如何让 AI 生成高质量代码》,敬请期待。
参考资料:
本文首发于 CSDN「AI 编程实战派」专栏,转载请注明出处。
- 你有过 AI 辅助开发的经历吗?体验如何?
- 你会选择自建 AI 编程环境,还是直接使用商业工具?为什么?
- 在 AI 编程过程中,你遇到过哪些有趣或头疼的问题?
欢迎在评论区分享你的故事!👇