HD

huagelong/devinggo

Developer tools
120 stars 품질 70 트렌드 70

DevingGo 是基于 的企业级前后端一体化开发框架,采用模块化架构,内置权限管理、代码生成、任务调度等功能,支持 (AI 辅助编程)一键生成前后端代码。

개요

DevingGo 是基于 的企业级前后端一体化开发框架,采用模块化架构,内置权限管理、代码生成、任务调度等功能,支持 (AI 辅助编程)一键生成前后端代码。

README

老版本请看v1分支

简介

DevingGo 是基于 GoFrame v2.9 的企业级前后端一体化开发框架,采用模块化架构,内置权限管理、代码生成、任务调度等功能,支持 Vibe Coding(AI 辅助编程)一键生成前后端代码。

核心特性:

  • 🚀 高性能 — 基于 GoFrame,发挥 Go 高并发优势
  • 🤖 Vibe Coding — AI 辅助编程,一键生成前后端代码
  • 📦 模块化 — 插件化模块系统,支持独立开发和热插拔
  • 🛠️ 代码生成 — 一键生成 CRUD / Worker / Module 代码
  • 🔐 安全可靠 — RBAC 权限模型,JWT 认证
  • 🔗 分布式 WebSocket — 完整实现 Pusher Protocol v8.3.0
  • ⚡ 异步任务队列 — 基于 Asynq,支持任务重试和监控
  • 🔍 链路追踪 — 集成 OpenTelemetry + Jaeger

演示地址: http://122.152.211.127:8070 (账号 superAdmin / admin123) | 文档: zread.ai/huagelong/devinggo

功能特性

  • 系统管理 — 用户 / 部门 / 岗位 / 角色 / 菜单 / 字典 / 参数 / 应用管理(RBAC + 数据权限)
  • 开发工具 — 代码生成器(CRUD / Worker / Module)、API 管理与授权、OpenAPI 文档自动生成
  • 任务调度 — Cron 定时任务、任务日志、Asynq 异步消息队列(重试与失败处理)
  • 监控与日志 — 操作日志、登录日志、API 日志、系统监控(Redis / 在线用户 / 服务器状态)
  • 通用功能 — 通知公告、消息管理、附件管理(本地 / 对象存储)、模块导入导出
  • 基础能力 — 分布式 WebSocket、多语言、多主题、Docker 部署、链路追踪、Redis 缓存、数据库版本化迁移

技术栈

类别 后端 前端 (admin-ui)
核心 GoFrame v2.9 / Go 1.23.4 Vue 3 + TypeScript
数据库 PostgreSQL >= 13 —
缓存/队列 Redis >= 5 / Asynq v0.24.1 —
构建 — Vite
UI / 状态 — Vue Vben Admin / Tdesign Vue / Pinia
其他 JWT、golang-migrate、excelize、OpenTelemetry、雪花算法 ID Vue Router / Axios

项目结构

devinggo/
├── api/                    # 全局 API 定义
├── internal/               # 内部核心(cmd/controller/logic/service/dao/model/router)
├── modules/                # 业务模块(插件化,含 system 核心模块)
├── admin-ui/               # 前端管理界面(Vue3 + Vite)
├── hack/generator/         # 代码生成器
├── .codex/skills/          # Codex Skill 配置(AI 代码生成)
├── manifest/config/        # 配置文件
├── resource/               # 静态资源(i18n / migrations / public)
└── main.go                 # 程序入口

分层架构:API → Controller → Logic → Service → DAO(其中 DAO / Entity / DO / Service 由工具自动生成)。详见 模块架构说明。

AI 大模型一键初始化

推荐使用 Codex。 本项目内置两个 Skill:devinggo-project-init(环境检查与项目初始化)和 devinggo-generator(代码生成)。 在 Codex 中直接使用下列提示词即可;使用其他 AI 工具时,请将 .codex/skills/ 下的 Skill 文件配置到对应工具,并保留 Skill 名称。

使用codex初始化环境与服务:

使用 $devinggo-project-init 帮我检查本机环境,配置 DevingGo,初始化数据库,并启动后端、Worker 和前端服务。

该 Skill 会检查 Go、GoFrame CLI、Node、pnpm、PostgreSQL、Redis、Make 等依赖,缺失时提示安装,并在迁移、安装依赖、启动服务前说明影响范围。

