协议与生成
1分钟内可阅读完
契约先行
在 grpc-kit 中,Proto 定义消息与 RPC 服务,Gateway YAML 定义 HTTP 映射,OpenAPI YAML 描述文档和方法标签。它们共同决定 Go、HTTP 与 MCP AutoBridge 的接口形态。
公共契约位于 api 仓库;生成后的公共 Go API 位于 pkg 的 api 目录。业务契约位于 CLI 生成应用的 api/<产品>/<服务>/<版本> 下。不要直接修改生成代码。
应用生成流程
- 修改 Proto 消息、服务与对应 Gateway/OpenAPI 配置。
- 检查 package、go_package、RPC selector 与 HTTP 路径一致。
- 使用项目固定的 protoc、插件和 include 来源执行
make generate。 - 审查 Proto、Go、Gateway、Swagger 与依赖变化,运行
make test和make build。 - 启动服务执行黑盒 E2E;若标记 MCP tag,另外验证工具列表、授权和错误转换。
添加模型时修改 modeler/ent/schema,ent 输出同样通过生成更新。参见代码维护边界。
跨仓库生成边界
api 仓库 Makefile 使用 GOPATH 路径,并把部分生成文件和 OpenAPI 资产写入 pkg checkout。执行前确认目录与 branch,执行后审查两个仓库的 diff;不是只提交 api 即可完成同步。该 Makefile 未独立提供完整工具版本锁定,应在验证记录中保存实际 protoc/插件版本。
本轮快照中 pkg 存在 actions.pb.go,但 api 树中未找到对应 actions.proto。这属于待核对的生成来源差异,不应删除或手工修补生成代码以消除差异;维护者需先定位历史来源和兼容要求。
来源:api Makefile、应用生成脚本。