具体的实现原理是在各个方法函数的注释中提供提示语,sponge 上传已生成的模板代码和注释提示语给 AI 助手(目前仅支持ChatGPT
或DeepSeek
),AI 助手生成各个方法函数对应的业务逻辑参考代码,这种方式生成的业务逻辑代码与框架的适配度更好,不过要依赖提示语描述的准确性和 AI 助手生成代码的能力。
下面是一个简单的使用示例:
syntax = "proto3";
package api.user.v1;
service Users {
// 支持手机号码和微信两种方式注册。
// 如果使用手机号注册,需要检查手机号是否合法,校验码是否匹配;
// 如果使用微信注册,需使用微信授权的临时票据 code 和 appid 、appsecret
// 从微信平台获取 token 和 openID ,获取用户信息后完成注册。
rpc Register(RegisterRequest) returns (RegisterReply) {}
}
然后解压生成的代码文件,打开终端执行命令生成代码:
make proto
sponge assistant generate --type=deepseek --api-key=sk-xxxxxx --dir=your-server-dir
生成的业务逻辑参考代码会保存到对应文件夹下的 .assistant 后缀文件,打开文件复制参考的业务逻辑代码过来验证是否符合要求。
Github 仓库: https://github.com/go-dev-frame/sponge