评分明细
适用场景
goframe 快速入门
给 Go 开发者一个”会用 GoFrame”的 AI 副驾,不用每次都翻官方文档。
这是什么?解决什么问题?
GoFrame 是国内使用率靠前的 Go Web/微服务框架之一,文档质量不错但 API 细节多(CLI、ORM、配置、路由、校验、I18N……),新手容易在”我想用 gf gen 怎么写 gf-cli 配置”、“g.DB 怎么注入自定义 logger”这种细节上卡半小时。
goframe Skill 是 GoFrame 官方团队(gogf)维护的 agent-skills 仓库下的官方 Skill。它把 GoFrame 各模块的常见用法、最佳实践、典型坑位写进 SKILL.md,让 AI 在帮你写代码时,直接按照框架的”标准动作”出活,而不是给你一份”看起来像 Go 但实际是 gin 写法”的代码。
特别适合:第一次接触 GoFrame 的后端开发、想统一团队代码风格的 Tech Lead、要把老 gin/iris 项目迁到 GoFrame 的同学。
准备工作
- Go ≥ 1.21
- 一个支持 SKILL.md 的 agent
- 已安装
gfCLI(go install github.com/gogf/gf/cmd/gf@latest) - 一个空目录作为项目根
3 步快速上手
第 1 步:克隆与软链
git clone https://github.com/gogf/skills.git<br>
ln -sf "$(pwd)/skills/goframe" ~/.claude/skills/goframe<br>
```<br>
OpenCode 用户把目标路径改为 `~/.config/opencode/skills/`,Cursor 用户改为 `~/.cursor/skills/`。<br>
### 第 2 步:确认 Skill 加载<br>
```bash<br>
ls ~/.claude/skills/goframe/SKILL.md<br>
grep -E "router|model|config" ~/.claude/skills/goframe/SKILL.md<br>
```<br>
应当能看到 `ghttp`(路由)、`gdb`(ORM)、`gcfg`(配置)等子模块名。重启 agent,`/skills list` 看到 `goframe` 即 OK。<br>
### 第 3 步:用 Skill 起一个新项目<br>
在空目录里进入 agent 对话,说:<br>
```<br>
用 goframe Skill 帮我生成一个 user 模块的 CRUD 工程,<br>
包含:model、dao、service、controller、api 定义,<br>
数据库用 MySQL。<br>
```<br>
AI 会按 Skill 内的"标准工程结构"输出:<br>
- `internal/model/entity/user.go`(实体)<br>
- `internal/dao/user.go`(DAO 层)<br>
- `internal/service/user.go`(业务逻辑)<br>
- `internal/controller/user.go`(HTTP 处理器)<br>
- `api/user/v1/user.go`(gRPC/API 定义)<br>
- `manifest/config/config.yaml`(配置)<br>
- `cmd/server/main.go`(启动入口)<br>
接着你可以追加:<br>
```<br>
帮我用 gf gen dao 重新生成 dao 代码,<br>
并加一条路由: GET /api/v1/user/:id。<br>
```<br>
## 常见踩坑<br>
1. **`gf` CLI 没装或版本不对**:Skill 里很多命令依赖 `gf` CLI。装好后 `gf -v` 验证。<br>
2. **ORM 链式调用写错**:`db.Model("user").Where(g.Map{"id":1}).One()` 这种是常用模板,但 where 条件用 struct 还是 Map 容易混,Skill 会提醒。<br>
3. **配置文件热加载没启用**:`gcfg` 默认不 watch 文件,要让 AI 加 `gcfg.Get().SetFileWatcher` 才能改了不重启。<br>
4. **路由分组和中间件顺序写反**:GoFrame 的 group middleware 是后注册先生效,顺序写反结果完全不同,Skill 会主动标红。<br>
5. **忘了初始化 g.DB**:很多人写好代码跑起来报"nil pointer",其实是没在 `main.go` 里 `g.DB().Init()` 一下。Skill 会显式补上。<br>
6. **gRPC 与 HTTP 混用时端口冲突**:用 `g.Server()` 的同进程多协议时,要把 `SetPort` 分开,Skill 会按官方推荐拆分。<br>
## 初级用法<br>
- **写一个 hello-world 接口**:让 Skill 出"返回 Hello + 当前时间"的极简 HTTP 服务,先跑通链路。<br>
- **写一份 `config.yaml` 模板**:从 Skill 拿到一份"开发/测试/生产"三环境的配置骨架,直接复制改值。<br>
## 高级玩法<br>
- **自动化生成 OpenAPI 文档**:GoFrame 的 `g.Meta` 标签配合 `gf gen swagger`,让 Skill 一次性把 OpenAPI 3.0 文档生成出来。<br>
- **配合 K8s 部署清单**:让 Skill 同时出 Dockerfile + K8s Deployment/Service yaml,端到端可用。<br>
- **批量生成 gRPC proto**:用 Skill 把所有 service 的 `.proto` 文件按统一规范生成,避免命名风格漂移。<br>
## 小技巧<br>
- 用 `gf gen model -p` 加 `-path` 让生成路径和 `internal/model` 保持一致,否则会落得到处都是。<br>
- 多模块项目(monorepo)里把 `manifest` 放到 `app/{module}/manifest`,Skill 知道这套路。<br>
- 写业务逻辑时优先放 service 层而不是 controller,Skill 会主动纠正"Controller 太胖"的反模式。<br>
- 启用 `glog` 的 `SetStackSkip` 可以让日志跳过框架内部栈,排查问题更快。<br>
- 数据库字段名 snake_case,Go 字段名 CamelCase,Skill 会自动配对 `orm:` 标签。<br>
## 参考链接<br>
- [仓库主页](https://github.com/gogf/skills)<br>
- [GoFrame 官方文档](https://goframe.org/)<br>
- [GoFrame CLI 文档](https://goframe.org/docs/cli)<br>
- [GoFrame ORM 文档](https://goframe.org/docs/orm)<br>
- [GoFrame GitHub](https://github.com/gogf/gf)<br>
- 相关 Skill:deprecation-and-migration、clickhouse-io<br>
goframe Skill 多维度简评
综合评分:7.8 / 10 ⭐⭐⭐ 类别:后端开发 来源:gogf/gf 定位:GoFrame 框架专用 Skill:路由、ORM、中间件、代码生成。
声明:本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测。
一、核心定位与价值
GoFrame(gogf/gf)是一款模块化、高性能的企业级 Go 语言开发框架,目前在 GitHub 拥有 13K+ Stars。框架提供工程完备的开发组件,涵盖 Web 服务、数据库 ORM、缓存、校验、日志等。GoFrame Skill 将框架的核心能力封装为 AI Agent 可调用的工作流,帮助开发者在 Claude Code 等 AI 工具中快速构建 Go 后端服务。
核心价值:GoFrame 框架专用 Skill:路由、ORM、中间件、代码生成。
二、核心能力清单
| 能力 | 实现方式 | 适用场景 |
|---|---|---|
| gf gen 代码生成 | 自动生成 DAO/Entity/Controller | GoFrame 项目开发、Go 后端服务 |
| gdb ORM | 链式查询、关联、事务 | 数据库操作 |
| 路由分组 | RESTful 路由注册、中间件绑定 | Web API 开发 |
| 中间件系统 | 全局/分组/单路由中间件 | 认证、日志、限流 |
| Swagger 自动 | 代码注释生成 API 文档 | API 文档自动化 |
三、典型使用场景
场景 1:快速创建 API 项目
提示词:
使用 goframe 创建一个用户管理模块,包含 CRUD API、数据库模型和 Swagger 文档
Skill 指导生成项目结构、定义路由、编写 Controller 和生成 Swagger 文档。
场景 2:数据库操作
提示词:
在 GoFrame 项目中创建 user 表对应的 DAO 和 Entity,实现分页查询和关联查询
使用 gf gen dao 自动生成数据访问层代码。
场景 3:中间件配置
提示词:
为 API 路由添加 JWT 认证中间件和请求日志中间件
Skill 指导在 GoFrame 中使用 group.Middleware() 注册中间件。
场景 4:项目脚手架
# GoFrame 提供的 CLI 工具
gf init my-project
gf run main.go
GoFrame 自带 gf 命令行工具,支持项目初始化、代码生成、热编译等功能。
四、核心功能详解
工程化组件
GoFrame 提供开箱即用的企业级组件:
- WebServer(ghttp):高性能 HTTP 服务,支持热重启、多端口、HTTPS
- 数据库 ORM(gdb):支持 MySQL/PostgreSQL/SQLite/SQL Server/达梦等
- 缓存(gcache):内存缓存,支持过期和回调
- 校验(gvalid):结构体标签驱动的输入校验
- 日志(glog):分级日志,支持文件输出和异步写入
代码生成工具链
GoFrame 的 gf gen 命令支持:
gf gen dao:从数据库表生成 DAO/Entity/DOgf gen service:生成服务接口gf gen ctrl:生成 Controller
安装与使用
# 安装 GoFrame CLI 工具
go install github.com/gogf/gf/cmd/gf/v2@latest
# 创建项目
gf init my-project
# 启动开发服务器
gf run main.go
五、常见使用误区
| # | 误区 | 说明 | 正确做法 |
|---|---|---|---|
| 1 | ”GoFrame 太重” | 框架模块化设计,按需引入 | 只导入需要的包 |
| 2 | ”代码生成限制灵活性” | 生成的代码可自由修改扩展 | 理解生成逻辑后再定制 |
| 3 | ”只适合大项目” | 小项目也能受益于工程化结构 | 使用 gf init 快速开始 |
| 4 | ”ORM 不如手写 SQL” | ORM 提升开发效率,复杂查询可混合使用 | 复杂查询用原生 SQL |
六、性能与限制
| 场景 | 说明 |
|---|---|
| Web 服务性能 | 基于 Go 原生 net/http,高并发场景表现优异 |
| ORM 性能 | 轻量级封装,连接池管理,接近手写 SQL 性能 |
| 学习曲线 | 组件较多,新手需要一定学习时间 |
| 生态兼容 | 可通过接口扩展第三方库 |
七、Q&A
Q:GoFrame 和 Gin/Beego 有什么区别? A:GoFrame 定位为工程完备的企业级框架,提供更完整的组件生态和代码生成工具链,而 Gin 更轻量聚焦于 HTTP 路由。
Q:GoFrame Skill 需要联网吗? A:Skill 本身不需要,但框架使用需要联网下载 Go 依赖包。
Q:GoFrame 的最新版本是?
A:当前主版本为 v2.x,可通过 go get github.com/gogf/gf/v2@latest 获取。
八、总结
核心价值:
- 工程化的 Go 后端开发框架
- 代码生成工具链(gf gen)
- 丰富的基础组件(路由、ORM、缓存、校验)
- 自动 API 文档(Swagger)
适用人群:
- Go 后端开发者 / 全栈工程师
投入产出比:⭐⭐⭐ —— 选装(适合 Go 后端项目)
GoFrame 是中国团队开发的开源 Go 框架,拥有完善的中文文档和活跃的社区(goframe.org),适合需要工程化 Go 后端开发的团队使用。
参考资料
- GoFrame 官方网站 — 官方文档
- gogf/gf GitHub 仓库 — 源码仓库
- GoFrame 快速开始指南 — 官方文档
- GoFrame v2 发布说明 — 版本发布
📊 评分与标签
评分说明
总分 7.8/10 · S_入选
📊 可观测社区指标(数据核验日期:2026-07-23)
- 官方仓库与维护入口:gogf/skills。GitHub API 核验时触发限流,未记录无法再次确认的 Stars/Forks 精确快照,避免用估算值替代事实。
📦 可安装性 1.9/2.5
- 官方来源提供可复制的 Skill、MCP 或 Markdown 目录;安装前仍需按 README 配置宿主客户端、运行时和最小权限凭据。
- 来源:官方仓库
- 与 Anthropic Skills、OpenCode Skills 对比,本项遵循开放目录思路,但插件命令、脚本依赖和更新方式并不完全统一。
🎯 实用性 2.0/2.5
- GoFrame CLI、ORM、配置与路由约定;这里只确认官方材料明确描述的范围,未把未经实测的准确率、性能或生产收益计入评分。
- 来源:官方功能说明
- 与 GitHub CLI、Zapier 等专用工具对比,Skill 更适合把操作步骤交给 Agent 复用,不能替代完整运行时、监控和人工验收。
📖 文档质量 1.5/2.0
- README、技能目录或官方参考页可核对安装、能力和约束;未发现统一的端到端性能基准,因此采用保守文档分。
- 来源:官方文档
- 与 Vercel Agent Skills、Obra Superpowers 对比,目标任务说明直接,但版本迁移、失败恢复和跨平台案例仍依赖上游维护。
👥 社区活跃 1.1/1.5
- 仓库公开提交历史、Issue 与 Pull Request 入口可追踪维护;因 API 限流未写入易变精确计数,社区分不依据未经复核的热度数字。
- 来源:官方维护入口
- 与 anthropics/skills、obra/superpowers 对比,具备公开协作入口,但不能据此推导响应时效、长期承诺或企业支持等级。
🔗 兼容性 1.3/1.5
- 可在能够读取 Skills/MCP 指令并具备相应工具权限的 Agent 环境使用;API、Token、浏览器和本地工具链会形成额外约束。
- 来源:官方兼容性依据
- 与 Claude Code、Codex、Cursor 的原生扩展对比,开放文件格式便于迁移,但触发、脚本执行和资源加载行为存在客户端差异。
评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。
🏷️ 标签说明
- 免费: 公开来源可访问;外部服务费用不计入 Skill 本身。来源:官方来源
- 编程: 核心能力与“GoFrame CLI、ORM、配置与路由约定”直接对应。来源:官方来源
- Skill系统: 官方材料显示其面向该使用方式。来源:官方来源
局限说明:本次为官方仓库与文档核验,未执行跨客户端、跨操作系统端到端基准测试;外部 API 配额、授权和价格可能变化,应以上游最新说明为准。
📋 来源与核验记录
- ✅ 官方仓库页面已核验:https://github.com/gogf/skills
- ✅ 官方文档或功能页已核验:https://goframe.org/docs/cli
- ⚠️ 未验证(访问限制):GitHub REST API 于 2026-07-23 返回限流,未采用无法复核的精确 Stars/Forks 数值
- ⚠️ 间接来源(二手数据):未用于核心功能与维度评分
- ❌ 已删除死链:无