当前位置: 首页 > news >正文

Solon AI v3.13 发布(智能体开发框架,支持 Java8 到 Java26)

Solon AI

Solon AI 是一款面向 Java 开发者 的全栈智能体(Agent)应用开发框架。它秉承 Solon 家族一贯的“克制、高效、开放”理念,向上抽象统一接口屏蔽模型差异,向下深度集成向量库、MCP 协议与复杂流控制。

核心理念:

  • 一份代码,跨模型运行;极致轻量,从 Java 8 纵跳至 Java 26。

核心架构图谱:

维度核心能力支持生态
接入层统一 Chat / Generate / Embedding 模型接口OpenAI, Claude, Gemini, DeepSeek, QWen, Ollama, 豆包等…
感知层全链路 RAG、多格式文档加载、多向量库适配Chroma, Milvus, ES, Redis, Qdrant…
执行层MCP 协议、ACP协议、Function Call、Skills 技能包实时天气、数据库操作、本地 CLI、自定义 Skill
大脑层ReAct 自省推理、多智能体(Team)协作、AI-Flow自动任务拆解、层级式协作、YAML 工作流

能用来开发什么应用?

  • 通用自主智能体应用(比如:Manus、OpenOperator、Claude Code、OpenClaw)
  • 智能助理与 RAG 知识库应用(比如:Dify、Coze)
  • 多 Agent 协作的任务编排应用(比如:AutoGPT、MetaGPT)
  • 业务驱动的受控流程审批应用(比如:智能版钉钉审批流、SAP 智能模块)
  • 结构化数据处理与 ETL 应用(比如:Instabase、Unstructured.io)
  • 实时数据智能看板应用(比如:Text-to-SQL 类应用)
  • 自动化测试与质量保障应用(比如:GitHub Copilot Workspace)
  • 低代码/可视化 AI 工作流平台(比如:LangFlow、Flowise)
  • 等等…

智能体综合示例项目(可直接用于生产或定制)

SolonCode(基于 Java8 实现的 “Claude Code” 或 “OpenCode”):

  • https://gitee.com/opensolon/soloncode
  • https://gitcode.com/opensolon/soloncode
  • https://github.com/opensolon/soloncode

SolonClaw(基于 Java8 实现的 “OpenClaw” 或 “Moltbot”):

  • https://gitee.com/opensolon/solonclaw
  • https://gitcode.com/opensolon/solonclaw
  • https://github.com/opensolon/solonclaw

最近更新

  • 新增 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 调度失败)

核心模块体验

  • ChatModel(通用大语言模型 LLM 调用接口)

支持同步、流式(Reactive)调用,内置方言适配,工具(Tool),技能(Skill),会话记忆(ChatSession)等能力。

ChatModelchatModel=ChatModel.of("http://127.0.0.1:11434/api/chat").provider("ollama")//需要指定供应商,用于识别接口风格(也称为方言).model("qwen2.5:1.5b").defaultSkillAdd(newToolGatewaySkill()).build();//同步调用,并打印响应消息AssistantMessageresult=ChatchatModel.prompt("今天杭州的天气情况?").options(op->op.toolAdd(newWeatherTools()))//添加工具.call().getMessage();System.out.println(result);//响应式调用chatModel.prompt("hello").stream();//Publisher<ChatResponse>
  • Skills(Solon AI Skills 技能)
Skillskill=newSkillDesc("order_expert").description("订单助手")// 动态准入:只有提到“订单”时才激活.isSupported(prompt->prompt.getUserMessageContent().contains("订单"))// 动态指令:根据用户是否是 VIP 注入不同 SOP.instruction(prompt->{if("VIP".equals(prompt.getMeta("user_level"))){return"这是尊贵的 VIP 客户,请优先调用 fast_track_tool。";}return"按常规流程处理订单查询。";}).toolAdd(newOrderTools());chatModel.prompt("我昨天的订单到哪了?").options(o->o.skillAdd(skill)).call();
  • RAG(知识库)

