随着技术的进步和 AI 的普及,开发者如今可以借助自动化工具独立完成开发、测试和运维等全流程工作,极大地提升了个人的生产力。本文将详细介绍如何利用 Sealos Devbox 和 Cursor 开发一个生产级别的 One API 替代品,帮助开发者从零构建高效的系统。
开发环境搭建
1. 创建 Go 开发环境
在 Sealos Cloud 中打开 Devbox 应用,创建一个新项目,选择 Go 作为运行环境,版本为 1.23。Devbox 提供了以下实用功能:
- 灵活的资源配置:根据项目需求调整 CPU 和内存,平衡性能与成本。
- 一键启用 HTTPS:系统自动分配安全域名,省去 SSL 证书配置的麻烦。
- 全自动域名管理:从开发到测试环境,域名配置全程由系统处理。
完成创建后,几秒钟即可启动开发环境。
2. 连接 Cursor
启动环境后,使用 Cursor 连接开发环境。首次连接时,系统会提示安装 Devbox 插件,安装完成后即可自动连接。
3. 导入项目
首先 Fork Sealos 源码 到自己的仓库,然后将仓库克隆到 Devbox 开发环境:
bash
git clone https://github.com/your-repo/sealos.git
后端开发:Golang 实现
1. 数据库配置
在 Cursor 的 “Database” 标签页中,创建 PostgreSQL 和 Redis 实例。完成后,复制数据库连接信息,用于配置服务:
bash
export ADMIN_KEY=sealos-admin
export SQL_DSN=<复制的pgsql连接串>/postgres
export REDIS_CONN_STRING=<复制的redis连接串>
go run . –port 8080
启动成功后,使用 curl
测试接口:
bash
curl https://mmznjndvzdrv.sealoshzh.site/api/status -H “Authorization: sealos-admin”
2. 数据库优化
在开发过程中,我们发现 Group 和 Token 之间的外键约束增加了系统复杂度。通过将外键约束改为程序层面的显式调用,代码逻辑更加清晰。以下是优化后的代码:
go
// Group 结构体优化
type Group struct {
ID string gorm:"primaryKey"
Tokens []Token gorm:"foreignKey:GroupID;constraint:OnDelete:CASCADE;"
}
3. 测试与上线
通过以下 API 调用来测试完整的 Group 和 Token 生命周期:
bash
创建 Group
curl https://gawavirgsomu.sealosbja.site/api/group/ -H “Authorization: sealos-admin” -d ‘{
“id”: “ns-admin”
}’
创建 Token
curl https://gawavirgsomu.sealosbja.site/api/token/ns-admin -H “Authorization: sealos-admin” -d ‘{
“name”: “token 1”
}’
删除 Group
curl https://gawavirgsomu.sealosbja.site/api/group/ns-admin -H “Authorization: sealos-admin” -X DELETE
测试通过后,提交更改并创建 Pull Request。
前端开发:Next.js 实现
1. 项目搭建
在 Devbox 中创建一个 Node.js 环境,版本选择 20,端口改为 3000。克隆 Sealos 仓库,并切换到前端代码目录:
bash
git clone https://github.com/your-repo/sealos.git
cd sealos/frontend/providers/aiproxy
2. 依赖安装与构建
修改 package.json
文件,删除 "node": "20.4.0"
和 "pnpm": "8.9.0"
的限制,然后安装依赖并构建项目:
bash
pnpm i
pnpm -r –filter ./packages/client-sdk run build
3. 对接后端服务
在项目根目录创建 .env
文件,配置以下环境变量:
bash
NEXT_PUBLIC_MOCK_USER=””
AI_PROXY_BACKEND_KEY=””
APP_TOKEN_JWT_KEY=”test123″
AI_PROXY_BACKEND=””
AI_PROXY_BACKEND_INTERNAL=””
ADMIN_NAMESPACES=””
启动开发服务器:
bash
pnpm dev
总结
通过 Sealos Devbox 和 Cursor,开发者可以高效地完成前后端开发、测试和部署。本文展示了如何从零构建一个生产级别的 One API 替代品,帮助开发者快速上手并提升工作效率。