GoWind Admin (风行) is a Go backend admin platform built on go-kratos v2 and Ent that ships multi-tenant RBAC, TOTP multi-factor authentication and six categories of audit logging, paired with a choice of Vue 3 or React 19 admin frontends.
What is GoWind Admin?
GoWind Admin is an enterprise admin platform whose backend is written in Go on the go-kratos v2 microservice framework, with Protobuf/Buf as the single API contract and Ent (plus GORM as auxiliary) as the ORM over MySQL or PostgreSQL. It takes .proto API definitions and Ent schemas as input and generates Go API code and TypeScript clients as output, alongside a Vue 3 or React 19 admin UI, Redis 8.0+ and MinIO object storage. The project is open source under the MIT license and ships Docker Compose deployment scripts, PM2 process management and nginx configs; live demos run at vben.admin.gowind.cloud (Vue Vben), ele.admin.gowind.cloud (Vue Element Plus) and react.admin.gowind.cloud (React), each backed by the same backend, with Swagger at api.demo.admin.gowind.cloud/docs.
What makes GoWind Admin stand out?
- Three parallel frontends, one backend —
vue-vben(Vue 3 + Ant Design Vue + Vben Admin, port 5666),vue-element(Vue 3 + Element Plus, port 5777) andreact(React 19 + Ant Design V6 + Zustand, no UMI, port 5888) are independent implementations of the same API contract; a team adopts exactly one and can delete the other two directories. - Switchable policy engines — RBAC authorizes through Casbin or OPA, with role-permission-API mappings stored in the database and hot-reloaded on change; menu, button, row-level and field-level (blacklist) permissions are supported.
- Tenant isolation at the ORM layer — Ent Privacy policies inject tenant filters into read queries and tenant predicates into writes, so cross-tenant updates or deletes match zero rows.
- Full-stack code generation — Protobuf to Go API and TypeScript client, Ent Schema to ORM, one-click CRUD scaffolding, plus the
gowCLI (gow run admin,gow ent,gow api,gow generatefrom a database DSN,gow extractfor microservice splitting) and a Wails desktop generator, gowind-uiapp. - MLPS 2.0 (等保) aligned security — daily asynq archiving keeps 180 days of audit data in the database (tunable via
AUDIT_RETENTION_DAYS) and exports older rows to JSONL; password complexity, reuse checks and 90-day expiry; TOTP MFA; captcha; Redis login throttling by IP and username; AES-256-GCM encryption for sensitive task config; JWT RS256 signing and HttpOnly refresh cookies. - Script and plugin system — Lua (gopher-lua) and JavaScript (goja) scripts stored in the database with before/after entity lifecycle hooks, asynq-scheduled jobs, fail-closed HTTP outbound domain whitelists, dry runs and execution logs.
- Data export and messaging — list pages export the current filter to CSV or XLSX capped at 10,000 rows; SSE handles server push and Asynq runs asynchronous delivery of broadcast messages.
- Microservice or monolith — the go-kratos codebase can be developed and deployed as a single monolith, and Docker Compose offers
full_deploy(middleware plus app) andlibs_only(middleware only, for local IDE debugging).
Who should use GoWind Admin?
- Go backend teams that need an admin console without building users, roles, menus, dictionaries and audit logs from scratch.
- Vue shops and React shops — each picks the frontend matching its existing stack rather than switching frameworks; only the selected directory is maintained.
- Teams doing private or on-premise deployment that need audit retention, password policy, MFA and encryption evidence for a Chinese MLPS 2.0 assessment.
- SaaS builders that need tenant onboarding, subscription packages with quotas and module whitelists, and machine AK/SK credentials for service-to-service calls.
Use cases
- Multi-tenant SaaS operators: create a tenant and the platform auto-initializes its departments, default role and administrator, with package-based quota enforcement.
- Compliance and security teams: review login, operation, API, data access, permission-change and policy-evaluation logs, and correlate authorization decisions by trace_id.
- Platform engineers: run
gow generateagainst a MySQL, PostgreSQL, SQLite, SQL Server or Oracle DSN to scaffold a CRUD service, or import SQL in the desktop generator to emit server and frontend code. - Internal tooling developers: schedule recurring jobs, upload files to MinIO or local storage, and send notifications over EMAIL/SMTP channels with encrypted credentials.
How does GoWind Admin work?
GoWind Admin is installed from source: initialize the environment with the platform scripts, start dependencies, run the backend, then start one frontend. The backend is Go 1.26 or newer and uses the gow CLI; the frontends require Node ^20.19.0 || >=22.12.0 (version 21.x does not satisfy it, and 20.18 or lower does not either) and pnpm 9.12 or newer.
cd backendand run the environment script for your OS (for exampleinstall_unix_dev.sh), thendocker/libs_only.shfor middleware only orfull_deploy.shfor the complete stack.- Start the backend with
gow run admin; production process hosting is available through the PM2 script. cd frontend/admin/vue-element(orreact, orvue-vben), runpnpm install, then the matching dev command; note that the repository root andfrontend/adminhave no package.json, so installing there fails.
Pricing
GoWind Admin is free and open source under the MIT license.
Alternatives
- gin-vue-admin — a Go admin scaffold built on the Gin web framework and Vue.
- Ant Design Pro — frontend-only React scaffolding built around Ant Design.
FAQ
Is GoWind Admin free?
Yes. The repository is released under the MIT license, so you can use, modify and self-host it. There is no paid tier described; hosting, database and storage costs for your own deployment are yours to cover.
Which frontend should I choose?
Choose one. vue-vben, vue-element and react are parallel implementations of the same backend, not a combined stack. After picking, delete the other two directories; the adoption notes in the project docs list the exact files to change.
What versions does GoWind Admin require?
Backend: Go 1.26 or newer, per backend/go.mod. Frontend: Node ^20.19.0 || >=22.12.0 and pnpm 9.12 or newer; Node 21.x and 20.18 or lower do not satisfy the engines field. Docker 20.0 or newer is needed for the container workflows.
Does GoWind Admin guarantee MLPS 2.0 (等保) compliance?
No. It implements the technical measures — audit logging, identity verification, access control, tenant isolation, data encryption and backups. Assessment also covers management systems, physical environment and personnel organization, so the project supports but does not replace a full assessment.
Which databases and caches are supported?
Ent operates over MySQL and PostgreSQL, with GORM as an auxiliary ORM. Redis 8.0 or newer is used for caching, login throttling and cross-instance parameter-change broadcasts, and MinIO provides S3-compatible object storage for uploads.