提供从加载(DocumentLoader)、切分(DocumentSplitter)、向量化(EmbeddingModel)到检索重排(RerankingModel)的全链路支持。

//构建知识库EmbeddingModelembeddingModel=EmbeddingModel.of(apiUrl).apiKey(apiKey).provider(provider).model(model).batchSize(10).build();RerankingModelrerankingModel=RerankingModel.of(apiUrl).apiKey(apiKey).provider(provider).model(model).build();InMemoryRepositoryrepository=newInMemoryRepository(TestUtils.getEmbeddingModel());//3.初始化知识库repository.insert(newPdfLoader(pdfUri).load());//检索List<Document>docs=repository.search(query);//如果有需要,可以重排一下docs=rerankingModel.rerank(query,docs);//提示语增强是ChatMessagemessage=ChatMessage.ofUserAugment(query,docs);//调用大模型chatModel.prompt(message).call();
  • MCP (Model Context Protocol)

深度集成 MCP 协议(MCP_2025_06_18),支持跨平台的工具、资源与提示语共享。

//服务端@McpServerEndpoint(channel=McpChannel.STREAMABLE,mcpEndpoint="/mcp")publicclassMyMcpServer{@ToolMapping(description="查询天气")publicStringgetWeather(@Param(description="城市")Stringlocation){return"晴,25度";}}//客户端McpClientProviderclientProvider=McpClientProvider.builder().channel(McpChannel.STREAMABLE).url("http://localhost:8080/mcp").build();
  • Agent (基于计算流图的智能体体验)

Solon AI Agent 将推理逻辑转化为图驱动的协作流,支持 ReAct 自省推理和多智能体 Team 协作。

//自省智能体:ReActAgentagent=ReActAgent.of(chatModel)// 或者用 SimpleAgent.of(chatModel).name("weather_expert").description("查询天气并提供建议").defaultToolAdd(weatherTool)// 注入 MCP 或本地工具.build();agent.prompt("今天北京适合穿什么?").call();// 自动完成:思考 -> 调用工具 -> 观察 -> 总结// 组建团队智能体:通过协议(Protocol)自动编排成员角色TeamAgentteam=TeamAgent.of(chatModel).name("marketing_team").protocol(TeamProtocols.HIERARCHICAL)// 层级式协作(6种预置协议).agentAdd(copywriterAgent)// 文案专家.agentAdd(illustratorAgent)// 视觉专家.build();team.prompt("策划一个深海矿泉水的推广方案").call();// Supervisor 自动拆解任务并分发给对应专家 .defaultToolAdd(weatherTool) // 注入 MCP 或本地工具
  • Agent Harness

Solon AI Harness 是一个高性能的智能体“马具(Harness)”框架。作为底层核心,它已在 SolonCode CLI 项目中经过了三个月的深度打磨与实战验证。

HarnessPropertiesharnessProps=newHarnessProperties(".tmp/");harnessProps.addTools(ToolPermission.TOOL_PI);//设定工具权限harnessProps.addModel(null);//设定大模型配置ChatModelchatModel=ChatModel.of(harnessProps.getChatModel()).build();AgentSessionProvidersessionProvider=newAgentSessionProvider(){privateMap<String,AgentSession>sessionMap=newConcurrentHashMap<>();@OverridepublicAgentSessiongetSession(StringinstanceId){returnsessionMap.computeIfAbsent(instanceId,k->InMemoryAgentSession.of(k));}};HarnessEngineengine=HarnessEngine.builder().properties(harnessProps).chatModel(chatModel).sessionProvider(sessionProvider).build();AgentSessionsession=engine.getSession(HarnessEngine.SESSION_DEFAULT);//--- 用主代理模式engine.getMainAgent().prompt(prompt).session(session)//没有,则为临时会话.options(o->{//按需,动态指定工作区(没有,则为默认工作区)o.toolContextPut(HarnessEngine.ATTR_CWD,"xxx");}).call();
  • Ai Flow(流程编排体验)

模拟 Dify 的低代码流式应用,将 RAG、提示词增强、模型调用等环节 YAML 化编排。

