Skip to content

Latest commit

 

History

History
702 lines (560 loc) · 39.1 KB

File metadata and controls

702 lines (560 loc) · 39.1 KB

可测试目标

  • Trae
  • Dify
  • Cherry Studio

待定

  • mcp channel 概念改为 transport (并保持兼容)???

3.10.4

  • 添加 solon-ai-harness 重试次数配置支持
  • 优化 solon-ai-dialect-anthropic anthropic 方言的异常兼容处理
  • 优化 solon-ai-dialect-openai openai-response 方言的异常兼容处理
  • 优化 solon-ai-agent 中断传递处理
  • 优化 solon-ai-agent retrying 中断处理

3.10.2

  • 新增 solon-ai-repo-dashvector-official 插件
  • 添加 solon-ai-core ChatModel.getModel 方法
  • 添加 solon-ai-core ChatModel.getProvider 方法
  • 添加 solon-ai-core ChatOptions.name 方便 agent 传递 name(打印日志)
  • 添加 solon-ai-core 基于语义的分割器 SemanticSplitter
  • 添加 solon-ai-core AiConfig.name, description 配置属性(用于管理显示)
  • 添加 solon-ai-agent AgentRequest.callAsync 异步调用方法
  • 添加 solon-ai-agent AgentResponse.getTrace 方法
  • 添加 solon-ai-agent SummarizationInterceptor.copyWith 方法(方便复制实例并调整限制)
  • 添加 solon-ai-harness HarnessProperties.models 配置属性(替代 chatModel)
  • 添加 solon-ai-harness 子代理切换模型的能力
  • 添加 solon-ai-harness HarnessProperties.removeModel 方法
  • 优化 solon-ai-core RepositoryTool 增加重排支持
  • 优化 solon-ai-core OllamaEmbeddingDialect.matched 添加 endsWith 匹配
  • 优化 solon-ai-core MethodToolProvider 允许是否使用自身的 ToolProvider 内容(同时优化 AbsSkill,AbsToolProvider)
  • 优化 solon-ai-agent ReActAgent 流块输出
  • 优化 solon-ai-cli TodoSkill 提示词
  • 调整 solon-ai-cli 取消 TerminalSkill.undo 工具(几乎用不到,由 git 控制)
  • 调整 solon-ai-harness 取消 SESSION_DEFAULT(由应用侧处理)
  • 调整 solon-ai-harness 去除 getVersion 方法(由应用侧定义)
  • 调整 solon-ai-harness CLAUDE.md 更名为 CODE.md(内部自动生成)
  • 修复 solon-ai-core MethodExecuteHandler 当 llm.args 嵌套非规范 json 时出错的问题(比如,非规范控制符)
  • 修复 solon-ai-core ChatResponseDefault.isEmpty 可能识别失败的问题(不同 llm 情况较多)
  • 调整 solon-ai-harness HarnessProperties.restApis 更名为 apiServers;取消 chatModel(由 models 替代)
  • 修复 solon-ai-agent FileAgentSession.getSessionId 可能为空的问题
  • 修复 solon-ai-skill-web CodeSearchTool 失效的问题(mcp.exa.ai 变了地址)
  • 修复 solon-ai-harness TaskOp jsonSchema 问题(可能造成 multitask 调度失败)

3.10.1

  • 新增 acp-sdk 模块(从 solon-ai-acp 分离出来,方便独立升级)
  • 新增 solon-ai-harness 智能体马具框架
  • 添加 solon-ai-core ChatModel.of().systemPrompt 方法
  • 添加 solon-ai-core 工具执行时的参数注解支持
  • 添加 solon-ai-core RepositoryTool 工具,为实现 Agent RAG 提供支持
  • 添加 solon-ai-core AbsToolProvider 类(取代之前添加 toolObj 的方式)
  • 优化 solon-ai-skill-cli ExpertSkill 原来的二档展示升为三级
  • 优化 solon-ai-skill-restapi 原来的三档展示升为四级,并添加分组(可增强注意力)
  • 优化 solon-ai-skill-toolgateway 原来的三档展示升为四级,并添加分组(可增强注意力)
  • 优化 solon-ai-agent ReActRequest, TeamRequest 支持叠加 options
  • 修复 solon-ai-skill-cli ExpertSkill grep 可能失效的问题

3.10.0

  • 添加 solon-ai-agent ThoughtChunk 流块
  • 添加 solon-ai-agent Metrics.addMetrics 锁安全
  • 添加 solon-ai-agent AgentChunk.getMeta 流块元数据(方便在传递过程中,做标识)
  • 优化 solon-ai-agent ActionTask 执行完后就更新快照(避免可能的长时间没有更新快照)
  • 修复 solon-ai-core ChatModel.outputSchema 配置无效的问题
  • 修复 solon-ai-core 工具调用时‘可能’出现消息内容重复的问题(重要,v3.9.2 时出现)

