Solon v3.9.5

Solon v3.9 更新与兼容说明

</> markdown
2026年3月19日 下午4:49:30

兼容说明

for solon-ai

  • 调整 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 时增加)
旧名(强调多媒体)新名(强调多模态内容块)
AiMediaContentBlock
TextTextBlock
ImageImageBlock
AudioAudioBlock
VideoVideoBlock
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.readResourceAsBlob()/
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 是公用元素)

具体更新

for solon

  • 新增 solon-ai-dialect-claude 插件
  • 新增 solon-shell 插件(试用)
  • 添加 solon-data-sqlutils SqlUtils.getDataSource 方法
  • 添加 solon-data-rx-sqlutils RxSqlUtils.getConnectionFactory 方法
  • 调整 solon-net-httputils 响应式改为 Flux 接口(提供背压支持)
  • 调整 solon Gateway mainDef 直接输出 404 状态,改为的抛 404 状态异常
  • 优化 solon-docs-openapi3 插件兼容性
  • 优化 solon-logging-log4j2 默认配置改为 java 动态构建(更灵活)
  • 修复 quartz-solon-cloud-plugin quartz.Scheduler 定制无效的问题
  • 修复 minio7-solon-cloud-plugin bucketDef 无效的问题
  • 修复 minio-solon-cloud-plugin bucketDef 无效的问题
  • sanck4 升为 4.0.33

for solon-ai

  • 新增 solon-ai-acp 插件(可以对接支持 acp 协议的 IDE)
  • 新增 solon-ai-dialect-claude 插件
  • 新增 solon-ai-dialect-openai OpenaiResponses 方言适配
  • 新增 solon-ai-repo-weaviate 插件
  • 新增 solon-ai-skill-cli 插件(含 CliSkill 和 SolonCodeCLI)
  • 新增 solon-ai-skill-data 插件(含 RedisSkill)
  • 新增 solon-ai-skill-file 插件(含 FileReadWriteSkill,ZipSkill)
  • 新增 solon-ai-skill-generation 插件(含 ImageGenerationSkill, VideoGenerationSkill)
  • 新增 solon-ai-skill-mail 插件(含 MailSkill)
  • 新增 solon-ai-skill-pdf 插件(含 PdfSkill)
  • 新增 solon-ai-skill-restapi 插件(含 RestApiSkill),内置 OpenApi3 和 swagger2 兼容适配(可扩展定制)
  • 新增 solon-ai-skill-social 插件(含 DingTalkSkill,FeishuSkill,WeComSkill)
  • 新增 solon-ai-skill-sys 插件(含 NodejsSkill,PythonSkill, ShellSkill,SystemClockSkill)
  • 新增 solon-ai-skill-text2sql 插件(含 Text2SqlSkill)
  • 新增 solon-ai-skill-web 插件(含 WebCrawlerSkill,WebSearchSkill)
  • 添加 solon-ai-core Prompt 更多方法(getLastAssistantMessage, size 等)
  • 添加 solon-ai-core ChatSession 更多方法(getLatestMessages 等)
  • 添加 solon-ai-agent Agent.call(session) 方法(作为恢复执行的入口)
  • 添加 solon-ai-agent Agent.prompt 方法
  • 添加 solon-ai-agent AgentResponse 接口,统一响应界面
  • 添加 solon-ai-agent Trace.workingMemory 概念
  • 添加 solon-ai-core ChatModel.stream 背压流控支持
  • 添加 solon-ai-core FileChatSession,RedisChatSession 聊天会话实现
  • 添加 solon-ai-core ChatInterceptor.onPrepare 事件(勾子)
  • 添加 solon-ai-core Prompt.removeLastMessage, removeLastAssistantMessage 方法
  • 添加 solon-ai-agent FileAgentSession 智能体会话实现
  • 添加 solon-ai-agent ReActTrace, TeamTrace pending 机制(方便按需拦截挂机)
  • 添加 solon-ai-agent feedbackMode 模式(默认为 false)
  • 添加 solon-ai-agent ReActInterceptor.onObservation toolName 参数
  • 添加 solon-ai-agent HITL 专属接口,进一步优化人工机制(同意,拒绝,跳过)
  • 添加 solon-ai-agent stream 流式输出机制
  • 添加 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-ai-core Skill 接口设计,getTools 增加 prompt 参数
  • 优化 solon-ai-agent AgentSession 接口,改为扩展自 ChatSession (只需入口 agent 有历史消息)
  • 优化 solon-ai-agent 部分接口设计
  • 优化 solon-ai-agent ReActAgent 添加主动挂机的能力(处理无法完成的任务时,可避免幻觉轮询)
  • 优化 solon-ai-agent description + systemPrompt 标为弃用,改由 role + instruction 替代(简化了)
  • 优化 solon-ai-agent 内置的 Team 协议(如 ReActProtocol,SwarmProtocol 等)
  • 优化 solon-ai-agent 内置的 ToolRetryInterceptor,ToolSanitizerInterceptor 等
  • 优化 solon-ai-agent AgentSession 接口 updateSnapshot 取消入参
  • 优化 solon-ai-agent ActionTask 取消正则匹配 json 方式,改用 json 流式读取方式
  • 调整 solon-ai-core InMemoryChatSession systemMessages 标为弃用(不建议放到会话里,不方便做结构化的管理)
  • 调整 solon-ai-agent 取消 title(减少迷惑),systemMessage 标为弃用。改用 role 和 instruction
  • 调整 solon-ai-core ChatModel.stream 返回由 Publisher 改为 Flux
  • 调整 solon-ai-agent enablePlanning 更名为 planningMode (前者标为弃用)
  • 调整 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 时增加)
  • 修复 solon-ai-agent ReActAgent 重试时会消息倍增的问题
  • 修复 solon-ai-agent ReActAgent,TeamAgent 在恢复执行时,会重置 Options 的问题
  • 修复 solon-ai-agent ReActAgent 新话题开始时, ReActTrace 没有重置干净的问题
  • 修复 solon-ai-agent SimpleAgent 没有接入协作协议 prepareAgentPrompt 勾子
  • qdrant 升为 1.16.2