KevinLiss/ApeAdmin
Apeadmin 面向现代AI应用打造的Python后台管理框架,基于 FastAPI+Vue3 设计100%开源,内置 RBAC 权限管控、审计日志等企业级基础能力。框架集成 MCP‑SSE 网关,具备强大插件生态完整,帮助开发者快速搭建兼具业务管理与 AI 工具输出能力的应用。
What is ApeAdmin?
ApeAdminは、現代的なAIアプリケーション向けに特別に構築された、オープンソースのFastAPI + Vue 3ベースの管理パネルフレームワークです。ユーザー/ロール管理、メニュー、監査ログ、RBACなどの一般的なバックオフィス機能を提供しますが、プラグイン・アーキテクチャと、AIエージェントがシステムの機能を「ツール」として呼び出せるようにするMCP-SSEゲートウェイを備えています。簡単に言えば、数分でインストールでき、Pythonプラグインを使用して、人間と大規模言語モデル(LLM)エージェントの両方にビジネスロジックを公開できる「Backend-as-a-Service」です。
Core Features
| Category | What it does |
|---|---|
| Installation wizard | WordPressスタイルの3ステップ設定(DB構成 → サイト & 管理者 → 完了)。データベースを自動作成し、JWTシークレットを生成し、初回実行後にインストーラーをロックします。 |
| RBAC | 5テーブルモデル(users, roles, menus, departments, association)。4層の権限チェック(未ログイン → 認証なし → ルール → データスコープ)と、ボタンレベルの非表示を実現するフロントエンドの v-permission ディレクティブ。 |
| Plug‑in system | Pythonパッケージは importlib を介して検出されます。プラグインは実行時にロード/アンロードが可能で、完全なライフサイクル(load → install → register → uninstall)を持ち、ZIPファイルとして配布したり、オンライン・プラグイン・マーケットからインストールしたりできます。 |
| MCP‑SSE gateway | 登録されたプラグイン関数を、AIエージェントがServer-Sent Events経由で呼び出せるTools, Resources, または Promptsとして公開します。スキーマは関数シグネチャから自動生成され、呼び出しはRBACでフィルタリングされ、各呼び出しはリクエスト/レスポンスとタイミングとともにログに記録されます。 |
| AI chat | 統合されたマルチモデル・チャット(DeepSeek, Qwen, GLM, OpenAI, またはOpenAI互換のエンドポイント)。ストリーミングSSE出力、Markdownレンダリング、および最大5ラウンドのツール呼び出しループをサポートします。モデルキーはFernetで暗号化して保存されます。 |
| Audit & monitoring | グローバルなリクエストID、操作ログ、APIごとのレイテンシ追跡、およびEChartsによる可視化を備えた組み込みのダッシュボード。 |
| Database flexibility | SQLite(設定不要)または本番環境用のMySQLで動作します。ドライバーは DB_TYPE を介して切り替えます。オプションのRedisキャッシュは、利用不可の場合はインメモリにフォールバックします。 |
Who Might Use It?
| Use case | Why ApeAdmin fits |
|---|---|
| AI SaaS platforms | ユーザー、ロール、およびカスタムAIツールを管理するための安全な管理UIが必要なプラットフォーム。 |
| Enterprises | 独自のAPIを書かずに、サービスをMCPツールとして登録するだけで、内部サービスをLLMエージェントに公開したい企業。 |
| Developers | AI拡張機能を備えた内部ツール(例:ドキュメント検索、ワークフロー自動化)を構築しており、コアコードをクリーンに保つためにプラグインモデルを好む開発者。 |
| Start‑ups | スクラッチから基盤を構築することなく、迅速に「管理パネル + AIゲートウェイ」を実現したいスタートアップ。 |
Tech Stack at a Glance
| Layer | Technology |
|---|---|
| Backend | FastAPI, SQLAlchemy 2.0 (async), Alembic migrations |
| Frontend | Vue 3.5, Vite 6, TypeScript 5.7, Element Plus, Pinia, ECharts |
| Database | MySQL (via aiomysql) or SQLite (aiosqlite) |
| Cache | Redis (optional) |
| Auth | JWT + bcrypt password hashing |
| AI Integration | MCP (Model Context Protocol) over SSE, supports DeepSeek, Qwen, GLM, OpenAI, or custom OpenAI-compatible endpoints |
| Packaging | MIT license, Docker-friendly, bare-metalへのデプロイも可能、または一般的なホスティングパネル経由。 |
Getting Started (quickest path)
- Clone the repo を行い、backendフォルダへ移動します。
- 仮想環境を作成し、パッケージをエディタブルモードでインストールして、FastAPIサーバーを起動します:
cd backend python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -e . uvicorn src.main:app --reload --host 0.0.0.0 --port 8000 - 別のターミナルを開き、frontendフォルダへ移動して、npm依存関係をインストールし、開発サーバーを起動します:
cd frontend npm install --legacy-peer-deps npm run dev http://localhost:5173にアクセスします。システムが初期状態のため、/setupにリダイレクトされます。3ステップのウィザードに従い(ローカルデモ用のSQLite、または本番用のMySQLを選択)、インストールを完了します。- 設定した管理者用認証情報でログインし、System Management → Plugins を探索し、組み込みのマーケットからサンプルプラグインをインストールしてみます。
- AIチャットを試すには、AI Assistant → Model Keys にモデルキーを追加し、会話を開始します。アシスタントは登録されたMCPツール(例:
system_list_plugins)を呼び出すことができます。
Extending ApeAdmin
- Create a plug‑in を行うには、
backend/src/plugins/builtin/の下に新しいPythonパッケージを追加します。on_load,register_routes,register_mcp_toolsなどのメソッドを持つPluginInterfaceを実装します。 - Expose a tool を行うには、
register_mcp_tools内で@mcp_manager.toolデコレータを使用します。関数のシグネチャがLLMが呼び出せるJSON-Schemaとして生成されます。 - Publish を行うには、プラグインをZIPファイルとして配布するか、オンライン・プラグイン・マーケットへプッシュして、他のユーザーがクリック一つでインストールできるようにします。
Community & Contribution
Fork → branch ( feat/…,fix/…, etc.) → PR。リポジトリの貢献ガイドに従って、コミットスタイルやテストに従ってください。
Bottom line: ApeAdminは、従来のビジネス・バックエンドと現代的なLLMエージェントを橋渡しする、すぐに使える拡張可能な管理フレームワークです。安全なUI、プラグインベースの拡張性、プラグインを第一級のツールとしてAIエージェントが呼び出せる方法が必要な場合、このプロジェクトは強力な基盤を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト