Plugins

Estimated reading time: 2 minutes 预计阅读时间: 2 分钟

Full Chinese reference: /guide/architecture/plugins.

Registration order in crates/app/src/main.rs:

#PluginCrateConfigNotes
1WebPluginsummer-web[web], [web.openapi], [web.middlewares]Axum HTTP server
2SeaOrmPluginsummer-sea-orm[sea-orm], [sea-orm-web]Postgres pool
3RedisPluginsummer-redis[redis]Redis pool
4SummerShardingPluginsummer-sharding[summer-sharding]SQL rewriting / multi-tenancy
5SummerSqlRewritePluginsummer-sql-rewriteAuth context injection into SQL
6JobPluginsummer-jobinventory-registered handlers
7SummerSchedulerPluginsummer-job-dynamicDB-driven cron
8MailPluginsummer-mail[mail]SMTP
9SummerAuthPluginsummer-auth[auth]JWT, sessions
10PermBitmapPluginsummer-systemO(1) permission checks
11SocketGatewayPluginsummer-system[socket_io], [socket-gateway]Socket.IO over Redis
12Ip2RegionPluginsummer-plugins[ip2region]IP geolocation
13S3Pluginsummer-plugins[s3]S3 / MinIO / RustFS
14BackgroundTaskPluginsummer-plugins4 workers / 4096 capacity
15LogBatchCollectorPluginsummer-plugins[log-batch]Batch operation log writer
16McpPluginsummer-mcp[mcp]Embedded or standalone MCP server
17SummerAiRelayPluginsummer-ai-relayOpenAI / Claude / Gemini relay
18SummerAiBillingPluginsummer-ai-billing3-stage billing
19SummerAiAgentPluginsummer-ai-agent[agent]rig-core agent (optional)

Disable a plugin

Comment it out in main.rs, or use the plugin's own enabled = false toggle (e.g. [mcp].enabled = false).

Dependency graph

Order is enforced by Plugin::dependencies(); Summer initializes them in topological order.