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)

  1. Clone the repo を行い、backendフォルダへ移動します。
  2. 仮想環境を作成し、パッケージをエディタブルモードでインストールして、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
    
  3. 別のターミナルを開き、frontendフォルダへ移動して、npm依存関係をインストールし、開発サーバーを起動します:
    cd frontend
    npm install --legacy-peer-deps
    npm run dev
    
  4. http://localhost:5173 にアクセスします。システムが初期状態のため、/setup にリダイレクトされます。3ステップのウィザードに従い(ローカルデモ用のSQLite、または本番用のMySQLを選択)、インストールを完了します。
  5. 設定した管理者用認証情報でログインし、System Management → Plugins を探索し、組み込みのマーケットからサンプルプラグインをインストールしてみます。
  6. 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エージェントが呼び出せる方法が必要な場合、このプロジェクトは強力な基盤を提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト