
Description
< #Admin Framework #RBAC #Plugin Market #MCP #FastAPI #Vue3 #AI Agent #Open Source
ApeAdmin is an admin framework built with FastAPI and Vue 3, and what sets it apart from a conventional back-office scaffold is this: the system exposes its own management capabilities as tools an AI agent can call. The core handles permissions, menus, departments and logs; business features are developed and deployed as separate plugins; and a built-in MCP-SSE gateway publishes all of it so a model-driven agent can operate the back office directly.
Getting started feels a bit like installing WordPress: once the backend and frontend are running, the browser lands on a setup wizard where three steps configure the database, the site and the administrator. A missing MySQL database is created for you and the JWT secret is generated and written to the config automatically. It suits teams that want a ready-made admin foundation and also want to open their business capabilities up to AI agents. The author notes the project is developed AI-first with humans owning product direction and quality; it is MIT licensed, and an online demo with a read-only account is provided.
Setup wizard: The first visit redirects to
RBAC permission model: A five-table model of users, roles, menus and departments, with four permission layers — public, unauthenticated, rule-checked and data-scoped; the data scope narrows to a department, a department and its children, or everything. Menus come in directory, menu and button types with unlimited nesting.
Frontend permission control: A v-permission directive drives button-level visibility while route guards handle page-level checks, and the super administrator implicitly holds every permission.
Plugin architecture: Plugins are ordinary Python packages discovered automatically through importlib, with a full load / install / register / uninstall lifecycle, hot enable-disable, and the option to run a business plugin as its own Docker service.
Plugin market and event bus: Community plugins can be browsed, searched and downloaded online, or imported by uploading a ZIP. The EventBus ships seven built-in events (app startup, database ready, user login and more) so plugins stay loosely coupled.
MCP-SSE gateway: It supports the three primitives — Tools, Resources and Prompts — infers each tool’s JSON Schema from its function signature, and filters by RBAC so an agent only sees tools the current user may call. Transport is SSE with one-time ticket authentication, plus a 30-second call timeout and a full audit trail.
Built-in AI chat: Works with DeepSeek, Qwen, Zhipu GLM, OpenAI and custom OpenAI-compatible endpoints, streams responses with live Markdown rendering, and supports function calling so the model can invoke MCP tools to carry out admin work. Provider keys are stored encrypted.
Audit logging: Middleware assigns every request a unique id for tracing, records user actions and API latency, and lets you filter by module, time or user.
Stack and deployment: FastAPI with async SQLAlchemy 2.0 and Alembic on the backend; Vue 3.5, Vite 6, TypeScript and Element Plus on the frontend; MySQL and SQLite drivers switch automatically; Redis is optional and falls back to in-memory caching when absent.
Open source project: The source code is hosted on GitHub, so developers can study the implementation, contribute, or customize it for their own needs.
ApeAdmin is an admin framework built with FastAPI and Vue 3, and what sets it apart from a conventional back-office scaffold is this: the system exposes its own management capabilities as tools an AI agent can call. The core handles permissions, menus, departments and logs; business features are developed and deployed as separate plugins; and a built-in MCP-SSE gateway publishes all of it so a model-driven agent can operate the back office directly.
Getting started feels a bit like installing WordPress: once the backend and frontend are running, the browser lands on a setup wizard where three steps configure the database, the site and the administrator. A missing MySQL database is created for you and the JWT secret is generated and written to the config automatically. It suits teams that want a ready-made admin foundation and also want to open their business capabilities up to AI agents. The author notes the project is developed AI-first with humans owning product direction and quality; it is MIT licensed, and an online demo with a read-only account is provided.
Features
Setup wizard: The first visit redirects to
/setup, where three steps cover database, site and administrator. The MySQL connection is checked and the database created if missing, and a setup.lock file afterwards keeps the wizard from running twice.RBAC permission model: A five-table model of users, roles, menus and departments, with four permission layers — public, unauthenticated, rule-checked and data-scoped; the data scope narrows to a department, a department and its children, or everything. Menus come in directory, menu and button types with unlimited nesting.
Frontend permission control: A v-permission directive drives button-level visibility while route guards handle page-level checks, and the super administrator implicitly holds every permission.
Plugin architecture: Plugins are ordinary Python packages discovered automatically through importlib, with a full load / install / register / uninstall lifecycle, hot enable-disable, and the option to run a business plugin as its own Docker service.
Plugin market and event bus: Community plugins can be browsed, searched and downloaded online, or imported by uploading a ZIP. The EventBus ships seven built-in events (app startup, database ready, user login and more) so plugins stay loosely coupled.
MCP-SSE gateway: It supports the three primitives — Tools, Resources and Prompts — infers each tool’s JSON Schema from its function signature, and filters by RBAC so an agent only sees tools the current user may call. Transport is SSE with one-time ticket authentication, plus a 30-second call timeout and a full audit trail.
Built-in AI chat: Works with DeepSeek, Qwen, Zhipu GLM, OpenAI and custom OpenAI-compatible endpoints, streams responses with live Markdown rendering, and supports function calling so the model can invoke MCP tools to carry out admin work. Provider keys are stored encrypted.
Audit logging: Middleware assigns every request a unique id for tracing, records user actions and API latency, and lets you filter by module, time or user.
Stack and deployment: FastAPI with async SQLAlchemy 2.0 and Alembic on the backend; Vue 3.5, Vite 6, TypeScript and Element Plus on the frontend; MySQL and SQLite drivers switch automatically; Redis is optional and falls back to in-memory caching when absent.
Open source project: The source code is hosted on GitHub, so developers can study the implementation, contribute, or customize it for their own needs.


