[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-agents-flex--agents-flex":3,"tool-agents-flex--agents-flex":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":67,"owner_name":67,"owner_avatar_url":76,"owner_bio":77,"owner_company":78,"owner_location":78,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":23,"env_os":91,"env_gpu":92,"env_ram":92,"env_deps":93,"category_tags":100,"github_topics":101,"view_count":23,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":112,"updated_at":113,"faqs":114,"releases":155},2524,"agents-flex\u002Fagents-flex","agents-flex","Agents-flex is A Lightweight Java AI Application Development Framework.","Agents-flex 是一款专为 Java 开发者打造的轻量级 AI 应用开发框架，旨在帮助企业和工程师快速构建生产级别的大语言模型（LLM）应用。它解决了传统 Java 项目在集成 AI 能力时面临的依赖繁重、配置复杂以及缺乏标准化工程支持等痛点，通过“零侵入”的设计和灵活的模块化架构，让 AI 功能的接入变得像使用普通 Java 库一样简单自然。\n\n这款工具特别适合熟悉 Java 技术栈的后端工程师、系统架构师以及希望将 AI 能力融入现有企业级系统的开发团队。无论是需要快速验证想法的初创项目，还是对稳定性要求极高的大型生产环境，Agents-flex 都能提供可靠的支持。普通用户或非技术人员可能不直接与其代码交互，但能间接受益于由其驱动的智能客服、数据分析助手等应用。\n\n在技术亮点方面，Agents-flex 不仅兼容 OpenAI、Ollama 等主流大模型提供商，支持同步、流式及异步等多种调用方式，还紧跟前沿技术趋势，原生支持 MCP（模型上下文协议），实现了与外部数据源和工具的标准化连接。其独特的“AI Skills”机制允许将业务能力封装为可复用的单元，极大提升了开发效","Agents-flex 是一款专为 Java 开发者打造的轻量级 AI 应用开发框架，旨在帮助企业和工程师快速构建生产级别的大语言模型（LLM）应用。它解决了传统 Java 项目在集成 AI 能力时面临的依赖繁重、配置复杂以及缺乏标准化工程支持等痛点，通过“零侵入”的设计和灵活的模块化架构，让 AI 功能的接入变得像使用普通 Java 库一样简单自然。\n\n这款工具特别适合熟悉 Java 技术栈的后端工程师、系统架构师以及希望将 AI 能力融入现有企业级系统的开发团队。无论是需要快速验证想法的初创项目，还是对稳定性要求极高的大型生产环境，Agents-flex 都能提供可靠的支持。普通用户或非技术人员可能不直接与其代码交互，但能间接受益于由其驱动的智能客服、数据分析助手等应用。\n\n在技术亮点方面，Agents-flex 不仅兼容 OpenAI、Ollama 等主流大模型提供商，支持同步、流式及异步等多种调用方式，还紧跟前沿技术趋势，原生支持 MCP（模型上下文协议），实现了与外部数据源和工具的标准化连接。其独特的“AI Skills”机制允许将业务能力封装为可复用的单元，极大提升了开发效率。此外，内置的 Text2SQL 功能让自然语言查询数据库变得轻而易举，配合完善的可观测性集成（如 OpenTelemetry）和企业级安全特性（如敏感数据脱敏），确保了应用在实际运行中的透明性与安全性。总体而言，Agents-flex 以优雅的设计理念和实用的工程化能力，降低了 Java 生态下 AI 应用的开发门槛。","\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fagents-flex_agents-flex_readme_1d7e5a9db542.png\"\u002F>\n\u003C\u002Fp>\n\n\n\u003Cp align=\"center\">\n    \u003Cstrong>An Elegant Java Framework for LLM Application Development | Truly Open Source · Easy Integration · Production Ready\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\n## 🚀 Core Features\n\nAgents-Flex is designed for Java engineers and architects, delivering a **lightweight, modular, and extensible** AI agent development experience to help enterprises rapidly build production-grade LLM applications.\n\n### ✨ New Core Capabilities (v2.0+)\n\n| Feature | Description | Use Cases |\n|---------|-------------|-----------|\n| **MCP Support** | Native integration with Model Context Protocol for standardized connection to external data sources and tools | Cross-system context sharing, tool orchestration |\n| **AI Skills** | Encapsulate business capabilities into reusable, composable Skill units | Rapid domain Agent construction, skill marketplace |\n| **Text2SQL \u002F Smart Data Query** | Built-in Text2SQL and natural language data analysis capabilities | Zero-code querying for business users, data insights |\n\n### 🔧 Core Capabilities Matrix\n\n```\n🧠 Model Integration    🔌 Tool Invocation        📚 Knowledge Enhancement\n├─ Mainstream LLMs      ├─ Function Calling        ├─ Multi-format Document Loading\n├─ Ollama Local Deploy  ├─ MCP Tool Protocol       ├─ Intelligent Text Splitting\n├─ HTTP\u002FSSE\u002FWS Protocols├─ Local Method Reflection ├─ Vector Store Integration\n├─ Multi-Provider Mgmt  ├─ Execution Interceptors  ├─ Custom Embedding Support\n\n⚙️ Engineering Support  🔍 Observability          🛡️ Enterprise-Grade Assurance\n├─ Prompt Template Engine├─ OpenTelemetry Integration├─ Sensitive Data Masking\n├─ Multi-turn Memory    ├─ Distributed Tracing    ├─ Safe Resource Shutdown\n├─ Async\u002FStreaming Resp ├─ Structured Logging     ├─ Apache 2.0 License\n```\n\n> 💡 **Design Principles**: Zero-Intrusion Integration · Interface-Driven Extension · Configuration Over Code · Production-Friendly\n\n\n## ⚡ Quick Start\n\n### 1️⃣ Add Dependencies (Maven)\n\n```xml\n\u003Cdependency>\n    \u003CgroupId>com.agentsflex\u003C\u002FgroupId>\n    \u003CartifactId>agents-flex-core\u003C\u002FartifactId>\n    \u003Cversion>2.0.7\u003C\u002Fversion>\n\u003C\u002Fdependency>\n\u003C!-- Optional: Add extension modules as needed -->\n\u003Cdependency>\n    \u003CgroupId>com.agentsflex\u003C\u002FgroupId>\n    \u003CartifactId>agents-flex-mcp\u003C\u002FartifactId>\n    \u003Cversion>2.0.7\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n### 2️⃣ Hello World\n\n```java\npublic class QuickStart {\n    public static void main(String[] args) {\n        \u002F\u002F 1. Configure the model (supports GiteeAI \u002F OpenAI \u002F Ollama, etc.)\n        OpenAIChatModel chatModel = OpenAIChatConfig.builder()\n            .provider(\"GiteeAI\")\n            .endpoint(\"https:\u002F\u002Fai.gitee.com\")\n            .requestPath(\"\u002Fv1\u002Fchat\u002Fcompletions\")\n            .apiKey(System.getenv(\"GITEE_AI_KEY\")) \u002F\u002F ✅ Recommended: load from environment variable\n            .model(\"Qwen3-32B\")\n            .buildModel();\n\n        \u002F\u002F 2. Start a conversation (sync\u002Fstreaming\u002Fasync all supported)\n        String response = chatModel.chat(\"Explain what humor is in a way that Java developers can understand?\");\n\n        \u002F\u002F 3. Output the result\n        System.out.println(\"🤖 Agents-Flex: \" + response);\n    }\n}\n```\n\n**Console Output Example**:\n```text\n[Agents-Flex] >>> [GiteeAI\u002FQwen3-32B] Request: {\"model\":\"Qwen3-32B\",\"messages\":[...]}\n[Agents-Flex] \u003C\u003C\u003C [GiteeAI\u002FQwen3-32B] Response: 200 OK (1.2s)\n🤖 Agents-Flex: Humor is like elegant exception handling in code—seemingly unexpected, yet meticulously designed...\n```\n\n> 📝 The `[Agents-Flex]` log prefix can be customized or disabled via `application.properties`. For production environments, SLF4J integration is recommended.\n\n\n## 📦 Module Overview\n\n```\nagents-flex\u002F\n├── agents-flex-bom                    # 📦 BOM dependency management for unified versioning\n├── agents-flex-core                   # 🧱 Core abstractions: Model\u002FPrompt\u002FMemory\u002FTool SPI\n├── agents-flex-chat                   # 💬 Chat engine: sync\u002Fstreaming\u002Fasync invocation\n├── agents-flex-tool                   # 🔧 Function Calling engine: method definition\u002Fparsing\u002Fexecution\n├── agents-flex-mcp                    # 🔗 MCP protocol support: standardized context & tool connection (New)\n├── agents-flex-skills                 # 🎯 AI Skills: capability encapsulation & dynamic loading (New)\n├── agents-flex-text2sql                   # 📊 Text2SQL & natural language data analysis (New)\n├── agents-flex-embedding              # 🔢 Embedding service: model integration & vector generation\n├── agents-flex-store                  # 🗄️ Storage extensions: VectorStore\u002FMemory persistence implementations\n├── agents-flex-search-engine          # 🔍 Search engine integration: ES\u002FDB\u002Fcustom retrieval sources\n├── agents-flex-rerank                 # 📈 Re-ranking service: improve RAG retrieval relevance\n├── agents-flex-image                  # 🖼️ Image capabilities: text-to-image \u002F image-to-text model integration\n├── agents-flex-spring-boot-starter   # ⚙️ Spring Boot auto-configuration (Production Recommended)\n├── demos\u002F                             # 🧪 Sample projects: MCP \u002F Skills \u002F Text2SQL demos\n├── docs\u002F                              # 📚 Documentation source (VitePress)\n└── testresource\u002F                      # 🧪 Test resource files\n```\n\n✅ **Production-Ready Recommendations**:\n- Use `agents-flex-spring-boot-starter` with a configuration center for API key management in production\n- Inject sensitive information (API Keys \u002F DB passwords) via `@Value(\"${xxx}\")` + encrypted configuration\n- Enable `management.endpoints.web.exposure.include=metrics,trace` for monitoring integration\n- For RAG scenarios, combine: `data` + `embedding` + `store` + `rerank` modules\n\n\n## 📚 Documentation & Resources\n\n| Type | Link | Description |\n|------|------|-------------|\n| 📘 Chinese Docs | [https:\u002F\u002Fagentsflex.com](https:\u002F\u002Fagentsflex.com) | Complete API guide + best practices |\n| 🧪 Sample Projects | [\u002Fdemos](.\u002Fdemos) | MCP integration \u002F Skills orchestration \u002F Text2SQL demos |\n| 📋 Changelog | [\u002Fchanges.md](.\u002Fchanges.md) | Version history and migration guide |\n| 🐛 Issue Tracker | [GitHub Issues](https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fissues) | Bug reports \u002F feature requests |\n| 💬 Community | [Join Discussion](https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fdiscussions) | Q&A, ideas, and community support |\n\n\n\n## 🤝 Contributing\n\nWe follow the [Apache Way](https:\u002F\u002Fapache.org\u002Ftheapacheway) and [Contributor Covenant](https:\u002F\u002Fwww.contributor-covenant.org\u002F) guidelines:\n\n1. Fork the repo → Create a feature branch (`feature\u002Fxxx`)\n2. Code style: Run `mvn spotless:apply` for auto-formatting (Google Java Style)\n3. Add unit tests: Aim for ≥ 80% coverage on core modules\n4. Submit a PR linked to an issue, describing the motivation and impact of changes\n\n> 🌟 Especially welcome: Java 8\u002F11\u002F17 compatibility tests, enterprise use cases, and documentation translations\n\n---\n\n## 📜 License\n\nAgents-Flex is released under the **Apache License 2.0**. You are free to:\n\n- ✅ Use commercially in your projects\n- ✅ Modify and deploy privately\n- ✅ Contribute code to grow the ecosystem\n\n> Please retain the original copyright notice and indicate modifications when distributing. See [LICENSE](.\u002FLICENSE) for details.\n","\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fagents-flex_agents-flex_readme_1d7e5a9db542.png\"\u002F>\n\u003C\u002Fp>\n\n\n\u003Cp align=\"center\">\n    \u003Cstrong>一款优雅的 Java 框架，用于 LLM 应用开发 | 真正开源 · 易于集成 · 生产就绪\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\n## 🚀 核心特性\n\nAgents-Flex 专为 Java 工程师和架构师设计，提供一种 **轻量级、模块化且可扩展** 的 AI 代理开发体验，帮助企业快速构建生产级 LLM 应用。\n\n### ✨ 新核心能力 (v2.0+)\n\n| 特性 | 描述 | 使用场景 |\n|---------|-------------|-----------|\n| **MCP 支持** | 原生集成模型上下文协议，实现与外部数据源和工具的标准化连接 | 跨系统上下文共享、工具编排 |\n| **AI 技能** | 将业务能力封装为可复用、可组合的 Skill 单元 | 快速构建领域 Agent、技能市场 |\n| **Text2SQL \u002F 智能数据查询** | 内置 Text2SQL 和自然语言数据分析能力 | 面向业务用户的零代码查询、数据洞察 |\n\n### 🔧 核心能力矩阵\n\n```\n🧠 模型集成    🔌 工具调用        📚 知识增强\n├─ 主流 LLMs      ├─ 函数调用        ├─ 多格式文档加载\n├─ Ollama 本地部署  ├─ MCP 工具协议       ├─ 智能文本分割\n├─ HTTP\u002FSSE\u002FWS 协议  ├─ 本地方法反射     ├─ 向量存储集成\n├─ 多提供商管理  ├─ 执行拦截器       ├─ 自定义嵌入支持\n\n⚙️ 工程支持  🔍 可观测性          🛡️ 企业级保障\n├─ 提示模板引擎  ├─ OpenTelemetry 集成  ├─ 敏感数据脱敏\n├─ 多轮记忆      ├─ 分布式追踪      ├─ 安全资源关闭\n├─ 异步\u002F流式响应  ├─ 结构化日志      ├─ Apache 2.0 许可证\n```\n\n> 💡 **设计原则**: 零侵入集成 · 接口驱动扩展 · 配置优先于代码 · 生产友好\n\n\n## ⚡ 快速入门\n\n### 1️⃣ 添加依赖 (Maven)\n\n```xml\n\u003Cdependency>\n    \u003CgroupId>com.agentsflex\u003C\u002FgroupId>\n    \u003CartifactId>agents-flex-core\u003C\u002FartifactId>\n    \u003Cversion>2.0.7\u003C\u002Fversion>\n\u003C\u002Fdependency>\n\u003C!-- 可选：根据需要添加扩展模块 -->\n\u003Cdependency>\n    \u003CgroupId>com.agentsflex\u003C\u002FgroupId>\n    \u003CartifactId>agents-flex-mcp\u003C\u002FartifactId>\n    \u003Cversion>2.0.7\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n### 2️⃣ Hello World\n\n```java\npublic class QuickStart {\n    public static void main(String[] args) {\n        \u002F\u002F 1. 配置模型（支持 GiteeAI \u002F OpenAI \u002F Ollama 等）\n        OpenAIChatModel chatModel = OpenAIChatConfig.builder()\n            .provider(\"GiteeAI\")\n            .endpoint(\"https:\u002F\u002Fai.gitee.com\")\n            .requestPath(\"\u002Fv1\u002Fchat\u002Fcompletions\")\n            .apiKey(System.getenv(\"GITEE_AI_KEY\")) \u002F\u002F ✅ 建议从环境变量加载\n            .model(\"Qwen3-32B\")\n            .buildModel();\n\n        \u002F\u002F 2. 开始对话（同步\u002F流式\u002F异步均支持）\n        String response = chatModel.chat(\"用 Java 开发者能理解的方式解释一下什么是幽默？\");\n\n        \u002F\u002F 3. 输出结果\n        System.out.println(\"🤖 Agents-Flex: \" + response);\n    }\n}\n```\n\n**控制台输出示例**:\n```text\n[Agents-Flex] >>> [GiteeAI\u002FQwen3-32B] 请求: {\"model\":\"Qwen3-32B\",\"messages\":[...]}\n[Agents-Flex] \u003C\u003C\u003C [GiteeAI\u002FQwen3-32B] 响应: 200 OK (1.2s)\n🤖 Agents-Flex: 幽默就像代码中的优雅异常处理——看似出乎意料，却经过精心设计……\n```\n\n> 📝 `[Agents-Flex]` 日志前缀可通过 `application.properties` 自定义或禁用。对于生产环境，建议集成 SLF4J。\n\n\n## 📦 模块概览\n\n```\nagents-flex\u002F\n├── agents-flex-bom                    # 📦 BOM 依赖管理，统一版本号\n├── agents-flex-core                   # 🧱 核心抽象：模型\u002F提示\u002F记忆\u002F工具 SPI\n├── agents-flex-chat                   # 💬 对话引擎：同步\u002F流式\u002F异步调用\n├── agents-flex-tool                   # 🔧 函数调用引擎：方法定义\u002F解析\u002F执行\n├── agents-flex-mcp                    # 🔗 MCP 协议支持：标准化上下文与工具连接（新增）\n├── agents-flex-skills                 # 🎯 AI 技能：能力封装与动态加载（新增）\n├── agents-flex-text2sql               # 📊 Text2SQL 与自然语言数据分析（新增）\n├── agents-flex-embedding              # 🔢 嵌入服务：模型集成与向量生成\n├── agents-flex-store                  # 🗄️ 存储扩展：VectorStore\u002F内存持久化实现\n├── agents-flex-search-engine          # 🔍 搜索引擎集成：ES\u002FDB\u002F自定义检索源\n├── agents-flex-rerank                 # 📈 重排序服务：提升 RAG 检索相关性\n├── agents-flex-image                  # 🖼️ 图像能力：图文互转模型集成\n├── agents-flex-spring-boot-starter   # ⚙️ Spring Boot 自动配置（推荐用于生产）\n├── demos\u002F                             # 🧪 示例项目：MCP \u002F 技能 \u002F Text2SQL 演示\n├── docs\u002F                              # 📚 文档源（VitePress）\n└── testresource\u002F                      # 🧪 测试资源文件\n```\n\n✅ **生产就绪建议**：\n- 在生产环境中使用 `agents-flex-spring-boot-starter` 配合配置中心管理 API 密钥\n- 通过 `@Value(\"${xxx}\")` 注入敏感信息（API 密钥 \u002F 数据库密码）并结合加密配置\n- 启用 `management.endpoints.web.exposure.include=metrics,trace` 以集成监控\n- 对于 RAG 场景，可组合使用：`data` + `embedding` + `store` + `rerank` 模块\n\n\n## 📚 文档与资源\n\n| 类型 | 链接 | 描述 |\n|------|------|-------------|\n| 📘 中文文档 | [https:\u002F\u002Fagentsflex.com](https:\u002F\u002Fagentsflex.com) | 完整 API 指南 + 最佳实践 |\n| 🧪 示例项目 | [\u002Fdemos](.\u002Fdemos) | MCP 集成 \u002F 技能编排 \u002F Text2SQL 演示 |\n| 📋 更改日志 | [\u002Fchanges.md](.\u002Fchanges.md) | 版本历史与迁移指南 |\n| 🐛 问题跟踪 | [GitHub Issues](https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fissues) | Bug 报告 \u002F 功能请求 |\n| 💬 社区 | [加入讨论](https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fdiscussions) | 问答、创意与社区支持 |\n\n\n\n## 🤝 贡献\n\n我们遵循 [Apache Way](https:\u002F\u002Fapache.org\u002Ftheapacheway) 和 [Contributor Covenant](https:\u002F\u002Fwww.contributor-covenant.org\u002F) 指南：\n\n1. Fork 仓库 → 创建功能分支 (`feature\u002Fxxx`)\n2. 代码风格：运行 `mvn spotless:apply` 进行自动格式化（Google Java Style）\n3. 添加单元测试：核心模块覆盖率目标 ≥ 80%\n4. 提交 PR，并关联 Issue，详细说明变更动机及影响\n\n> 🌟 特别欢迎：Java 8\u002F11\u002F17 兼容性测试、企业级用例以及文档翻译\n\n---\n\n## 📜 许可证\n\nAgents-Flex 采用 **Apache 许可证 2.0** 发布。您可以自由地：\n\n- ✅ 在您的项目中进行商业使用\n- ✅ 进行修改并在私有环境中部署\n- ✅ 贡献代码以丰富生态系统\n\n> 分发时请保留原始版权声明，并注明所做的修改。详情请参阅 [LICENSE](.\u002FLICENSE)。","# Agents-Flex 快速上手指南\n\nAgents-Flex 是一款专为 Java 工程师设计的轻量级、模块化 LLM 应用开发框架。它支持主流大模型集成、MCP 协议、AI Skills 以及 Text2SQL 等企业级功能，旨在帮助开发者快速构建生产级的 AI 应用。\n\n## 1. 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **JDK 版本**：建议 JDK 8, 11 或 17+（框架兼容多版本 Java）。\n*   **构建工具**：Maven 3.6+ 或 Gradle。\n*   **API Key**：准备好一个大模型服务的 API Key（本指南以 GiteeAI 为例，也支持 OpenAI、Ollama 等）。\n\n## 2. 安装步骤\n\n在您的 Maven 项目 `pom.xml` 文件中添加核心依赖。如需使用 MCP 协议等扩展功能，可额外添加对应模块。\n\n```xml\n\u003Cdependencies>\n    \u003C!-- 核心模块 -->\n    \u003Cdependency>\n        \u003CgroupId>com.agentsflex\u003C\u002FgroupId>\n        \u003CartifactId>agents-flex-core\u003C\u002FartifactId>\n        \u003Cversion>2.0.7\u003C\u002Fversion>\n    \u003C\u002Fdependency>\n    \n    \u003C!-- 可选：MCP 协议支持模块 -->\n    \u003Cdependency>\n        \u003CgroupId>com.agentsflex\u003C\u002FgroupId>\n        \u003CartifactId>agents-flex-mcp\u003C\u002FartifactId>\n        \u003Cversion>2.0.7\u003C\u002Fversion>\n    \u003C\u002Fdependency>\n\u003C\u002Fdependencies>\n```\n\n> 💡 **生产建议**：如果是 Spring Boot 项目，推荐直接使用 `agents-flex-spring-boot-starter` 以获得自动配置支持。\n\n## 3. 基本使用\n\n以下是一个最简单的 Hello World 示例，展示如何配置模型并进行同步对话。\n\n### 代码示例\n\n```java\nimport com.agentsflex.core.llm.chat.OpenAIChatConfig;\nimport com.agentsflex.core.llm.chat.OpenAIChatModel;\n\npublic class QuickStart {\n    public static void main(String[] args) {\n        \u002F\u002F 1. 配置模型（支持 GiteeAI \u002F OpenAI \u002F Ollama 等）\n        OpenAIChatModel chatModel = OpenAIChatConfig.builder()\n            .provider(\"GiteeAI\")\n            .endpoint(\"https:\u002F\u002Fai.gitee.com\")\n            .requestPath(\"\u002Fv1\u002Fchat\u002Fcompletions\")\n            .apiKey(System.getenv(\"GITEE_AI_KEY\")) \u002F\u002F ✅ 推荐从环境变量加载 Key\n            .model(\"Qwen3-32B\")\n            .buildModel();\n\n        \u002F\u002F 2. 发起对话（支持同步、流式、异步调用）\n        String response = chatModel.chat(\"Explain what humor is in a way that Java developers can understand?\");\n\n        \u002F\u002F 3. 输出结果\n        System.out.println(\"🤖 Agents-Flex: \" + response);\n    }\n}\n```\n\n### 运行结果\n\n控制台将输出类似以下内容：\n\n```text\n[Agents-Flex] >>> [GiteeAI\u002FQwen3-32B] Request: {\"model\":\"Qwen3-32B\",\"messages\":[...]}\n[Agents-Flex] \u003C\u003C\u003C [GiteeAI\u002FQwen3-32B] Response: 200 OK (1.2s)\n🤖 Agents-Flex: Humor is like elegant exception handling in code—seemingly unexpected, yet meticulously designed...\n```\n\n### 下一步\n\n*   **更多模型**：修改 `provider` 和 `endpoint` 即可切换至 OpenAI、Ollama 或其他兼容 OpenAI 接口的服务。\n*   **高级功能**：查看 `\u002Fdemos` 目录了解 MCP 集成、Skills 编排及 Text2SQL 的具体实现。\n*   **详细文档**：访问 [https:\u002F\u002Fagentsflex.com](https:\u002F\u002Fagentsflex.com) 获取完整的 API 指南和最佳实践。","某大型电商企业的 Java 后端团队正致力于重构其“智能客服与订单查询系统”，旨在让非技术背景的客服人员能通过自然语言直接检索复杂的 MySQL 订单数据库，并自动调用物流接口获取实时状态。\n\n### 没有 agents-flex 时\n- **开发门槛极高**：团队需从零搭建 LLM 连接层，手动处理 HTTP 请求、流式响应解析及重试机制，代码冗余且容易出错，严重拖慢迭代速度。\n- **数据查询困难**：实现自然语言转 SQL（Text2SQL）需自行编写复杂的 Prompt 模板和结果校验逻辑，难以保证生成 SQL 的安全性与准确性，常导致查询失败或数据泄露风险。\n- **工具集成繁琐**：每新增一个外部工具（如物流查询），都需要硬编码大量的胶水代码来适配函数调用（Function Calling）协议，系统耦合度高，维护成本巨大。\n- **缺乏可观测性**：线上出现 AI 响应缓慢或错误时，由于缺乏统一的链路追踪和结构化日志，开发人员难以快速定位是模型问题、网络延迟还是业务逻辑错误。\n\n### 使用 agents-flex 后\n- **极速构建应用**：借助 agents-flex 轻量级的核心抽象，团队仅用少量配置即可集成主流大模型，内置的异步\u002F流式支持让聊天引擎的开发效率提升数倍，快速达到生产就绪标准。\n- **安全智能查数**：利用内置的 Text2SQL 能力，系统能自动将用户口语转化为标准 SQL，并结合敏感数据掩码功能，在零代码基础上实现了安全、准确的自然语言数据洞察。\n- **模块化技能编排**：通过 MCP 协议和 AI Skills 特性，将物流查询等业务能力封装为可复用的 Skill 单元，新工具接入只需简单配置，实现了业务逻辑与 AI 调用的解耦。\n- **全链路可观测**：集成 OpenTelemetry 后，每一次对话的请求耗时、Token 消耗及执行路径均清晰可见，极大降低了线上故障排查难度，保障了企业级服务的稳定性。\n\nagents-flex 让 Java 团队无需重复造轮子，即可以标准化、工程化的方式快速落地高质量的企业级 AI 应用。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fagents-flex_agents-flex_1d7e5a9d.png","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fagents-flex_11cf2de7.png","",null,"yangfuhai","https:\u002F\u002Fagentsflex.com","https:\u002F\u002Fgithub.com\u002Fagents-flex",[83],{"name":84,"color":85,"percentage":86},"Java","#b07219",100,1301,115,"2026-04-03T00:42:45","Apache-2.0","Linux, macOS, Windows","未说明",{"notes":94,"python":95,"dependencies":96},"这是一个基于 Java 的框架，主要依赖 JDK 环境（README 提及兼容 Java 8\u002F11\u002F17）。它本身不运行 AI 模型，而是通过 API 连接外部 LLM 服务（如 OpenAI、Ollama、GiteeAI 等），因此无需本地 GPU 资源，但需确保网络能访问所选的大模型服务提供商。建议使用 Maven 进行依赖管理。","不需要 Python (基于 Java)",[97,98,99],"agents-flex-core:2.0.7","agents-flex-mcp:2.0.7","agents-flex-spring-boot-starter (推荐生产环境使用)",[15,26,13,14],[102,103,104,105,106,107,108,109,110,111],"llm","agent","ai","chatbot","chatgpt","gpt","langchain4j","llama3","ollama","spring-ai","2026-03-27T02:49:30.150509","2026-04-06T06:44:16.159557",[115,120,125,130,135,140,145,150],{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},11648,"如何配置 LLM 的 temperature、top_k 和 max_tokens 等参数？","在调用 llm.chatStream 或相关聊天方法时，可以传递 ChatOptions 参数。ChatOptions 对象中包含了 temperature、top_k、max_tokens 等字段的设置选项，通过配置该对象即可控制模型生成行为。","https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fissues\u002F19",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},11649,"在使用 vllm 部署本地大模型时，如果思考内容参数名为 reasoning，框架是否支持？","框架提供了 AiMessageParser（AI 消息解析器）机制来处理此类差异。你可以自定义实现一个 AiMessageParser，在其中解析特定的响应格式（如 reasoning 字段），从而兼容不同模型的输出结构。","https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fissues\u002F30",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},11650,"长文本请求（如输出万字文档）导致 OkHttpClient 超时怎么办？","默认超时时间较短（原为1分钟，已更新为5分钟）。如果遇到超时，建议检查并增加超时配置。此外，可以通过 setEndpoint 方法设置 baseURL，确保连接配置正确。","https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fissues\u002F23",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},11651,"在节点并行执行的工作流中（如 A->B->D, A->C->D），后续节点 D 为什么会执行多次？","这是并行分支汇聚时的常见现象。为了避免节点 D 被重复执行，可以为节点 D 设置执行条件（Condition）。通过配置 Condition，确保只有当所有前置依赖（B 和 C）都完成且满足特定逻辑时，D 才执行一次。","https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fissues\u002F20",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},11652,"使用 QwenLLM 时，配置 endpoint 为 https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1 为什么报 404 错误？","这是因为框架内部在拼接请求 URL 时，会自动追加路径（如 \u002Fchat\u002Fcompletions），导致最终 URL 中出现了重复的路径段。建议直接使用完整的 API 地址作为 endpoint，或者检查 QwenLLMConfig 中的 DEFAULT_ENDPOINT 配置，避免路径重复拼接。该问题已在后续版本修复。","https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fissues\u002F25",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},11653,"Agents-Flex 是否支持 MCP (Model Context Protocol)？","新版本已经支持 MCP。但需要注意，由于 MCP 官方 SDK 可能未完全支持 JDK 8，使用时请确保你的项目 Java 版本符合 MCP SDK 的要求（通常建议 JDK 11 或更高）。","https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fissues\u002F21",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},11654,"使用 Azure OpenAI GPT 模型调用工具时，报错 \"Invalid schema for function... 'list' is not valid\" 如何解决？","该错误通常是因为某些模型（如部分 Azure OpenAI 版本）对工具调用的参数 Schema 校验严格，不支持直接的 list 类型或未正确封装的参数结构。需要检查 MethodTool 的定义，确保参数 Schema 符合模型要求。社区用户提供了修正后的 MethodTool.java 实现参考，建议调整工具参数的定义方式以兼容模型约束。","https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fissues\u002F32",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},11655,"Spring Boot Starter 自动配置类路径错误导致启动失败怎么办？","在旧版本（如 2.0.7）中，spring.factories 或自动配置文件中的类路径可能存在错误（例如 com.agentsflex.springboot.chat.model... 应为 com.agentsflex.springboot.model.chat...）。请升级到最新版本，该路径问题已在后续版本中修正。如果无法升级，需手动检查并修正自动配置类的引用路径。","https:\u002F\u002Fgithub.com\u002Fagents-flex\u002Fagents-flex\u002Fissues\u002F38",[156,161,166,171,176,181,186,191,196,201,206,211,216,221,226,231],{"id":157,"version":158,"summary_zh":159,"released_at":160},62137,"v2.0.7","- 功能（Milvus）：在向量存储中添加对自定义扩展字段的支持\n- 重构（Milvus）：将 dimension 字段重命名为 defaultDimension，以提高清晰度\n- 功能（Milvus）：为向量存储的过滤添加表达式适配器支持\n- 重构（Milvus）：改进搜索请求的构建，并添加全面的测试\n- 修复（Milvus）：修正搜索构建器中分区名称的条件检查\n- 杂项（依赖）：更新 milvus-sdk-java 依赖版本\n- 重构（Milvus）：将 collectionName 重命名为 defaultCollectionName，并更新方法签名\n- 重构（存储）：从 SearchWrapper 中移除分区名称","2026-03-30T10:17:35",{"id":162,"version":163,"summary_zh":164,"released_at":165},62138,"v2.0.6","- 修复（聊天）：处理 ChatOptions 构建器中的空元数据\n- 重构（核心）：在文档操作中将 addMetadata 替换为 putMetadata\n- 新增功能（聊天）：为 ChatOptions 添加元数据支持\n- 重构（配置）：更新包结构和配置导入\n- 重构（模型）：将聊天模型类从 llm 包移动到 model.chat 包\n- 重构（聊天）：使 ChatOptions 继承 Metadata 类\n","2026-03-25T07:15:28",{"id":167,"version":168,"summary_zh":169,"released_at":170},62139,"v2.0.5","- 测试(milvus)：更新测试集合名称并添加文档元数据\n- 测试(file2text)：新增 HTTP XLSX 转文本的测试用例\n- 功能(extractor)：新增 Excel 文件提取支持\n- 重构(core)：将向量数据类型由 double 改为 float，并更新 setVector 方法\n- 重构(store)：在所有向量存储中将分数类型由 Double 改为 Float\n- 重构(store)：优化 Milvus 向量存储的连接管理\n- 功能(demo)：通过日志记录和输出改进，增强技能演示\n- 测试(openai)：新增百炼通义千问模型集成测试\n- 功能(store)：实现 Milvus 向量存储\n- 修复(store)：改进向量存储操作中的错误处理\n- 功能(store)：实现 Milvus 向量存储\n- 重构(store)：更改 VectorData 中向量和分数字段的可见性\n- 重构(store)：更新 StoreResult，使用 message 和 exception 替代 failReason\n- 功能(store)：为 SearchWrapper 添加分区名称支持\n- 重构(document)：移除 score 字段，并更新元数据处理","2026-03-18T06:30:28",{"id":172,"version":173,"summary_zh":174,"released_at":175},62140,"v2.0.4","- 功能（text2sql）：优化 JDBC 数据源的表构建逻辑\n- 重构（core）：优化 OpenAI 聊天消息序列化器的参数处理\n- 功能（openai）：新增基于位置的天气工具功能\n- 功能（tools）：通过 JSON Schema 映射增强方法工具的参数处理\n- 功能（tool）：为 MethodTool 增强正确的 JSON Schema 类型映射\n- 功能：搜索引擎支持元素数据过滤\n- 功能（parser）：支持最新的 vllm 输出格式，兼容多种可能的推理字段名称\n- 修复：ES 搜索 bug，由 nottyjay 于 2026 年 3月10日 13:52 修复\n- 修复：ChromaDB bug，由 nottyjay 于 2026 年 3月10日 11:57 修复","2026-03-12T04:04:21",{"id":177,"version":178,"summary_zh":179,"released_at":180},62141,"v2.0.2","- 功能（file2text）：添加文件提取的编码检测工具\n- 修复（template）：更新 ChartConfigTool 的 Markdown 模板格式\n- 功能（text2sql）：添加用于数据可视化的图表配置工具\n- 重构（text2sql）：增强 SQL 查询工具的说明文档和参数校验\n- 重构（core）：简化 AiMessageResponse 中的工具调用检查逻辑","2026-03-06T02:54:57",{"id":182,"version":183,"summary_zh":184,"released_at":185},62142,"v2.0.1","- 文档(nav): 更新中文文档中Text2SQL菜单项文本\n- 重构(text2sql-demo): 移除未使用的表名配置\n- 文档(chat): 更新Text2SQL开发文档\n- 功能(text2sql): 使用结构化结果增强SQL校验\n- 杂项(build): 更新Maven配置，并将示例模块排除在发布之外\n- 重构(text2sql): 将过滤函数替换为基于集合的表和列过滤\n- 文档(chat): 更新Text2SQL文档中的引用\n- 功能(text2sql): 添加SQL校验和重写组件，并进行实体重构\n- 杂项(project): 将data模块重命名为text2sql","2026-03-02T10:42:40",{"id":187,"version":188,"summary_zh":189,"released_at":190},62143,"v2.0.0","\r\n\r\n# 🚀 v2.0.0 正式发布\r\n\r\n📅 发布日期：2026年3月1日\r\n\r\n> v2.0 是一次 **重大架构升级**。\r\n> 本次发布将框架转型为一个功能完备的 **Agent 开发框架**，引入了 Skills 系统、完整的 MCP 客户端架构、全新的数据模块、增强的流式传输能力以及统一的核心 API。\r\n\r\n---\r\n\r\n# ✨ 核心架构升级\r\n\r\n## 🔁 架构重构与模块调整\r\n\r\n* 移除 `Chain` 模块（合并至 Tinyflow）\r\n* 移除 `documentParser` 模块\r\n* 移除 `DocumentLoader` 模块\r\n* 新增 `file2text` 模块\r\n* 新增 `observability` 模块\r\n* 新增 `agents-flex-data` 模块\r\n* 新增 `demos` 模块（包含 HelloWorld 示例）\r\n* 新增 `skills` 模块\r\n* 新增 `commons` 模块（取代 shell 模块）\r\n\r\n## 🧠 统一核心 API 命名\r\n\r\n* `LLM` → `ChatModel`\r\n* `LLMClient` → `StreamClient`\r\n* `LLMClientListener` → `StreamClientListener`\r\n* `LLMConfig` → `ChatConfig`\r\n* `Function` → `Tool`\r\n* `PromptFormat` → `MessageFormat`\r\n* `TextPromptTemplate` → `PromptTemplate`\r\n* `TextPrompt` → `SimplePrompt`\r\n* `HistoriesPrompt` → `MemoryPrompt`\r\n* 将 `HumanMessage` 及相关类型合并至 `UserMessage`\r\n\r\n---\r\n\r\n# 🤖 Agent 与 Skills 功能增强\r\n\r\n## 🧩 Skills 系统\r\n\r\n* 引入全新的 Skills 模块架构\r\n* 新增 AI Tutor Skill（支持 YouTube 字幕提取）\r\n* 为 Tool 参数新增默认值支持\r\n* 自动从参数类型中提取枚举值\r\n* 加强泛型参数类型的处理\r\n* 将参数类型默认设置为 `string`\r\n* 改进 ToolCall 合并逻辑\r\n* 增强 MethodTool 类型解析能力\r\n* 新增 `AiMessage.hasToolCalls()` 方法\r\n* 改进 Tool 参数解析逻辑\r\n* 简化 Prompt 和 MemoryPrompt 的 API\r\n* 新增 JSON 错误消息检测\r\n* 加强嵌入式错误处理\r\n\r\n---\r\n\r\n# 🌐 MCP（模型上下文协议）重大升级\r\n\r\n## 🏗 MCP 架构优化\r\n\r\n* 新增 MCP 客户端管理模块\r\n* 新增 MCP 工具集成实现\r\n* 新增 MCP 工具检索能力\r\n* 新增对客户端描述符和健康检查器的访问权限\r\n* 新增 `mcp-servers.json` 配置支持\r\n* 重构 `McpRootConfig` 至 `McpConfig`\r\n* 将客户端相关类移至专用包中\r\n\r\n## 🚚 多传输协议支持\r\n\r\n* 新增 HTTP 传输支持\r\n* 新增 SSE 传输支持\r\n* 新增可流式传输的支持\r\n* 新增对 Stdio 传输的环境变量支持\r\n* 新增 HTTP SSE 头部自定义支持\r\n* 移除硬编码的请求超时时间\r\n* 将硬编码的 `\"stdio\"` 替换为 `DEFAULT_TRANSPORT_TYPE`\r\n* 改进 JSON 映射与传输配置\r\n\r\n## 🛡 MCP 稳定性提升\r\n\r\n* 修复重复注册客户端导致的资源泄漏问题\r\n* 改进异常处理机制\r\n* 修复空值及单文本工具调用的处理问题\r\n* 加强 MCP 工具调用的错误处理\r\n\r\n---\r\n\r\n# 💬 聊天与流式传输增强\r\n\r\n## 🔄 流式传输改进\r\n\r\n* 修复最终 delta 处理问题\r\n* 修复失败フラ","2026-03-01T08:05:53",{"id":192,"version":193,"summary_zh":194,"released_at":195},62144,"v1.4.2","- 新增：新增本地 Token 计算的相关内容，方便在某些情况下无法获取外部 token 时使用\n- 新增: 新增 file2text 模块\n- 新增: Chain 支持主动去 暂停执行 或 恢复执行\n- 新增：feat: 新增可观测的相关能力\n- 新增：prompt 格式化新增 {{ aa ?? bb ?? 'default'}} 取值语法\n- 新增: 添加 Chain 关于算力消耗配置的功能\n- 新增: Chain 添加 loopNodeExecutionLimit 配置，保护由于用户配置不当可能造成死循环执行的问题\n- 新增: 优化监听器，当多个监听器发生时，有监听器发生错误不影响其他监听器执行\n- 新增: Node 支持配置积分消耗的计算逻辑和表达式\n- 新增：图片消息添加多张图片的支持\n- 新增：大模型节点添加图片识别的能力\n- 新增：大模型节点支持多种 json 格式输出\n- 新增：支持 Chroma 向量数据库（1.1.10），目前只支持单租户，单数据库（有默认且可配置），感谢 @joe.wen\n- 新增：TextPromptTemplate.formatToString 添加 escapeJson 参数配置的支持\n- 优化：优化 okHttpclient 的请求机制，更轻量化\n- 优化：优化 OkHttpClientUtil 的配置支持环境变量\n- 优化：ImageUtil 支持自动添加 base64 url 前缀\n- 优化：优化 chain.get 方法获取数据的性能\n- 优化：移除 gitee 旧的 api 支持（官方已下架）\n- 优化：重构移动 ReAct 的包到 agents 目录下\n- 优化：优化 Chain.addEdge 自动为没有 id 的 edge 添加 id\n- 优化：Chain.addNode 自动为 node 添加 inwardEdges 和 outwardEdges\n- 优化：优化 ChainHolder 的属性类型定义，方便准确序列化\n- 优化：ChainEdge 移除无用的定义\n- 修复： computeCost 可能等于 null 而出现 NPE 的问题\n- 修复:避免截断后添加 systemMessage 时导致 memory 中的 systemMessage 越来越多\n- 修复：ConfirmNode 必须勾选必填才能正确进行数据确认的问题","2025-11-17T02:54:01",{"id":197,"version":198,"summary_zh":199,"released_at":200},62145,"v1.0.0","- 修复：修复了 NodeContext.isUpstreamFullyExecuted() 方法的判断错误\n- 新增：SparkLlm 添加 concurrencyLimitSleepMillis 配置\n- 新增：openai 添加 chatPath 配置和 embed path 配置\n- 新增：HistoriesPrompt 添加 temporaryMessages 配置\n","2025-04-07T10:16:37",{"id":202,"version":203,"summary_zh":204,"released_at":205},62146,"v1.0.0-rc.9","- 新增：新增向量数据库 Pgvector 的支持，感谢 @daxian1218\n- 新增：Chain 新增 \"SUSPEND\" 状态以及 ChainSuspendListener 监听\n- 新增：Chain 的 RefType 新增  \"fixed\" 类型。\n- 新增：Chain 的 Parameter 新增 \"defaultValue\"\n- 新增：Chain 新增 ChainResumeEvent 事件\n- 新增：ChainNode 新增  \"awaitAsyncResult\" 属性配置\n- 优化：返回 coze chat 完整的 response、answer 信息，以便获取 conversation_id 等完整信息，感谢 @knowpigxia\n- 优化：优化 RedisVectorStore 的实现细节\n- 优化：Chain 移除 OnErrorEvent 并新增 ChainErrorListener 代替\n- 优化：重命名 BaseNode 的 \"getParameters\" 方法为 \"getParameterValues\"\n- 优化：重命名 Chain 的事件，移除 On 前缀","2025-03-31T03:16:14",{"id":207,"version":208,"summary_zh":209,"released_at":210},62147,"v1.0.0-rc.8","- feat: Added LLM support for siliconflow, thanks [@daxian1218](https:\u002F\u002Fgitee.com\u002Fdaxian1218)\r\n- feat: Chain's dynamic code node supports running Javascript scripts, thanks [@hhongda](https:\u002F\u002Fgitee.com\u002Fhhongda)\r\n- feat: Removed deepseek's invalid dependency on openai module, thanks [@daxian1218](https:\u002F\u002Fgitee.com\u002Fdaxian1218)\r\n- feat: Optimized EmbeddingModel and added direct embedding of String\r\n---\r\n- 新增：新增 LLM 对 siliconflow（硅基流动）的支持，感谢 [@daxian1218](https:\u002F\u002Fgitee.com\u002Fdaxian1218)\r\n- 新增：Chain 的动态代码节点支持运行 Javascript 脚本，感谢 [@hhongda](https:\u002F\u002Fgitee.com\u002Fhhongda)\r\n- 优化：移除 deepseek 无效的依赖 openai 模块，感谢 [@daxian1218](https:\u002F\u002Fgitee.com\u002Fdaxian1218)\r\n- 优化：优化 EmbeddingModel，添加直接对 String 的 embed","2025-03-18T02:32:16",{"id":212,"version":213,"summary_zh":214,"released_at":215},62148,"v1.0.0-rc.5","- feat: Added support for VectoRex vector database\r\n- feat: Added support for DeepSeek large models\r\n- feat: ImagePrompt adds support for local files, Stream and Base64 configurations\r\n- refactor: agents-flex-bom facilitates one-click import of all modules\r\n\r\n---\r\n- 新增：添加 VectoRex 向量数据库的支持\r\n- 新增：增加 DeepSeek 大模型的支持\r\n- 新增：ImagePrompt 添加本地文件、Stream 和 Base64 配置的支持\r\n- 优化：agents-flex-bom 方便一键导入所有模块","2025-02-10T05:11:16",{"id":217,"version":218,"summary_zh":219,"released_at":220},62149,"v1.0.0-rc.1","\r\n- refactor: add BaseFunction.java\r\n- fix: spark LLM can not support v4.0\r\n- fix: fix code node can not get the parameters\r\n\r\n---\r\n- 优化：新增 BaseFunction 类\r\n- 修复：修复星火大模型不支持 v4.0 的问题\r\n- 修复：修复代码节点无法获取参数的问题","2024-11-07T01:08:28",{"id":222,"version":223,"summary_zh":224,"released_at":225},62150,"v1.0.0-rc.0","- refactor: refactor llm apis\r\n- refactor: refactor chain and nodes\r\n- refactor: optimize agents-flex-solon-plugin [@noear_admin](https:\u002F\u002Fgitee.com\u002Fnoear_admin)\r\n\r\n\r\n---\r\n- 重构：重构 llm api\r\n- 重构：重构 chain 链路 及其相关节点\r\n- 优化：优化 agents-flex-solon-plugin [@noear_admin](https:\u002F\u002Fgitee.com\u002Fnoear_admin)","2024-11-04T02:08:45",{"id":227,"version":228,"summary_zh":229,"released_at":230},62151,"v1.0.0-beta.12","## v1.0.0-beta.12 20241025\r\n- refactor：add DocumentStoreConfig\r\n- refactor：optimize HistoriesPrompt.java\r\n- refactor: update pom.xml in agents-flex-bom\r\n- refactor: upgrade jedis version to \"5.2.0\"\r\n- refactor: optimize RedisVectorStore\r\n- fix: NoClassDefFoundError in jdk17: javax\u002Fxml\u002Fbind\u002FDatatypeConverter \r\n\r\n---\r\n- 优化：添加 DocumentStoreConfig，向量数据库的配置都实现 DocumentStoreConfig\r\n- 优化：重构优化 HistoriesPrompt，使其支持更多的属性配置\r\n- 优化：更新 agents-flex-bom 的 pom.xml\r\n- 优化：升级 jedis 版本为 \"5.2.0\"\r\n- 优化：重构 RedisVectorStore 的错误信息，使之错误信息更加友好\r\n- 修复：修复 jdk17 下出现 NoSuchMethodError 问题，感谢 [@songyinyin](https:\u002F\u002Fgitee.com\u002Fsongyinyin) [#I9AELG:java 8以上版本由于 javax.xml.bind.DatatypeConverter 类不再包含在 Java SE 标准库，会导致JWT处理出现异常【单元测试】](https:\u002F\u002Fgitee.com\u002Fagents-flex\u002Fagents-flex\u002Fissues\u002FI9AELG)\r\n\r\n\r\n## v1.0.0-beta.11 20240918\r\n- feat: GenerateImageRequest add negativePrompt property\r\n- feat: Maps Util add putOrDefault method\r\n- feat: add siliconFlow image models\r\n- feat: ChatOptions add \"seed\" property\r\n- feat: Maps can put a child map by key\r\n- feat: Ollama add options config\r\n- feat: Ollama function calling support\r\n- feat: add StringUtil.isJsonObject method\r\n- refactor: BaseImageRequest add extend options property\r\n- refactor: make ImagePrompt to extends HumanMessage\r\n- refactor: ImageResponse add error flag and errorMessage properties\r\n- refactor: rename Image.writeBytesToFile to writeToFile\r\n- refactor: rename \"giteesd3\" to \"gitee\"\r\n- refactor: optimize VectorData.toString\r\n\r\n---\r\n- 新增：GenerateImageRequest 添加反向提示词相关属性\r\n- 新增：Maps 工具类添加 putOrDefault 方法\r\n- 新增：添加 siliconFlow 的图片模型的支持\r\n- 新增: ChatOptions 添加 \"seed\" 属性\r\n- 新增：Maps 可以 put 一个子 map 的功能\r\n- 新增：新增 Ollama 的函数调用（Function Calling）的支持\r\n- 新增：添加 StringUtil.isJsonObject 方法\r\n- 优化：重构 BaseImageRequest 类，添加 options 属性\r\n- 优化：重构 ImagePrompt 使之继承于 HumanMessage\r\n- 优化：重构 ImageResponse 类，添加 error 和 errorMessage 属性\r\n- 优化：修改 Image.writeBytesToFile 方法为 writeToFile\r\n- 优化：重命名 \"giteesd3\" 为 \"gitee\"\r\n- 优化：重构 VectorData.toString 方法","2024-10-25T02:53:40",{"id":232,"version":233,"summary_zh":234,"released_at":235},62152,"v1.0.0-beta.10","- feat: Added support for RedisStore vector storage, thanks to @giteeClass\r\n- feat: Added support for large model dialogues for Coze Bot, thanks to @yulongsheng\r\n- feat: Automatic configuration of Springboot for ElasticSearch Store, thanks to @songyinyin\r\n- feat: Added support for Embedding of Tongyi Qianwen, thanks to @sssllg\r\n- feat: Added support for all text generation models of Gitee AI's serverless\r\n- feat: Added support for all image generation models of Gitee AI's serverless\r\n- docs: Corrected sample code errors in the documentation\r\n\r\n---\r\n- 新增：添加 RedisStore 的向量存储支持，感谢 @giteeClass\r\n- 新增：新增 Coze Bot 的大模型对话支持，感谢 @yulongsheng\r\n- 新增: ElasticSearch Store 对 Springboot 的自动配置功能，感谢@songyinyin\r\n- 新增：新增通义千问的 Embedding 支持，感谢 @sssllg\r\n- 新增：新增对 Gitee AI 的 serverless 所有文本生成模型的支持\r\n- 新增：新增对 Gitee AI 的 serverless 所有图片生成模型的支持\r\n- 文档：修正文档的示例代码错误","2024-09-09T10:26:38"]