OpenSolon 开源框架!(也称:Solon)
OpenSolon 是新一代,Java 企业级应用开发框架。从零开始构建(No Java-EE),有灵活的接口规范与开放生态。采用商用友好的 Apache 2.0 开源协议,是"杭州无耳科技有限公司"开源的根级项目,是 Java 应用开发的生态基座(可替换美国博通公司的 Spring 生态)。
- 追求: 快速、小巧、简洁
- 提倡: 克制、高效、开放
7年开源时间,累计代码提交1.6万次 ,近半年下载量1200万次。
- 有透明可预期的《版本发布与长期支持计划(LTS)》
- 有"【社区交流】"和"【企业服务】"双重技术支持
同时支持运行时环境(不基于 java-ee 构建,所以可以同时兼容):
- java8, java11, java17, java21, java25
目前有几个主要的项目仓库:
| 代码仓库 | 描述 |
|---|---|
| /opensolon/solon | Solon ,主代码仓库 |
| /opensolon/solon-examples | Solon ,官网配套示例代码仓库 |
| /opensolon/solon-expression | Solon Expression ,代码仓库 |
| /opensolon/solon-flow | Solon Flow ,代码仓库 |
| /opensolon/solon-ai | Solon Ai ,代码仓库 |
| /opensolon/solon-cloud | Solon Cloud ,代码仓库 |
| /opensolon/solon-admin | Solon Admin ,代码仓库 |
| /opensolon/solon-integration | Solon Integration ,代码仓库 |
| /opensolon/solon-java17 | Solon Java17 适配仓库(base java17) |
| /opensolon/solon-java25 | Solon Java25 适配仓库(base java25) |
| /opensolon/solon-gradle-plugin | Solon Gradle ,插件代码仓库 |
| /opensolon/solon-idea-plugin | Solon Idea ,插件代码仓库 |
| /opensolon/solon-vscode-plugin | Solon VsCode ,插件代码仓库 |
有什么特点(相对 Java Spring 方案)?
OpenSolon 对国产算力非常友好,对 cpu 和 memory 的需求远低于同类方案。
| 特点 | 描述 |
|---|---|
| 更高的计算性价比 | 并发高 700%;内存省 50% |
| 更快的开发效率 | 代码少;入门简单;启动(或调试重启)快 10倍 |
| 更好的生产与部署体验 | 打包小 90% |
| 更大的兼容范围 | 非 java-ee 架构;同时支持 java8 ~ java25,graalvm native image |
最新的 techempower (第三方知名测试平台)测试数据:
- https://www.techempower.com/benchmarks/#hw=ph\&test=json§ion=data-r23
- https://www.techempower.com/benchmarks/#hw=ph\&test=plaintext§ion=data-r23
项目架构示意图(全场景应用开发支持)

