Owl Admin: an admin panel where the interface is JSON on the server
🎈 Owl Admin : 基于 laravel 和 amis 开发的后台框架, 友好的组件使用体验, 可轻松实现复杂页面, 内置代码生成器, 让开发者快速搭建后台管理系统
At a glance
- What is it?
- Owl Admin is a Laravel extension package that renders admin pages with amis from JSON definitions on the server, with a CRUD code generator, 150 wrapped components and an artisan command that drops agent skills into your project.
- Who is it for?
- Adopt Owl Admin if your team ships internal Laravel tools and wants admin pages defined in PHP rather than in a separate front end, and read the pinned amis version before you upgrade. Do not adopt it if you need the latest amis components, since the project deliberately holds at 6.13.0, and change the default admin credentials before the first deployment.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 21 days ago.
- What is it written in?
- Mainly PHP, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Pages are JSON, built on the server
Owl Admin is a Laravel extension package that renders back office pages with the amis front end library, and the key design decision is that pages are described as JSON on the server side. The project's own summary lists the reasons plainly: building pages in JSON on the backend reduces front end development work and raises development efficiency, and when amis's 150 or so components are not enough you can develop the front end yourself. The framework is also separated into front end and back end, so the framework no longer constrains how you organise the two halves of an application. The stack is pinned in the badges, with PHP 8.2 and newer, Laravel 11.x through 13.x, and amis 6.13.x marked as locked. It is published on Packagist as slowlyo/owl-admin, is MIT licensed, and the site is owladmin.com with a live demo and a Chinese documentation site plus a fallback documentation site on GitHub Pages.
amis 6.13.0 is pinned on purpose
The most important line in the project introduction is the one about upstream. The amis upstream project has essentially stopped being updated, and this framework locks the front end to amis 6.13.0, and the goal during the stable maintenance period is not to chase new amis versions. That is a deliberate constraint, and it cuts both ways. For a team that wants a stable admin panel, pinning the component library to a version that will not change underneath you removes an entire class of upgrade work, and the badge makes the version visible so nobody mistakes it for neglect. For a team that needs a component or a fix that only exists in a newer amis, the framework will not provide it, and the fallback is the escape hatch the project already offers, developing the front end yourself. The current version supports Laravel 11.x to 13.x, and the release history shows a steady stream of patch releases, with v4.7.2 on 2026-09-15 and v4.7.3 and v4.7.5 on 2026-09-19, and the last push was on 2026-10-02 with the repository not archived.
The code generator covers the CRUD baseline
The built-in feature list starts with the basics you would otherwise write by hand, including back office user management, role management, permission management and menu management, and then adds a code generator with a set of details that matter in practice. The generator can save its generation records, and it can import and export those records, which is what lets a team share a scaffolded module rather than repeating the same generator run on every machine. There is also a command to clear generated content, so a half-finished scaffold does not have to be deleted by hand. The claim attached to it is that complete functionality can be generated without changing code. That is a promise worth testing in your own project rather than taking on faith, since generators of this kind tend to be exact for the simple resource and approximate for anything with unusual validation or permissions. Alongside the generator the project lists multi-module support, graphical extension management, and management of dynamic API templates covering CRUD, options, settings, status toggles and aggregate statistics.
Installing it means four artisan commands
Owl Admin is a Laravel extension package, and the documentation makes clear that you need to know Laravel before you install it. The sequence starts with a Laravel project:
composer create-project laravel/laravel example-appthen the database connection in the .env file, which is a MySQL configuration in the example, and the API module for Laravel 11 and newer:
php artisan install:apiThe package itself is pulled in with:
composer require slowlyo/owl-adminand the two commands that do the work publish the framework resources and then run the installer. The documentation notes that you can adjust configuration in config/admin.php before running the install command:
php artisan admin:publish
php artisan admin:installThat ordering matters. Publishing first, editing the configuration, then installing is what lets the installer pick up your settings, and running them the other way round means editing a file that the installer has already consumed. Afterwards you start the service and visit the /admin route, where the initial account and password are both admin.
admin:ai-install writes agent skills into your repository
The optional step is unusual enough to deserve its own section. There is an artisan command, admin:ai-install, that installs AI editor development files for people building Owl Admin projects in Codex, Cursor, Claude Code, Trae and similar tools. It creates a .agents directory in the project root with three parts. The .agents/skills directory holds files that tools supporting Agent Skills can read directly, the .agents/adapters directory provides rule adapter files for editors such as Claude Code, Cursor and Trae, and .agents/README.md explains how each editor is meant to use the files. The built-in skills cover back office business development, amis pages, extending into multiple modules, the code generator, dynamic APIs, install and upgrade commands, front end resources, how the framework works, helper functions, component pipelines, system settings, dynamic pages, development examples and common questions, and they are merged by topic into a small number of entry points to cut down on the noise an agent has to sift through. You then copy the relevant adapter into your editor's own directory, for example the Cursor rules file into .cursor/rules, the Claude Code rules into CLAUDE.md, the skills into .claude/skills and the Trae rules into .trae/rules. If you have already adjusted the .agents files locally, the same command accepts a --force flag to overwrite them.
Extension management and dynamic API templates
Beyond the generator, the project lists two capabilities that shape how a larger back office is built. Graphical extension management means the extension points of the framework are configured through the interface rather than by editing files, which is what lets a team standardise how a new module behaves without each developer inventing their own approach. Dynamic API template management covers CRUD, options, settings, status toggles and aggregate statistics, which is a set of ready-made API shapes for the common things a back office needs to expose to its own front end. Multi-module support is the other structural feature, and it is what the AI skills files explicitly cover as its own scenario, extending into multiple modules. Read together, these features describe a framework aimed at a specific scale of work, an internal tool or a business back office with several modules and repeated CRUD surfaces, rather than a public site with a handful of admin screens.
What to check before you put it in front of users
Two operational details deserve a line each. The first is the default credential, since the documentation states plainly that the initial account and password are both admin, and an admin panel reachable on the /admin route with a shared default password is the classic first mistake with a framework like this. The second is where the code lives. The repository carries a composer.json, a config directory, a database directory with migrations and seeders, an admin-views directory for the server side templates, a lang directory, a resources directory and the src directory that holds the package code, with .phpstorm.meta.php at the root for IDE support. The MIT licence covers the package, and the project accepts bug reports and pull requests with a contribution document in the repository, with the code mirrored on both GitHub and Gitee, which matters for teams that need to work around a network block on one of them.
Editorial conclusion
Adopt Owl Admin if your team ships internal Laravel tools and wants admin pages defined in PHP rather than in a separate front end, and read the pinned amis version before you upgrade. Do not adopt it if you need the latest amis components, since the project deliberately holds at 6.13.0, and change the default admin credentials before the first deployment.
Frequently asked questions
How do I install Owl Admin in a Laravel project?
Create the Laravel project, set the database in .env, run php artisan install:api for Laravel 11 and newer, then composer require slowlyo/owl-admin. Finish with php artisan admin:publish to publish the resources and php artisan admin:install to run the installer, and visit the /admin route.
Which versions of Laravel and amis does Owl Admin support?
The current version supports Laravel 11.x through 13.x and requires PHP 8.2 or newer. The front end is locked to amis 6.13.0 because the amis upstream has essentially stopped updating, and chasing new amis versions is explicitly not a goal during the stable maintenance period.
What does the Owl Admin code generator produce?
Complete functionality without code changes, with generation records that can be saved, imported and exported, plus a command to clear the generated content. The project also lists multi-module support, graphical extension management and dynamic API templates for CRUD, options, settings, status toggles and aggregate statistics.
What is admin:ai-install for?
It is an optional artisan command that generates a .agents directory in the project root with skills, editor rule adapters and a README, so you can develop Owl Admin projects in Codex, Cursor, Claude Code and Trae. The command also accepts a --force flag to overwrite local adjustments.
What are the default Owl Admin login credentials?
The documentation states that the initial account and password are both admin, and you reach the panel on the /admin route after running the installer. Change them before the panel is reachable by anyone else.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/slowlyo-owl-admin)Was this useful?