3.9.7

  • 添加 solon-ai-agent ThoughtChunk 流块
  • 添加 solon-ai-agent Metrics.addMetrics 锁安全
  • 添加 solon-ai-agent AgentChunk.getMeta 流块元数据(方便在传递过程中,做标识)
  • 优化 solon-ai-agent ActionTask 执行完后就更新快照(避免可能的长时间没有更新快照)
  • 修复 solon-ai-core ChatModel.outputSchema 配置无效的问题
  • 修复 solon-ai-core 工具调用时‘可能’出现消息内容重复的问题(重要,v3.9.2 时出现)

3.9.6

  • 添加 solon-ai-core ChatModel.outputSchema 配置支持(且与 Agent 统一基于方言实现,各方言可定制)
  • 添加 solon-ai-core ChatModel.contextLength 配置支持(为 Agent 方便自动计算限制数)
  • 添加 solon-ai-core AssistantMessage.getJsonContent 方法
  • 添加 solon-ai-core MarkdownUtil 工具类
  • 添加 solon-ai-dialect-gemini tool-call 的思考签名支持
  • 添加 solon-ai-agent ReActChunk.getMetrics 方法
  • 优化 solon-ai-core AbstractChatDialect 解析 tool 参数的兼容性
  • 优化 solon-ai-dialect-dashscope 方言 支持流式传输与百炼联网搜索
  • 优化 solon-ai-dialect-anthropic tool.args 不规范时的兼容性(比如 json 不完整)
  • 优化 solon-ai-dialect-gemini 特定 provider 结束时返回 content 为空的消息才设置finishReason 导致结束标志被提前过滤
  • 优化 solon-ai-agent ReActAgent onThought 事件,优先使用 getReasoning 获取 思考内容
  • 优化 solon-ai-agent ReActAgent SummarizationInterceptor 添加 maxContextLength 控制参数(很重要)
  • 优化 solon-ai-agent ActionChunk 分为 ActionEndChunk 和 ActionStartChunk(并保留 ActionChunk 标为弃用)
  • 优化 solon-ai-agent 流式处理 catch (Exception,换成 catch (Throwable
  • 优化 solon-ai-skill-restapi 每个 api 可以添加独立的验证机制
  • 优化 solon-ai-skill-cli 避免 bash 把当前进程给删掉了
  • 调整 solon-ai-agent 临时挂起操作,由 XxxTrace 转到 AgentSession(更统一)
  • 调整 solon-ai-core Skill 的激活逻辑,如果 getInstruction 为空,则不进入 SystemPrompt(之前还要 description 为空)
  • 修复 solon-ai-agent ReActAgent 思考事件触发逻辑,确保在所有情况下都被调用

3.9.5

  • 新增 mcp-sdk 插件(从 solon-ai-mcp 独立出来)
  • 新增 solon-ai-skill-toolgateway 插件
  • 新增 solon-ai-search-tavily 插件
  • 新增 solon-ai-ui-aisdk 插件
  • 添加 solon-ai-core __sessionId 自动作为工具上下文和提示词属性(用于传递会话id)
  • 添加 solon-ai-core SkillProvider 接口
  • 添加 solon-ai-core AbsTool 类
  • 添加 solon-ai-core AiUsage thinkTokens 字段
  • 添加 solon-ai-core ChatConfig.getReasoningFieldName 自动处理,兼容 deepseek 新的变化
  • 添加 solon-ai-core ChatModel options 配置自动转强类型(llm 不能接收str)
  • 添加 solon-ai-agent ReActInterceptor.onObservation durationMs 参数(时长毫秒数)
  • 添加 solon-ai-agent ReActChunk isNormal(用于识别是否为正常结束)
  • 添加 solon-ai-skill-memory MemSkill 支持会话隔离与共享
  • 优化 solon-ai-mcp 独立出 mcp-sdk 包
  • 优化 solon-ai-dialect-claude 方言适配(及 api.kimi.com/coding 兼容性)
  • 优化 solon-ai-dialect-openai 与 api.minimax.io 的兼容性
  • 优化 solon-ai-agent SummarizationInterceptor
  • 优化 solon-ai-agent ReActSystemPrompt 描述
  • 优化 solon-ai-skill-memory MemSkill 取消 userId 参数,自动从上下文中取
  • 优化 solon-ai-skill-cli
  • 优化 Solon AI Skill 指令层级控制
  • 调整 solon-ai-dialect-claude 更名为 solon-ai-dialect-anthropic(更合适)

3.9.4

  • 新增 solon-ai-skill-lucene 插件
  • 新增 solon-ai-skill-diff 插件
  • 新增 solon-ai-skill-memory 插件
  • 添加 solon-ai-core toolContext 自动转为 Prompt.attrs 的机制(方便 skill 传递)
  • 添加 solon-ai-agent ReActChunk, TeamChunk getTrace 方法
  • 添加 solon-ai-agent __sessionId 作为智能体的必要工具上下文(方便工具的会话数据隔离)
  • 优化 solon-ai-core chatModel 方言的(不规范的)兼容性处理
  • 优化 solon-ai-core buildToolCallBuilder 兼容(有些 llm stream ,会部分全量多次提供)
  • 优化 solon-ai-agent SummarizationInterceptor 增加策略机制并内置4个策略
  • 修复 solon-ai-core ChatModel.stream 过程异常时会破坏流响应的问题
  • 修复 solon-ai-agent ReasonTask.callWithRetry 网络异常时会中断工作流的问题
  • 修复 solon-ai-agent ReActAgent 流式请求时,可能无法记忆结果内容的问题

3.9.3

  • 重构 solon-ai-agent Plan-ReAct 模式(相对之前,新设计智能、态动、按需)
  • 优化 solon-ai-skill-cli CliSkill

3.9.2

  • 新增 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-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-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 的问题

变更说明:

旧名(强调多媒体) 新名(强调多模态内容块)
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.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 是公用元素)

v3.9.1

  • 新增 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 ChatModel role 和 instruction 支持(提供类似 SimpleAgent 效果)
  • 添加 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-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-agent ReActAgent 新话题开始时, ReActTrace 没有重置干净的问题
  • 修复 solon-ai-agent SimpleAgent 没有接入协作协议 prepareAgentPrompt 勾子
  • qdrant 升为 1.16.2

v3.9.0

  • 添加 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 Skill 接口设计,getTools 增加 prompt 参数
  • 优化 solon-ai-agent AgentSession 接口,改为扩展自 ChatSession (只需入口 agent 有历史消息)
  • 优化 solon-ai-agent 部分接口设计

v3.8.4

  • 新增 solon-ai-core Solon AI Skills(技能)体系
  • 新增 solon-ai-search-bocha 插件
  • 添加 solon-ai-core defaultToolsContextPut 方法
  • 添加 solon-ai-core Prompt attrPut, attr 属性相关方法(可以在拦截时控制权限)
  • 添加 solon-ai-core FunctionTool meta 元数据相关方法(可对描述语进行染色)
  • 添加 solon-ai-mcp FunctionPrompt meta 元数据相关方法(可对描述语进行染色)
  • 添加 solon-ai-mcp FunctionResource meta 元数据相关方法(可对描述语进行染色)
  • 添加 solon-ai-agent NoneProtocol(无协议模式)
  • 添加 solon-ai-agent ReActAgent Plan 支持(默认为关闭)。
  • 添加 solon-ai-agent SimpleInterceptor 替代 ChatInterceptor,方便后续扩展
  • 优化 solon-ai-core Gemini 方言适配
  • 优化 solon-ai-core Prompt 接口,方法更丰富
  • 优化 solon-ai-agent A2AProtocol 协议代码
  • 优化 solon-ai-agent SwarmProtocol 协议代码
  • 优化 solon-ai-agent HierarchicalProtocol 协议代码
  • 优化 solon-ai-agent SequentialProtocol 协议代码,添加专属任务(可节省 token)
  • 修复 solon-ai-core ToolSchemaUtil Param 注解别名没有生效的问题
  • 修复 solon-ai-agent ReActAgent 没有拦截器时 ReActAgent 不能传递 toolsContext 的问题
  • 调整 solon-ai-agent Agent 相关接口保持与 ChatModel 一致性

v3.8.3

  • 修复 solon-ai-agent ActionTask 与 mcp 的兼容性(取消 trace 作为工具上下文注入,它不能被mcp 序列化)

v3.8.2

  • 修复 solon-ai-agent SimpleAgent 没有反回干净内容的问题(带了 think)
  • 添加 solon-ai-agent SimpleRequest
  • 添加 solon-ai-agent SimpleAgent.prompt 方法(为三个智能体提供相同体验)

v3.8.1

  • 新增 solon-ai-agent 插件
  • 新增 solon-ai-dialect-gemini 插件
  • 添加 solon-ai-core autoToolCall 聊天模型选项(默认为 true)
  • 添加 solon-ai-core ChatResponse:getResultContent
  • 添加 solon-ai-core AssistantMessage.toBean 方法。
  • 优化 solon-ai-core AssistantMessage.getResultContent 处理
  • 调整 solon-ai-croe ChatSession 不再扩展 Prompt(打断两者关系,后者定位偏固定数据

新增三种模式的智能体:

智能体 模式描述
SimpleAgent 简单模式
ReActAgent 自省模式,思考+行动。
TeamAgent 协作模式,分工+编排。多智能体系统(multi-agent system,MAS)

新特性示例:ReActAgent

public class DemoApp {
  public static void main(String[] args) throws Throwable {
    ChatModel chatModel = LlmUtil.getChatModel();

    SimpleAgent robot = SimpleAgent.of(chatModel)
            .toolAdd(new MethodToolProvider(new TimeTool()))
            .build();

    String answer = robot.prompt("现在几点了?").call().getContent();

    System.out.println("Robot 答复: " + answer);
  }

  public static class TimeTool {
    @ToolMapping(description = "获取当前系统时间")
    public String getTime() {
      return LocalDateTime.now().toString();
    }
  }
}

v3.8.0

重要变化:

  • mcp-java-sdk 升为 v0.17 (支持 2025-06-18 版本协议)
  • 添加 mcp-server McpChannel.STREAMABLE_STATELESS 通道支持(集群友好)
  • 添加 mcp-server 异步支持

具体更新:

  • 添加 solon-ai FunctionPrompt:handleAsync(用于 mcp-server 异步支持)
  • 添加 solon-ai FunctionResource:handleAsync(用于 mcp-server 异步支持)
  • 添加 solon-ai FunctionTool:handleAsync(用于 mcp-server 异步支持)
  • 添加 solon-ai-core ChatMessage:toNdjson,fromNdjson 方法(替代 ChatSession:toNdjson, loadNdjson),新方法机制上更自由
  • 添加 solon-ai-core ToolSchemaUtil.jsonSchema Publisher 泛型支持
  • 添加 solon-ai-core ToolSchemaUtil.isIgnoreOutputSchema Publisher 泛型支持
  • 添加 solon-ai-mcp mcp-java-sdk v0.17 适配(支持 2025-06-18 版本协议)
  • 添加 solon-ai-mcp mcp-server 异步支持
  • 添加 solon-ai-mcp mcp-server streamable_stateless 支持
  • 添加 solon-ai-mcp Tool,Resource,Prompt 对 org.reactivestreams.Publisher 异步返回支持
  • 添加 solon-ai-mcp McpServerHost 服务宿主接口,用于隔离有状态与无状态服务
  • 添加 solon-ai-mcp McpChannel.STREAMABLE_STATELESS (服务端)无状态会话
  • 添加 solon-ai-mcp McpClientProvider:customize 方法(用于扩展 roots, sampling 等)
  • 添加 solon-ai-mcp mcpServer McpAsyncServerExchange 注入支持(用于扩展 roots, sampling 等)
  • 优化 solon-ai-dialect-openai claude 兼容性
  • 优化 solon-ai-mcp mcp StreamableHttp 模式下 服务端正常返回时 客户端异常日志打印的情况
  • 调整 solon-ai-mcp getResourceTemplates、getResources 不再共享注册
  • 调整 solon-ai-mcp McpServerManager 内部接口更名为 McpPrimitivesRegistry (MCP 原语注册器)
  • 调整 solon-ai-mcp McpClientProvider 默认不启用心跳机制(随着 mcp-sdk 的成熟,server 都有心跳机制了)
  • mcp ToolCapabilities 添加 @JsonIgnoreProperties(ignoreUnknown = true)

新特性展示:1.MCP 无状态会话(STREAMABLE_STATELESS)和 2.CompletableFuture 异步MCP工具

@McpServerEndpoint(channel = McpChannel.STREAMABLE_STATELESS, mcpEndpoint = "/mcp1")
public class McpServerTool {
    @ToolMapping(description = "查询天气预报", returnDirect = true)
    public CompletableFuture<String> getWeather(@Param(description = "城市位置") String location) {
        return CompletableFuture.completedFuture("晴,14度");
    }
}

传输方式对应表:(服务端与客户端,须使用对应的传输方式才可通讯)

服务端 客户端 备注
STDIO STDIO
SSE SSE
STREAMABLE STREAMABLE
STREAMABLE_STATELESS STREAMABLE 对 server 集群很友好
  • STREAMABLE_STATELESS 集群,不需要 ip_hash,但“原语”变化后无法通知 client

v3.7.4

  • 添加 solon-ai-core ChatMessage:toNdjson,fromNdjson 方法(替代 ChatSession:toNdjson, loadNdjson),新方法机制上更自由
  • 优化 solon-ai-mcp mcp StreamableHttp 模式下 服务端正常返回时 客户端异常日志打印的情况

v3.7.3

  • 优化 solon-ai-core ToolSchemaUtil 扩展能力,支持注解处理定制(方便第三方集成)
  • 优化 solon-ai-mcp MCP 客户端与服务端异常链接状态 立即返回

v3.7.2

  • 引入 snack4-jsonschema 优化 ToolSchemaUtil
  • 添加 solon-ai-core AiMedia:metas 方法
  • 添加 solon-ai-core GenerateModel defaultOptions 配置支持
  • 添加 solon-ai-core ToolSchemaUtil:buildInputParams 方法,支持 @Body 注解
  • 添加 solon-ai-flow GenerateModelCom 组件
  • 修复 solon-ai bean 有其它框架代理后,不能识别注解的问题
  • 修复 solon-ai ToolSchemaUtil 部分泛型识别失败的问题
  • 修复 solon-ai-flow ChatModelCom 加载 chatConfig 配置会出错的问题
  • 修复 solon-ai-mcp/mcp-sdk listTools 的 nextCursor 为空时,不能正常获取问题

v3.7.0

  • 优化 solon-ai-core ToolSchemaUtil:paramOf 方法,增加泛型支持
  • 优化 solon-ai-core ToolSchemaUtil:outputSchema 泛型处理
  • 修复 solon-ai parseToolCall 接收 stream 中间消息时可能会异常(添加 hasNestedJsonBlock 检测)
  • 修复 solon-ai-mcp 可能出现 Unknown media type 错误(取消 request.contentType 空设置)
  • jedis 升为 7.0.0 (通过 redisx)

3.6.5

  • 修复 solon-ai-mcp/mcp-sdk listTools 的 nextCursor 为空时,不能正常获取问题

3.6.4

  • 修复 solon-ai parseToolCall 接收 stream 中间消息时可能会异常(添加 hasNestedJsonBlock 检测)

3.6.3

  • 修复 solon-ai-mcp 可能出现 Unknown media type 错误(取消 request.contentType 空设置)
  • 优化 solon-ai-mcp 取消 request.contentType("") 设置

3.6.1

  • 修复 solon-ai-core chatModel:stream 长流输出可能出错的问题

3.6.0

  • 优化 solon-ai-core XxxMessageTemplate 使用 SnEL 替代 TmplUtil

3.5.9

  • 修复 solon-ai-mcp/mcp-sdk listTools 的 nextCursor 为空时,不能正常获取问题

3.5.8

  • 修复 solon-ai parseToolCall 接收 stream 中间消息时可能会异常(添加 hasNestedJsonBlock 检测)

3.5.7

  • 修复 solon-ai-mcp 可能出现 Unknown media type 错误(取消 request.contentType 空设置)
  • 优化 solon-ai-mcp 取消 request.contentType("") 设置

3.5.6

  • 修复 solon-ai-core chatModel:stream 长流输出可能出错的问题
  • mcp 移除 WebRxSseClientTransport:sendMessage 的 accept 声明(是在 3.5.5 时加的,此处没必要)

3.5.5

  • 添加 McpClientProvider:httpFactory 默认为 jdkhttp(okhttp 有些平台不兼容),不再随 HttpUtils 的全局走
  • 添加 solon-ai-mcp McpClientProvider:httpFactory 默认为 jdkhttp(okhttp 有些平台不兼容),不再随 HttpUtils 的全局走

3.5.3

  • 优化 solon-ai-core chatModel.stream 与背压处理的兼容性
  • 调整 solon-ai-map getPrompt,readResource,callTool 取消自动异常转换(侧重原始返回)
  • 调整 solon-ai-map callTool 错误结果传递,自动添加 'Error:' (方便 llm 识别)
  • 修复 solon-ai-mcp callTool isError=true 时,不能正常与 llm 交互的问题
  • 修复 solon-ai-mcp ToolAnnotations:returnDirect 为 null 时的传递兼容性

3.5.2

  • 添加 solon-ai-core ToolSchemaUtil 简化方法
  • 添加 solon-ai-mcp McpClientProperties:timeout 属性,方便简化超时配置(可省略 httpTimeout, requestTimeout, initializationTimeout)
  • 添加 solon-ai-mcp McpClientProvider:toolsChangeConsumer,resourcesChangeConsumer,resourcesUpdateConsumer,promptsChangeConsumer 配置支持
  • 添加 solon-ai-mcp McpClientProvider 缓存锁和变更刷新控制
  • 添加 solon-ai-mcp IMcpServerEndpoint 接口(方便可批量获取组件)
  • 优化 solon-ai-core RepositoryStorable 接口定义,用 save 替代 insert(标为弃用)
  • 调整 solon-ai-core FunctionToolDesc:doHandle 改用 ToolHandler 参数类型(之前为 Function),方便传递异常

3.5.1

  • 新增 solon-ai-a2a 插件
  • 新增 solon-ai-core GenerateModel 接口,替代 ImageModel
  • 新增 solon-ai-core ChatModel 增加多媒体内容输出(增强感知型模型的兼容,比如输出图片或视频)
  • 新增 solon-ai-core ImageModel 增加结构体提示语输入(比如图片编辑模型)
  • 添加 solon-ai-core AbstractChatDialect 对多媒体内容输出的支持
  • 添加 solon-ai-core AssistantMessage:contentRaw 原生内容(可能是 String、Map、List、null)
  • 添加 solon-ai-dialect-dashscope 通过接口地址识别方言
  • 添加 solon-ai-mcp McpServerEndpointProvider:Builder 添加 context-path 配置
  • 优化 solon-ai-mcp McpClientProvider 配置向 McpServers json 格式上靠
  • 修复 solon-ai-core think-> tool -> think 时,工具调用的内容无法加入到对话的问题
  • 修复 solon-ai-mcp 服务端传输层的会话长连会超时的问题
  • 修复 solon-ai-mcp 客户端提供者心跳失效的问题
  • 修复 solon-ai-mcp SSE 传输时 message 端点未附加 context-path 的问题
  • mcp McpSchema:*Capabilities 添加 @JsonIgnoreProperties(ignoreUnknown = true) 增强跨协议版本兼容性

3.5.0

  • 新增 solon-ai-mcp mcp-java-sdk v0.11.0 适配(支持 2025-03-26 版本协议)
  • 调整 solon-ai-mcp channel 取消默认值(之前为 sse),且为必填(利于协议升级过度,有明确的开发时、启动时提醒)
    • 如果默认值仍为 sse ,升级后可能忘了修改了升级
    • 如果默认值改为 streamable,升级后会造成不兼容

3.4.5

  • 优化 solon-ai-core chatModel.stream 与背压处理的兼容性
  • 调整 solon-ai-map getPrompt,readResource,callTool 取消自动异常转换(侧重原始返回)
  • 调整 solon-ai-map callTool 错误结果传递,自动添加 'Error:' (方便 llm 识别)
  • 修复 solon-ai-mcp callTool isError=true 时,不能正常与 llm 交互的问题

3.4.4

  • 添加 solon-ai-dialect-dashscope 通过接口地址识别方言
  • 添加 solon-ai-mcp McpClientProperties:toolsChangeConsumer,resourcesChangeConsumer,resourcesUpdateConsumer,promptsChangeConsumer 配置支持
  • 添加 solon-ai-mcp McpClientProvider 缓存锁和变更刷新控制
  • 修复 solon-ai-core think-> tool -> think 时,工具调用的内容无法加入到对话的问题
  • mcp XxxCapabilities 添加 ignoreUnknown=true 增强旧协议兼容

3.4.3

  • 新增 solon-ai-repo-mysql 插件
  • 添加 solon-ai-core InMemoryChatSession(语义清晰) 替代 ChatSessionDefault(标为弃用)
  • 优化 solon-ai-core ChatRequestDescDefault http 异常转换描述
  • 优化 solon-ai-core 方言的 tool_calls 消息的构建(更好的兼容 vllm)
  • 优化 solon-ai-mcp JsonSchema.additionalProperties 兼容性(兼容 bool, map)
  • 优化 solon-ai-mcp McpClientProvider 改为 McpAsyncClient(为异步需求提供支持)
  • 优化 solon-ai-mcp 初始化控制(禁用 connectOnInit),增加连接打印

3.4.1

  • 新增 solon-ai-repo-pgvector 插件
  • 新增 solon-ai-search-baidu 插件
  • 添加 solon-ai-core TextLoader(byte[])(SupplierEx<InputStream>) 构造方法
  • 添加 solon-ai-core ChatConfig:defaultToolsContext(默认工具上下文), defaultOptions(默认选项) 属性
  • 添加 solon-ai-core RepositoryStorable:insert(list,progressCallback)asyncInsert(list,progressCallback) 方法,支持进度获取
  • 添加 solon-ai-mcp 客户端 ssl 定制支持
  • 优化 solon-ai 方言 think 思考内容和字段的兼容性处理
  • 优化 solon-ai 方言处理与 modelscope(魔搭社区)的兼容性
  • 优化 solon-ai 方言处理与 siliconflow(硅基流动)的兼容性
  • 优化 solon-ai 方言处理的流式节点识别兼容性
  • 优化 solon-ai 用户消息的请求构建(当内容为空时,不添加 text)
  • 优化 solon-ai-mcp McpClientProvider 心跳间隔控制(5s 以下忽略)
  • 优化 solon-ai-mcp McpServerContext 增加 stdio 代理支持(环境变量自动转为 ctx:header)
  • mcp WebRxSseClientTransport 添加 debug 日志打印

3.4.0

  • 新增 solon-ai-repo-opensearch 插件
  • 添加 solon-ai Options:toolsContext 方法
  • 调整 solon-ai-core ToolCallResultJsonConverter 更名为 ToolCallResultConverterDefault 并添加序列化插件支持
  • 调整 solon-ai-mcp PromptMapping,ResourceMapping 取消 resultConverter 属性(没必要)
  • 修复 solon-ai-core ChatModel:stream:doOnNext 可能无法获取 isFinished=true 情况

3.3.3

  • 优化 solon-ai-core ToolSchemaUtil 对 Map 的处理(有些框架,太细不支持)
  • 优化 solon-ai-core ToolSchemaUtil 对 Collection 的处理(有些框架,太细不支持)
  • 优化 solon-ai-mcp MethodPromptProvider,MethodResourceProvider 改用 clz 构建(兼容外部代理情况)
  • 优化 solon-ai-core MethodToolProvider 改用 clz 构建(兼容外部代理情况)
  • 添加 solon-ai-core RepositoryStorable:insert(Doc...) 方法
  • 添加 solon-ai-mcp McpServerEndpoint:enableOutputSchema 支持(默认为 false)
  • 调整 solon-ai-core ToolCallResultConverter 接口定义(增加返回类型参数)
  • 调整 solon-ai-core 移除 QueryCondition:doFilter 方法(避免误解)
  • 调整 solon-ai-mcp tool,resource 结果默认处理改为 ToolCallResultJsonConverter
  • 调整 solon-ai-repo-elasticsearch 搜索类型,默认改为相似搜索(之前为精准,需要脚本权限)
  • mcp 优化 WebRxSseClientTransport 连接等待处理(异常时立即结束)
  • elasticsearch-rest-high-level-client 升为 7.17.28
  • milvus-sdk-java 升为 2.5.10
  • vectordatabase-sdk-java 升为 2.4.5

3.3.2

  • 优化 solon-ai-flow 插件
  • 添加 solon-ai-core ChatInterceptor 聊天拦截机制
  • 添加 solon-ai-core ChatMessage:ofUserAugment 替代 augment(后者标为弃用)
  • 添加 solon-ai-core ProxyDesc 的 Serializable 接口实现
  • 添加 solon-ai-core ChatOptions:response_format 方法
  • 添加 solon-ai-core AssistantMessage:getSearchResultsRaw 方法
  • 添加 solon-ai-mcp McpServerEndpointProvider:getMessageEndpoint 方法
  • 添加 solon-ai-mcp McpServerParameters http 参数支持
  • 添加 solon-ai-mcp McpClientProvider 本地缓存支持(默认 30秒)
  • 添加 solon-ai-mcp 原语处理异常日志
  • 优化 solon-ai-core ChatConfig.toString (增加 proxy)
  • 优化 solon-ai-core Tool:outputSchema 改为必出
  • 优化 solon-ai-core 添加 ToolCallException 异常类型,用于 tool call 异常传递(之前为 ChatException)
  • 优化 solon-ai OpenaiChatDialect 方言,tool 消息也附带所有的 tools 元信息(之前被过滤了)
  • 优化 solon-ai-mcp McpServerContext 同步连接时的请求参数,方便在 Tool 方法里获取
  • 优化 solon-ai-mcp McpProviders 在 sse 时,支持 env 也作为 header 处理(有些服务方的配置,是用 env 的)
  • 优化 solon-ai-mcp 取消 RefererFunctionTool(由 FunctionToolDesc 替代)
  • 优化 solon-ai-mcp 基于 McpServerParameters 的构建能力
  • 修复 solon-ai-flow ChatModel 没有加载 mcpServers 配置的问题
  • mcp 适配优化 WebRxSseClientTransport 关闭时同时取消 sse 订阅(避免线程占用)

3.3.1

  • 新增 solon-ai-flow 插件
  • 新增 solon-ai-load-ddl 插件
  • 添加 solon-ai-core ChatMessage:ofUser(media) 方法
  • 添加 solon-ai-core ChatSession:addMessage(Prompt) 方法
  • 添加 solon-ai-core ChatSession:addMessage(Collection) 方法
  • 添加 solon-ai-core RerankingConfig,RerankingModel toString 方法
  • 添加 solon-ai-core 模型的网络代理支持(支持简单配置,和复杂构建)
  • 添加 solon-ai-mcp 客户端的网络代理简单配置支持
  • 添加 solon-ai-mcp messageEndpoint 端点配置支持(应对特殊需求,一般自动更好)
  • 添加 solon-ai-mcp ToolMapping,ResourceMapping 注解方法对 Produces 注解的支持(用它可指定结果转换处理)
  • 添加 solon-ai-mcp ToolCallResultConverter:matched 方法
  • 添加 solon-ai-mcp 资源模板的响应适配
  • 添加 solon-ai-mcp McpClientProvider:getResourceTemplates 方法
  • 添加 solon-ai-mcp 检查原语是否存在的方法(hasTool, hasPrompt, hasResource)
  • 添加 solon-ai-mcp 提示语支持 UserMessage 拆解成多条 mcp 内容(如果,同时有媒体和文本的话)
  • 优化 solon-ai-core tool 空参数时的不同大模型兼容性
  • 优化 solon-ai-core ChatSession 的作用,为限数提供支持
  • 优化 solon-ai-core MethodFunctionTool 移除对 Mapping 注解的支持(语意更清楚,之前 MethodToolProvider 已经移除,这个落了)
  • 优化 solon-ai-core EmbeddingRequest,ImageRequest,RerankingRequest 当 resp.getError() 非 null 时,直接出抛异常
  • 优化 solon-ai-mcp 取消 MethodFunctionResource 对反回类型的限制(增加了 resultConverter 转换处理)
  • 优化 solon-ai-mcp McpServerEndpointProvider 支持零添加原语,postStart 后,可添加原语
  • 修复 solon-ai ChatRequestDefault:stream 请求 r1 时,可能会产生两次 tink 消息发射

3.3.0

  • 新增 solon-ai-repo-dashvector 插件
  • 插件 solon-ai 三次预览
  • 插件 solon-ai-mcp 二次预览
  • 调整 solon-ai 移除 ToolParam 注解,改用 Param 注解(通用参数注解)
  • 调整 solon-ai ToolMapping 注解移到 org.noear.solon.ai.annotation
  • 调整 solon-ai FunctionToolDesc:param 改为 paramAdd 风格
  • 调整 solon-ai MethodToolProvider 取消对 Mapping 注解的支持(利于跨生态体验的统一性)
  • 调整 solon-ai 拆分为 solon-ai-core 和 solon-ai-model-dialects(方便适配与扩展)
  • 调整 solon-ai 模型方言改为插件扩展方式
  • 调整 solon-ai-mcp McpClientToolProvider 更名为 McpClientProvider(实现的接口变多了)
  • 优化 solon-ai 允许 MethodFunctionTool,MethodFunctionPrompt,MethodFunctionResource 没有 solon 上下文的用况
  • 优化 solon-ai-core model.options(o->{}) 可多次调用
  • 优化 solon-ai-mcp McpClientProvider 同时实现 ResourceProvider, PromptProvider 接口
  • 优化 solon-ai-repo-redis metadataIndexFields 更名为 metadataFields (原名标为弃用)
  • 添加 solon-ai-core ChatSubscriberProxy 用于控制外部订阅者,只触发一次 onSubscribe
  • 添加 solon-ai-mcp McpClientProperties:httpProxy 配置
  • 添加 solon-ai-mcp McpClientToolProvider isStarted 状态位(把心跳开始,转为第一次调用这后)
  • 添加 solon-ai-mcp McpClientToolProvider:readResourceAsText,readResource,getPromptAsMessages,getPrompt 方法
  • 添加 solon-ai-mcp McpServerEndpointProvider:getVersion,getChannel,getSseEndpoint,getTools,getServer 方法
  • 添加 solon-ai-mcp McpServerEndpointProvider:addResource,addPrompt 方法
  • 添加 solon-ai-mcp McpServerEndpointProvider:Builder:channel 方法
  • 添加 solon-ai-mcp ResourceMapping 和 PromptMapping 注解(支持资源与提示语服务)
  • 添加 solon-ai-mcp McpServerEndpoint AOP 支持(可支持 solono auth 注解鉴权)
  • 添加 solon-ai-mcp McpServerEndpoint 实体参数支持(可支持 solon web 的实体参数、注解相通)
  • 添加 solon-ai-mpc Tool.returnDirect 属性透传(前后端都有 solon-ai 时有效,目前还不是规范)

3.2.1

  • 添加 solon-ai ChatRequestDefault http 状态异常处理
  • 添加 solon-ai ToolCallResultConverter 接口(工具调用结果转换器)
  • 添加 solon-ai ToolCall 添加 Mapping 和 Param 注解(支持与 web api 打通)
  • 添加 solon-ai Tool.returnDirect 属性,用于直接返回给调用者(mcp 目前无法传导此属性,只能地本地用)
  • 添加 solon-ai-mcp McpChannel 通道(stdio, sse),实现不通道的支持
  • 添加 solon-ai-mcp stdio 通道交换流支持
  • 添加 solon-ai-mcp McpClientToolProvider 断线重连机制
  • 添加 solon-ai-mcp McpClientProperties:fromMcpServers 方法
  • 调整 solon-ai-mcp McpClientToolProvider.Builder:header 更名为 headerSet。保持与 ChatModel:Builder 相同风格
  • 调整 solon-ai ToolCallResultConverter 申明不再扩展自 Converter,避免冲突
  • 修复 solon-ai-mcp McpClientToolProvider 会丢失 queryString 的问题
  • 修复 solon-ai-load-word WordLoader 流使用错误问题
  • 修复 solon-ai ollama 方言,在多工具调用时产生 index 混乱的问题

3.2.0

  • 新增 solon-ai-mcp
  • 调整 函数(Function)相关的概念改为工具概念(Tool)。调整后适合 mcp 的相关概念

v3.1.2

  • 新增 solon-ai-repo-chroma 插件
  • 优化 solon-ai-repo-tcvectordb 插件相似度处理
  • 优化 solon-ai-repo-elasticsearch 插件相似度处理

v3.1.1

  • 新增 solon-ai-load-ppt 插件,添加对 ppt, pptx 文档的解析
  • 新增 solon-ai-load-word 插件,添加对 doc, docx 文档的解析
  • 新增 solon-ai-repo-qdrant 插件
  • 新增 solon-ai-repo-tcvectordb 插件
  • 新增solon-ai-repo-elasticsearch 插件
  • 添加 solon-ai ChatResponse:getAggregationMessage(), isStream() 方法
  • 添加 solon-ai ChatSession 自动登记处理
  • 调整 solon-ai ChatDialect:parseResponseJson 定义
  • 修复 solon-ai 在流式调用时 function call 出错的问题