快速开始

环境要求

Go >= 1.23.4、PostgreSQL >= 13、Redis >= 5、Make(推荐)

Windows 需安装 make,可通过 Chocolatey、Scoop 或下载 MinGW make 并加入 PATH。

make 编译环境安装(Chocolatey 方式):

打开 cmd(管理员权限)执行:

@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

或打开 PowerShell(管理员权限)执行:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

安装 make、sed、golang、nodejs:

choco install make
choco install sed
choco install golang
choco install nodejs

手动步骤

git clone https://github.com/huagelong/devinggo.git && cd devinggo

# 1. 配置文件准备
# 后端配置(生产部署)
cp manifest/config/config.example.yaml manifest/config/config.yaml   # 复制配置模板
# 修改 manifest/config/config.yaml 中的 PostgreSQL、Redis 连接信息

# 开发配置(本地开发时使用)
cp hack/config.example.yaml hack/config.yaml   # 复制开发配置模板
# 修改 hack/config.yaml 中的 PostgreSQL、Redis 连接信息

# 2. 构建与启动
make build                                                           # 构建
go run main.go migrate:up                                                # 迁移数据库
go run main.go                                                          # 启动(HTTP + Worker)

访问地址: API http://localhost:8070 | 文档 http://localhost:8070/swagger | 账号 superAdmin / admin123

部署

Docker

# 使用codex

请帮我基于当前项目构建 DevingGo Docker 镜像,并根据我的数据库和 Redis 地址生成部署步骤。

二进制部署

make build              # 产物输出到 bin//_/
./devinggo unpack       # 释放配置与资源(首次执行,生成 .init.lock)
./devinggo migrate:up   # 迁移
./devinggo              # 启动

unpack 只需首次执行一次,重新初始化请先删除 .init.lock。生产环境推荐使用 systemd 或 supervisor 托管进程(参考 docs/devinggo.service),并务必修改 token.secretKey、settings.aesKey 及数据库、Redis 密码等默认配置。

开发指南

分层架构职责

层级 职责
API 定义请求/响应结构,参数验证
Controller 接收请求,参数绑定,调用 Logic
Logic 业务逻辑实现,事务控制
Service 服务接口(由 Logic 实现)
DAO 数据访问封装(自动生成)

API 规范

启动后访问 http://localhost:8070/swagger

  • 认证:JWT,Header Authorization: Bearer
  • 响应:{ code, message, data, timestamp }
  • 分页:page(页码)、pageSize(每页数量)

代码生成(Codex Skill)

创建模块、生成 CRUD、创建 Worker 任务均可通过 Skill 完成:

使用 $devinggo-generator 创建名为 blog 的新模块。
使用 $devinggo-generator 为 system 模块的 system_user 表生成用户 CRUD 代码。
使用 $devinggo-generator 在 system 模块创建名为 SendEmail 的异步任务。
使用 $devinggo-generator 导出 / 导入模块。
使用 $devinggo-generator 查看支持的代码生成能力。

也可使用 $devinggo-project-init 执行数据库迁移、查看迁移状态、启动服务、更新 DAO/Service 接口等操作。详见 代码生成工具 和 Skill 配置。

配置说明

主配置文件:manifest/config/config.yaml

server:
  address: ":8070"
  openapiPath: "/api.json"
  swaggerPath: "/swagger"
database:
  default:
    link: "pgsql:host=127.0.0.1 port=5432 dbname=devinggo user=postgres password=123456 sslmode=disable"
redis:
  default:
    address: "127.0.0.1:6379"
jwt:
  secret: "your-secret-key"
  expire: 7200
asynq:
  addr: "127.0.0.1:6379"
  db: 1
  concurrency: 10

常见问题

问题 解决方案
修改端口 manifest/config/config.yaml → server.address
启用调试 database.default.debug: true
迁移失败 检查 PostgreSQL 配置,查看 logs/ 日志
JWT 过期时间 修改 jwt.expire(秒)
Worker 不执行 用 $devinggo-project-init 检查 Worker 与 Redis 连接
API 返回 401 Token 过期,重新登录

交流与协议

如果项目对您有帮助,欢迎点右上角 Star 收藏支持!

Star History

View this README on GitHub

추천 도구

다른 키워드를 입력하거나 필터를 제거해 보세요.

설치

npx skillfish add huagelong/devinggo