17 个插件清单
预计阅读时间: 5 分钟 预计阅读时间: 5 分钟crates/app/src/main.rs 是组装入口,把所有运行时能力按依赖顺序串到 App::new()。下面是完整列表,顺序就是注册顺序。
注册顺序
实际是 19 行注册,其中 17 个是核心能力插件,另外 2 个是可选(
Scheduler与AiAgent)。
详细列表
1. WebPlugin(summer-web)
关键参数:
[web].port = 8080[web].graceful = true(优雅关机)[web.openapi].doc_prefix = "/docs"(Swagger UI)[web.middlewares].cors(默认开*,生产建议收紧)
2. SeaOrmPlugin(summer-sea-orm)
features = ["postgres", "rustls", "with-web", "with-web-openapi"],自动给 OpenAPI 生成分页/排序 schema。
3. RedisPlugin(summer-redis)
4. SummerShardingPlugin(summer-sharding)
详见 多租户。
5. SummerSqlRewritePlugin(summer-sql-rewrite)
features = ["summer-auth"] 让它能读取 summer-auth 注入的当前请求上下文。
6. JobPlugin(summer-job)
7. SummerSchedulerPlugin(summer-job-dynamic)
详见仓库 doc/dynamic-job-scheduler-design.md。
8. MailPlugin(summer-mail)
9. SummerAuthPlugin(summer-auth)
详见 认证授权。
10. PermBitmapPlugin(summer-system::plugins)
11. SocketGatewayPlugin(summer-system::plugins)
12. Ip2RegionPlugin(summer-plugins)
13. S3Plugin(summer-plugins)
支持 CDN / 自定义域、分片清理(s3_multipart_cleanup job)、可选 force_path_style。
14. BackgroundTaskPlugin(summer-plugins)
15. LogBatchCollectorPlugin(summer-plugins)
16. McpPlugin(summer-mcp)
详见 MCP。
17. SummerAiRelayPlugin(summer-ai/relay)
18. SummerAiBillingPlugin(summer-ai/billing)
19. SummerAiAgentPlugin(summer-ai/agent,可选)
依赖图
依赖在
Plugin::dependencies()里声明,Summer 框架会按依赖拓扑顺序初始化。
怎么禁用某个插件?
最简单的做法是在 crates/app/src/main.rs 里注释掉对应行。例如不要 AI 网关:
部分插件支持配置开关,例如 MCP:
summer-sharding 也有 enabled 开关。
参考源码位置
- 注册入口:
crates/app/src/main.rs - 路由组装:
crates/app/src/router.rs - 插件实现:
crates/summer-*/src/plugin.rs - 配置定义:每个 plugin crate 的
config.rs