v3.9.3 更新说明
- 重构 solon-ai-agent Plan-ReAct 模式(相对之前,新设计智能、态动、按需)
- 新增 solon-ai-acp 插件(可以对接支持 acp 协议的 IDE)
- 添加 solon-ai-core ChatSessionProvider
- 添加 solon-ai-core FunctionTool:call 方法
- 添加 solon-ai-mcp FunctionPrompt:get 方法
- 添加 solon-ai-mcp FunctionResource:read 方法
- 添加 solon-ai-core ToolSchemaUtil.resultConvert 方法(将 tool 转换从内部,转到外部)
- 添加 solon-ai-agent ReActAgent maxStepsExtensible 配置,允许通过 HITL 扩容步数
- 优化 solon-logging-log4j2 默认配置改为 java 动态构建(更灵活)
- 优化 solon-ai-core ChatModel 与 DeepSeek-R1 兼容性
- 优化 solon-ai-agent ReActAgent 与 DeepSeek-R1 兼容性(手造的 AssistantMessage 需要自动补字段)
- 优化 solon-ai-agent FunctionTool 增加 tool 多模态与单模态兼容处理
- 优化 solon-ai-skill-cli CliSkill 进一步与 Claude Code 规范对齐(接近 100%)
- 优化 solon-ai-skill-cli CodeCLI exit 改为进程退出
- 优化 solon-ai-mcp 无心跳时,支持自动复位尝试
- 调整 solon Gateway mainDef 直接输出 404 状态,改为的抛 404 状态异常
- 调整 solon-ai-mcp McpClientProvider 接口,优化多模态适配
- 调整 solon-ai-core 多模态体系(AiMedia 更名为 ContentBlock,)
- 调整 solon-ai-core UserMessage medias 更名为 blocks,hasMedias 更名为 isMultiModal
- 调整 solon-ai-core ToolMessage 添加 blocks,isMultiModal(工具支持多模态)
- 调整 solon-ai-core ChatDialect 接口,对多模态和 R1 更友好
- 移除 solon-ai-core 移除 ImageModel 体系,由 GenerateModel 体系接替(v3.5 时增加)
- 修复 quartz-solon-cloud-plugin quartz.Scheduler 定制无效的问题
- 修复 minio7-solon-cloud-plugin bucketDef 无效的问题
- 修复 minio-solon-cloud-plugin bucketDef 无效的问题
- 修复 solon-ai-agent ReActAgent 重试时会消息倍增的问题
- 修复 solon-ai-agent ReActAgent,TeamAgent 在恢复执行时,会重置 Options 的问题
Solon AI 变更说明:
| 旧名(强调多媒体) | 新名(强调多模态内容块) |
|---|---|
| AiMedia | ContentBlock |
| Text | TextBlock |
| Image | ImageBlock |
| Audio | AudioBlock |
| Video | VideoBlock |
| UserMessage.getMedias() | getBlocks() |
| UserMessage.hasMedias() | isMultiModal() |
| / | ToolMessage.getBlocks() |
| / | ToolMessage.isMultiModal() |
| McpClientProvider.callTool() | callToolRequest() |
| McpClientProvider.callToolAsText() | callTool() |
| McpClientProvider.callToolAsImage() | / |
| McpClientProvider.callToolAsAudio() | / |
| McpClientProvider.readResource() | readResourceRequest() |
| McpClientProvider.readResourceAsText() | readResource() |
| McpClientProvider.getPrompt() | getPromptRequest() |
| McpClientProvider.getPromptAsMessage() | getPrompt() |
org.noear.solon.ai.mcp.server.prompt.* |
org.noear.solon.ai.chat.prompt.* (prompt 是公用元素) |
org.noear.solon.ai.mcp.server.resource.* |
org.noear.solon.ai.chat.resource.* (resource 是公用元素) |
v3.8.5 LTS 更新说明
- 添加
nacos-solon-cloud-pluginak/sk 配置支持 - 添加
nacos2-solon-cloud-pluginak/sk 配置支持 - 添加
nacos3-solon-cloud-pluginak/sk 配置支持 - 优化
solon-logging-log4j2默认配置改为 java 动态构建(更灵活) - 优化
solon-docs-openapi3插件兼容性 - 修复
quartz-solon-cloud-pluginquartz.Scheduler 定制无效的问题 - 修复
minio7-solon-cloud-pluginbucketDef 无效的问题 - 修复
minio-solon-cloud-pluginbucketDef 无效的问题 - sanck4 升为 4.0.31
v3.7.5 LTS 更新说明
- 添加
nacos-solon-cloud-pluginak/sk 配置支持 - 添加
nacos2-solon-cloud-pluginak/sk 配置支持 - 添加
nacos3-solon-cloud-pluginak/sk 配置支持 - 优化
solon-logging-log4j2默认配置改为 java 动态构建(更灵活) - 优化
solon-docs-openapi3插件兼容性 - 修复
quartz-solon-cloud-pluginquartz.Scheduler 定制无效的问题 - 修复
minio7-solon-cloud-pluginbucketDef 无效的问题 - 修复
minio-solon-cloud-pluginbucketDef 无效的问题 - sanck4 升为 4.0.31
v3.6.8 LTS 更新说明
- 添加
nacos-solon-cloud-pluginak/sk 配置支持 - 添加
nacos2-solon-cloud-pluginak/sk 配置支持 - 添加
nacos3-solon-cloud-pluginak/sk 配置支持 - 优化
solon-logging-log4j2默认配置改为 java 动态构建(更灵活) - 修复
quartz-solon-cloud-pluginquartz.Scheduler 定制无效的问题 - 修复
minio7-solon-cloud-pluginbucketDef 无效的问题 - 修复
minio-solon-cloud-pluginbucketDef 无效的问题 - sanck4 升为 4.0.31