id:demo1layout:-type:"start"-task:"@VarInput"meta:message:"Solon 是谁开发的?"-task:"@EmbeddingModel"meta:embeddingConfig:# "@type": "org.noear.solon.ai.embedding.EmbeddingConfig"provider:"ollama"model:"bge-m3"apiUrl:"http://127.0.0.1:11434/api/embed"-task:"@InMemoryRepository"meta:documentSources:-"https://solon.noear.org/article/about?format=md"splitPipeline:-"org.noear.solon.ai.rag.splitter.RegexTextSplitter"-"org.noear.solon.ai.rag.splitter.TokenSizeTextSplitter"-task:"@ChatModel"meta:systemPrompt:"你是个知识库"stream:falsechatConfig:# "@type": "org.noear.solon.ai.chat.ChatConfig"provider:"ollama"model:"qwen2.5:1.5b"apiUrl:"http://127.0.0.1:11434/api/chat"-task:"@ConsoleOutput"# FlowEngine flowEngine = FlowEngine.newInstance();# ...# flowEngine.eval("demo1");

项目仓库地址?

  • gitee:https://gitee.com/opensolon/solon-ai
  • gitcode: https://gitcode.com/opensolon/solon-ai
  • github:https://github.com/opensolon/solon-ai

官网?

  • https://solon.noear.org/article/learn-solon-ai
http://www.jsqmd.com/news/658409/

相关文章:

  • 如何用AI视频分析工具快速理解视频内容:完整指南
  • 【电子通识】是电子世界的“硬通货”——嵌入式工程师必懂的优先数系
  • 利用AI优化java系统入门和注意点
  • OpenClaw 技能太多不知道装哪个?按这份清单从上往下装就行
  • 如何设计一个支持“全文检索”的应用程序?
  • 使用Java代码,httpclient调用彩云天气接口-token版本
  • LangGraph 循环节点避坑:5个导致死循环的错误与终止条件设计
  • 超万张高清药片图像数据集助力智能医疗检测与识别算法研发
  • 基于STM32LXXX的模数转换芯片ADC(ADS1100A0IDBVR)驱动C程序设计
  • YAML配置介绍
  • OpenWRT插件编译避坑指南:如何将任意第三方插件集成到GitHub Actions工作流
  • Chapter 11: Physical Layer - Logical (Gen1 and Gen2)
  • PADS Layout在Pcb设计前的实用设置
  • Stardock Fences(桌面管理工具) 6.02
  • ceph子集群和rados
  • 基于STM32LXXX的模数转换芯片ADC(SGM58031XMS10G/TR)驱动C程序设计
  • 技术书籍推荐
  • Java 常见 Map 对比总结:HashMap、LinkedHashMap、TreeMap、ConcurrentHashMap
  • 负载箱与电网质量的相互影响:用户应知的技术事实与应对策略
  • 深入RT-Thread BSP引擎:从Kconfig选项到SCons脚本,彻底搞懂STM32工程构建的里子
  • 图片去水印 API 哪个好?5种方案实测对比(附避坑指南 + 免费在线体验)
  • 杀疯了!Claude Opus 4.7 突袭发布,多项能力登顶第一
  • 保姆级教程:用Scikit-learn的train_test_split和cross_val_score搞定数据集划分与交叉验证
  • Cadence 17.2 allegro如何导出封装库-library
  • 跨越桌面与移动的边界:Windows 10如何无缝融合Android应用生态?
  • ODI备案代办
  • 为什么Google Brain团队在SITS2026圆桌突然终止演示?背后是智能代码生成的“第三道红线”:训练数据版权溯源不可绕行(附法律+技术双轨应对方案)
  • 虚拟化赛道大洗牌,Infortrend存储带Proxmox VE-凭硬核实力成为企业替代方案首选
  • 告别字典盲打:用BurpSuite Intruder对DVWA密码爆破进行结果智能分析与过滤实战
  • 2026供应商审核重点:5大维度+AI工具应用指南