随着技术的不断进步和 AI 的广泛应用,开发者的能力得到了显著提升。借助自动化工具和智能化技术,单个开发者可以独立完成开发、测试、运维等工作,成为真正的“全栈工程师”。本教程将通过一个实际案例,展示如何使用 Sealos Devbox 和 Cursor 开发一个生产级别的系统。
为什么选择 Sealos Devbox?
Sealos 平台提供了丰富的应用开发工具,其中许多管控应用都是基于 Cursor + Go + Next.js 构建的。通过 Sealos Devbox,开发者可以高效地完成开发、测试和部署,极大地提升了团队的生产力。大部分重复性工作可以通过自动化或 AI 完成,让开发者专注于核心业务逻辑。
案例:AI Proxy 应用
以 Sealos 中的 AI Proxy 应用为例,这是一个典型的前后端分离架构的应用,主要由以下两部分组成:
- 前端应用:基于 Next.js 开发,负责用户界面和 BFF 层,BFF 层处理用户鉴权并将请求转发至后端服务。
- 后端服务:使用 Golang 开发,负责核心业务逻辑,包括 token 存储、日志记录和请求转发等功能。
接下来,我们将详细讲解如何高效开发这样一个生产级别的系统。
Golang 后端开发
1. 创建开发环境
首先在 Sealos Cloud 中打开 Devbox 应用,创建一个新项目,选择 Golang 作为运行环境,版本选择 1.23。
Devbox 提供了以下实用功能:
- 灵活的资源配置:根据项目需求调整 CPU 和内存,优化性能与成本。
- 一键启用 HTTPS:系统自动分配安全域名,无需手动配置 SSL 证书。
- 全自动域名管理:从开发到测试环境,域名配置全程自动化。
创建完成后,几秒钟即可启动开发环境。接着,使用 Cursor 连接开发环境,并安装 Devbox 插件。
2. 导入项目
Fork Sealos 源码到自己的仓库,然后将仓库克隆到 Devbox 开发环境。
3. 测试环境开发
在 Cursor 面板中切换到 “Database” 标签页,创建 PostgreSQL 和 Redis 实例。启动服务后,使用 curl 测试接口:
bash
curl https://mmznjndvzdrv.sealoshzh.site/api/status -H “Authorization: sealos-admin”
4. 优化数据库设计
在开发过程中,我们发现数据库中 Group 和 Token 之间的外键约束增加了维护复杂度。通过程序层面的显式调用,可以简化这一关系,使代码逻辑更清晰。
5. 上线到生产环境
在 Cursor 目录顶层的 endpoint.sh
中设置启动命令,发布版本并部署应用。部署完成后,使用生产环境域名进行测试。
Next.js 前端开发
1. 前端项目搭建
在 Devbox 中创建一个 Node.js 环境,版本选择 20,克隆 Fork 的 Sealos 仓库。AI Proxy 的前端代码位于 sealos/frontend/providers/aiproxy
目录。
2. 对接后端环境
在项目根目录创建 .env
文件,配置以下关键环境变量:
bash
NEXT_PUBLIC_MOCK_USER=””
AI_PROXY_BACKEND_KEY=””
APP_TOKEN_JWT_KEY=”test123″
AI_PROXY_BACKEND=””
AI_PROXY_BACKEND_INTERNAL=””
ADMIN_NAMESPACES=””
运行 pnpm dev
启动开发服务器。项目的发布和部署流程与后端开发流程一致。
总结
Sealos AI Proxy 项目采用了经典的 Next.js App Router 架构,前端负责页面路由和用户认证,后端专注于核心业务逻辑。通过这种分层设计,代码的灵活性和可移植性得到了显著提升。