[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-microsoft--semantic-kernel":3,"tool-microsoft--semantic-kernel":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},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,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":119,"forks":120,"last_commit_at":121,"license":122,"difficulty_score":32,"env_os":123,"env_gpu":124,"env_ram":125,"env_deps":126,"category_tags":133,"github_topics":134,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":140,"updated_at":141,"faqs":142,"releases":171},9781,"microsoft\u002Fsemantic-kernel","semantic-kernel","Integrate cutting-edge LLM technology quickly and easily into your apps","Semantic Kernel 是一款由微软推出的开源编排框架，旨在帮助开发者快速将前沿的大语言模型（LLM）技术集成到应用程序中。它主要解决了构建智能 AI 代理及多代理系统时的复杂性难题，让开发者无需从零搭建底层架构，即可轻松实现从简单聊天机器人到复杂多角色协作工作流的开发。\n\n这款工具特别适合软件工程师、架构师以及希望在企业级应用中落地 AI 功能的开发团队使用。其核心亮点在于“模型无关”的设计，支持灵活连接 OpenAI、Azure OpenAI、Hugging Face 等多种主流模型服务，甚至兼容本地部署方案。Semantic Kernel 提供了强大的插件生态系统，允许通过原生代码、提示词模板或 OpenAPI 规范扩展功能，并内置了对向量数据库、多模态输入（文本、视觉、音频）以及结构化业务流程建模的支持。凭借对可观测性、安全性和稳定 API 的原生重视，它为构建可靠、可扩展的企业级 AI 应用提供了坚实基础，让技术创新变得触手可及。","# Semantic Kernel\n\n**Build intelligent AI agents and multi-agent systems with this enterprise-ready orchestration framework**\n\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmicrosoft\u002Fsemantic-kernel)](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fblob\u002Fmain\u002FLICENSE)\n[![Python package](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fsemantic-kernel)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fsemantic-kernel\u002F)\n[![Nuget package](https:\u002F\u002Fimg.shields.io\u002Fnuget\u002Fvpre\u002FMicrosoft.SemanticKernel)](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FMicrosoft.SemanticKernel\u002F)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1063152441819942922?label=Discord&logo=discord&logoColor=white&color=d82679)](https:\u002F\u002Faka.ms\u002FSKDiscord)\n\n\n## What is Semantic Kernel?\n\nSemantic Kernel is a model-agnostic SDK that empowers developers to build, orchestrate, and deploy AI agents and multi-agent systems. Whether you're building a simple chatbot or a complex multi-agent workflow, Semantic Kernel provides the tools you need with enterprise-grade reliability and flexibility.\n\n## System Requirements\n\n- **Python**: 3.10+\n- **.NET**: .NET 10.0+ \n- **Java**: JDK 17+\n- **OS Support**: Windows, macOS, Linux\n\n## Key Features\n\n- **Model Flexibility**: Connect to any LLM with built-in support for [OpenAI](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fintroduction), [Azure OpenAI](https:\u002F\u002Fazure.microsoft.com\u002Fen-us\u002Fproducts\u002Fai-services\u002Fopenai-service), [Hugging Face](https:\u002F\u002Fhuggingface.co\u002F), [NVidia](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fai-data-science\u002Fproducts\u002Fnim-microservices\u002F) and more\n- **Agent Framework**: Build modular AI agents with access to tools\u002Fplugins, memory, and planning capabilities\n- **Multi-Agent Systems**: Orchestrate complex workflows with collaborating specialist agents\n- **Plugin Ecosystem**: Extend with native code functions, prompt templates, OpenAPI specs, or Model Context Protocol (MCP)\n- **Vector DB Support**: Seamless integration with [Azure AI Search](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fsearch-what-is-azure-search), [Elasticsearch](https:\u002F\u002Fwww.elastic.co\u002F), [Chroma](https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Foverview\u002Fgetting-started), and more\n- **Multimodal Support**: Process text, vision, and audio inputs\n- **Local Deployment**: Run with [Ollama](https:\u002F\u002Follama.com\u002F), [LMStudio](https:\u002F\u002Flmstudio.ai\u002F), or [ONNX](https:\u002F\u002Fonnx.ai\u002F)\n- **Process Framework**: Model complex business processes with a structured workflow approach\n- **Enterprise Ready**: Built for observability, security, and stable APIs\n\n## Installation\n\nFirst, set the environment variable for your AI Services:\n\n**Azure OpenAI:**\n```bash\nexport AZURE_OPENAI_API_KEY=AAA....\n```\n\n**or OpenAI directly:**\n```bash\nexport OPENAI_API_KEY=sk-...\n```\n\n### Python\n\n```bash\npip install semantic-kernel\n```\n\n### .NET\n\n```bash\ndotnet add package Microsoft.SemanticKernel\ndotnet add package Microsoft.SemanticKernel.Agents.Core\n```\n\n### Java\n\nSee [semantic-kernel-java build](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel-java\u002Fblob\u002Fmain\u002FBUILD.md) for instructions.\n\n## Quickstart\n\n### Basic Agent - Python\n\nCreate a simple assistant that responds to user prompts:\n\n```python\nimport asyncio\nfrom semantic_kernel.agents import ChatCompletionAgent\nfrom semantic_kernel.connectors.ai.open_ai import AzureChatCompletion\n\nasync def main():\n    # Initialize a chat agent with basic instructions\n    agent = ChatCompletionAgent(\n        service=AzureChatCompletion(),\n        name=\"SK-Assistant\",\n        instructions=\"You are a helpful assistant.\",\n    )\n\n    # Get a response to a user message\n    response = await agent.get_response(messages=\"Write a haiku about Semantic Kernel.\")\n    print(response.content)\n\nasyncio.run(main()) \n\n# Output:\n# Language's essence,\n# Semantic threads intertwine,\n# Meaning's core revealed.\n```\n\n### Basic Agent - .NET\n\n```csharp\nusing Microsoft.SemanticKernel;\nusing Microsoft.SemanticKernel.Agents;\n\nvar builder = Kernel.CreateBuilder();\nbuilder.AddAzureOpenAIChatCompletion(\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_DEPLOYMENT\"),\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_ENDPOINT\"),\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_API_KEY\")\n                );\nvar kernel = builder.Build();\n\nChatCompletionAgent agent =\n    new()\n    {\n        Name = \"SK-Agent\",\n        Instructions = \"You are a helpful assistant.\",\n        Kernel = kernel,\n    };\n\nawait foreach (AgentResponseItem\u003CChatMessageContent> response \n    in agent.InvokeAsync(\"Write a haiku about Semantic Kernel.\"))\n{\n    Console.WriteLine(response.Message);\n}\n\n\u002F\u002F Output:\n\u002F\u002F Language's essence,\n\u002F\u002F Semantic threads intertwine,\n\u002F\u002F Meaning's core revealed.\n```\n\n### Agent with Plugins - Python\n\nEnhance your agent with custom tools (plugins) and structured output:\n\n```python\nimport asyncio\nfrom typing import Annotated\nfrom pydantic import BaseModel\nfrom semantic_kernel.agents import ChatCompletionAgent\nfrom semantic_kernel.connectors.ai.open_ai import AzureChatCompletion, OpenAIChatPromptExecutionSettings\nfrom semantic_kernel.functions import kernel_function, KernelArguments\n\nclass MenuPlugin:\n    @kernel_function(description=\"Provides a list of specials from the menu.\")\n    def get_specials(self) -> Annotated[str, \"Returns the specials from the menu.\"]:\n        return \"\"\"\n        Special Soup: Clam Chowder\n        Special Salad: Cobb Salad\n        Special Drink: Chai Tea\n        \"\"\"\n\n    @kernel_function(description=\"Provides the price of the requested menu item.\")\n    def get_item_price(\n        self, menu_item: Annotated[str, \"The name of the menu item.\"]\n    ) -> Annotated[str, \"Returns the price of the menu item.\"]:\n        return \"$9.99\"\n\nclass MenuItem(BaseModel):\n    price: float\n    name: str\n\nasync def main():\n    # Configure structured output format\n    settings = OpenAIChatPromptExecutionSettings()\n    settings.response_format = MenuItem\n\n    # Create agent with plugin and settings\n    agent = ChatCompletionAgent(\n        service=AzureChatCompletion(),\n        name=\"SK-Assistant\",\n        instructions=\"You are a helpful assistant.\",\n        plugins=[MenuPlugin()],\n        arguments=KernelArguments(settings)\n    )\n\n    response = await agent.get_response(messages=\"What is the price of the soup special?\")\n    print(response.content)\n\n    # Output:\n    # The price of the Clam Chowder, which is the soup special, is $9.99.\n\nasyncio.run(main()) \n```\n\n### Agent with Plugin - .NET\n\n```csharp\nusing System.ComponentModel;\nusing Microsoft.SemanticKernel;\nusing Microsoft.SemanticKernel.Agents;\nusing Microsoft.SemanticKernel.ChatCompletion;\n\nvar builder = Kernel.CreateBuilder();\nbuilder.AddAzureOpenAIChatCompletion(\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_DEPLOYMENT\"),\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_ENDPOINT\"),\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_API_KEY\")\n                );\nvar kernel = builder.Build();\n\nkernel.Plugins.Add(KernelPluginFactory.CreateFromType\u003CMenuPlugin>());\n\nChatCompletionAgent agent =\n    new()\n    {\n        Name = \"SK-Assistant\",\n        Instructions = \"You are a helpful assistant.\",\n        Kernel = kernel,\n        Arguments = new KernelArguments(new PromptExecutionSettings() { FunctionChoiceBehavior = FunctionChoiceBehavior.Auto() })\n\n    };\n\nawait foreach (AgentResponseItem\u003CChatMessageContent> response \n    in agent.InvokeAsync(\"What is the price of the soup special?\"))\n{\n    Console.WriteLine(response.Message);\n}\n\nsealed class MenuPlugin\n{\n    [KernelFunction, Description(\"Provides a list of specials from the menu.\")]\n    public string GetSpecials() =>\n        \"\"\"\n        Special Soup: Clam Chowder\n        Special Salad: Cobb Salad\n        Special Drink: Chai Tea\n        \"\"\";\n\n    [KernelFunction, Description(\"Provides the price of the requested menu item.\")]\n    public string GetItemPrice(\n        [Description(\"The name of the menu item.\")]\n        string menuItem) =>\n        \"$9.99\";\n}\n```\n\n### Multi-Agent System - Python\n\nBuild a system of specialized agents that can collaborate:\n\n```python\nimport asyncio\nfrom semantic_kernel.agents import ChatCompletionAgent, ChatHistoryAgentThread\nfrom semantic_kernel.connectors.ai.open_ai import AzureChatCompletion, OpenAIChatCompletion\n\nbilling_agent = ChatCompletionAgent(\n    service=AzureChatCompletion(), \n    name=\"BillingAgent\", \n    instructions=\"You handle billing issues like charges, payment methods, cycles, fees, discrepancies, and payment failures.\"\n)\n\nrefund_agent = ChatCompletionAgent(\n    service=AzureChatCompletion(),\n    name=\"RefundAgent\",\n    instructions=\"Assist users with refund inquiries, including eligibility, policies, processing, and status updates.\",\n)\n\ntriage_agent = ChatCompletionAgent(\n    service=OpenAIChatCompletion(),\n    name=\"TriageAgent\",\n    instructions=\"Evaluate user requests and forward them to BillingAgent or RefundAgent for targeted assistance.\"\n    \" Provide the full answer to the user containing any information from the agents\",\n    plugins=[billing_agent, refund_agent],\n)\n\nthread: ChatHistoryAgentThread = None\n\nasync def main() -> None:\n    print(\"Welcome to the chat bot!\\n  Type 'exit' to exit.\\n  Try to get some billing or refund help.\")\n    while True:\n        user_input = input(\"User:> \")\n\n        if user_input.lower().strip() == \"exit\":\n            print(\"\\n\\nExiting chat...\")\n            return False\n\n        response = await triage_agent.get_response(\n            messages=user_input,\n            thread=thread,\n        )\n\n        if response:\n            print(f\"Agent :> {response}\")\n\n# Agent :> I understand that you were charged twice for your subscription last month, and I'm here to assist you with resolving this issue. Here’s what we need to do next:\n\n# 1. **Billing Inquiry**:\n#    - Please provide the email address or account number associated with your subscription, the date(s) of the charges, and the amount charged. This will allow the billing team to investigate the discrepancy in the charges.\n\n# 2. **Refund Process**:\n#    - For the refund, please confirm your subscription type and the email address associated with your account.\n#    - Provide the dates and transaction IDs for the charges you believe were duplicated.\n\n# Once we have these details, we will be able to:\n\n# - Check your billing history for any discrepancies.\n# - Confirm any duplicate charges.\n# - Initiate a refund for the duplicate payment if it qualifies. The refund process usually takes 5-10 business days after approval.\n\n# Please provide the necessary details so we can proceed with resolving this issue for you.\n\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n\n\n## Where to Go Next\n\n1. 📖 Try our [Getting Started Guide](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fsemantic-kernel\u002Fget-started\u002Fquick-start-guide) or learn about [Building Agents](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fsemantic-kernel\u002Fframeworks\u002Fagent\u002F)\n2. 🔌 Explore over 100 [Detailed Samples](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fsemantic-kernel\u002Fget-started\u002Fdetailed-samples)\n3. 💡 Learn about core Semantic Kernel [Concepts](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fsemantic-kernel\u002Fconcepts\u002Fkernel)\n\n### API References\n\n- [C# API reference](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fdotnet\u002Fapi\u002Fmicrosoft.semantickernel?view=semantic-kernel-dotnet)\n- [Python API reference](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fpython\u002Fapi\u002Fsemantic-kernel\u002Fsemantic_kernel?view=semantic-kernel-python)\n\n## Troubleshooting\n\n### Common Issues\n\n- **Authentication Errors**: Check that your API key environment variables are correctly set\n- **Model Availability**: Verify your Azure OpenAI deployment or OpenAI model access\n\n### Getting Help\n\n- Check our [GitHub issues](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fissues) for known problems\n- Search the [Discord community](https:\u002F\u002Faka.ms\u002FSKDiscord) for solutions\n- Include your SDK version and full error messages when asking for help\n\n\n## Join the community\n\nWe welcome your contributions and suggestions to the SK community! One of the easiest ways to participate is to engage in discussions in the GitHub repository. Bug reports and fixes are welcome!\n\nFor new features, components, or extensions, please open an issue and discuss with us before sending a PR. This is to avoid rejection as we might be taking the core in a different direction, but also to consider the impact on the larger ecosystem.\n\nTo learn more and get started:\n\n- Read the [documentation](https:\u002F\u002Faka.ms\u002Fsk\u002Flearn)\n- Learn how to [contribute](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fsemantic-kernel\u002Fsupport\u002Fcontributing) to the project\n- Ask questions in the [GitHub discussions](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fdiscussions)\n- Ask questions in the [Discord community](https:\u002F\u002Faka.ms\u002FSKDiscord)\n\n- Attend [regular office hours and SK community events](COMMUNITY.md)\n- Follow the team on our [blog](https:\u002F\u002Faka.ms\u002Fsk\u002Fblog)\n\n## Contributor Wall of Fame\n\n[![semantic-kernel contributors](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_semantic-kernel_readme_d1ba4d66e806.png)](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fgraphs\u002Fcontributors)\n\n## Code of Conduct\n\nThis project has adopted the\n[Microsoft Open Source Code of Conduct](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002F).\nFor more information, see the\n[Code of Conduct FAQ](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002Ffaq\u002F)\nor contact [opencode@microsoft.com](mailto:opencode@microsoft.com)\nwith any additional questions or comments.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","# 语义核\n\n**使用这款企业级编排框架构建智能 AI 代理和多代理系统**\n\n[![许可证：MIT](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmicrosoft\u002Fsemantic-kernel)](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fblob\u002Fmain\u002FLICENSE)\n[![Python 包](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fsemantic-kernel)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fsemantic-kernel\u002F)\n[![NuGet 包](https:\u002F\u002Fimg.shields.io\u002Fnuget\u002Fvpre\u002FMicrosoft.SemanticKernel)](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FMicrosoft.SemanticKernel\u002F)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1063152441819942922?label=Discord&logo=discord&logoColor=white&color=d82679)](https:\u002F\u002Faka.ms\u002FSKDiscord)\n\n\n## 什么是语义核？\n\n语义核是一个与模型无关的 SDK，它使开发者能够构建、编排和部署 AI 代理及多代理系统。无论您是在构建一个简单的聊天机器人，还是复杂的多代理工作流，语义核都能为您提供所需工具，并具备企业级的可靠性和灵活性。\n\n## 系统要求\n\n- **Python**: 3.10+\n- **.NET**: .NET 10.0+ \n- **Java**: JDK 17+\n- **操作系统支持**: Windows、macOS、Linux\n\n## 核心特性\n\n- **模型灵活性**: 可连接任何 LLM，内置对 [OpenAI](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fintroduction)、[Azure OpenAI](https:\u002F\u002Fazure.microsoft.com\u002Fen-us\u002Fproducts\u002Fai-services\u002Fopenai-service)、[Hugging Face](https:\u002F\u002Fhuggingface.co\u002F)、[NVidia](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fai-data-science\u002Fproducts\u002Fnim-microservices\u002F) 等的支持\n- **代理框架**: 构建模块化 AI 代理，可访问工具\u002F插件、记忆和规划能力\n- **多代理系统**: 编排复杂的工作流程，让专业代理协同工作\n- **插件生态系统**: 可通过原生代码函数、提示模板、OpenAPI 规范或模型上下文协议 (MCP) 进行扩展\n- **向量数据库支持**: 无缝集成 [Azure AI 搜索](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fsearch-what-is-azure-search)、[Elasticsearch](https:\u002F\u002Fwww.elastic.co\u002F)、[Chroma](https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Foverview\u002Fgetting-started) 等\n- **多模态支持**: 处理文本、视觉和音频输入\n- **本地部署**: 可与 [Ollama](https:\u002F\u002Follama.com\u002F)、[LMStudio](https:\u002F\u002Flmstudio.ai\u002F) 或 [ONNX](https:\u002F\u002Fonnx.ai\u002F) 配合使用\n- **流程框架**: 使用结构化的流程方法来建模复杂的业务流程\n- **企业就绪**: 专为可观测性、安全性及稳定的 API 而设计\n\n## 安装\n\n首先，设置您的 AI 服务环境变量：\n\n**Azure OpenAI:**\n```bash\nexport AZURE_OPENAI_API_KEY=AAA....\n```\n\n**或直接使用 OpenAI:**\n```bash\nexport OPENAI_API_KEY=sk-...\n```\n\n### Python\n\n```bash\npip install semantic-kernel\n```\n\n### .NET\n\n```bash\ndotnet add package Microsoft.SemanticKernel\ndotnet add package Microsoft.SemanticKernel.Agents.Core\n```\n\n### Java\n\n请参阅 [semantic-kernel-java 构建文档](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel-java\u002Fblob\u002Fmain\u002FBUILD.md)，获取安装说明。\n\n## 快速入门\n\n### 基础代理 - Python\n\n创建一个简单的助手，响应用户提示：\n\n```python\nimport asyncio\nfrom semantic_kernel.agents import ChatCompletionAgent\nfrom semantic_kernel.connectors.ai.open_ai import AzureChatCompletion\n\nasync def main():\n    # 初始化一个带有基本指令的聊天代理\n    agent = ChatCompletionAgent(\n        service=AzureChatCompletion(),\n        name=\"SK-Assistant\",\n        instructions=\"你是一位乐于助人的助手。\",\n    )\n\n    # 获取用户消息的回应\n    response = await agent.get_response(messages=\"写一首关于语义核的俳句。\")\n    print(response.content)\n\nasyncio.run(main()) \n\n# 输出：\n# 语言之精髓，\n# 语义线交织，\n# 意义核心现。\n```\n\n### 基础代理 - .NET\n\n```csharp\nusing Microsoft.SemanticKernel;\nusing Microsoft.SemanticKernel.Agents;\n\nvar builder = Kernel.CreateBuilder();\nbuilder.AddAzureOpenAIChatCompletion(\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_DEPLOYMENT\"),\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_ENDPOINT\"),\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_API_KEY\")\n                );\nvar kernel = builder.Build();\n\nChatCompletionAgent agent =\n    new()\n    {\n        Name = \"SK-Agent\",\n        Instructions = \"你是一位乐于助人的助手。\",\n        Kernel = kernel,\n    };\n\nawait foreach (AgentResponseItem\u003CChatMessageContent> response \n    in agent.InvokeAsync(\"写一首关于语义核的俳句。\"))\n{\n    Console.WriteLine(response.Message);\n}\n\n\u002F\u002F 输出：\n\u002F\u002F 语言之精髓，\n\u002F\u002F 语义线交织，\n\u002F\u002F 意义核心现。\n```\n\n### 带插件的代理 - Python\n\n通过自定义工具（插件）和结构化输出增强您的代理：\n\n```python\nimport asyncio\nfrom typing import Annotated\nfrom pydantic import BaseModel\nfrom semantic_kernel.agents import ChatCompletionAgent\nfrom semantic_kernel.connectors.ai.open_ai import AzureChatCompletion, OpenAIChatPromptExecutionSettings\nfrom semantic_kernel.functions import kernel_function, KernelArguments\n\nclass MenuPlugin:\n    @kernel_function(description=\"提供菜单中的特价菜品列表。\")\n    def get_specials(self) -> Annotated[str, \"返回菜单中的特价菜品。\"]:\n        return \"\"\"\n        特价汤：蛤蜊浓汤\n        特价沙拉：科布沙拉\n        特价饮品：柴茶\n        \"\"\"\n\n    @kernel_function(description=\"提供所请求菜单项的价格。\")\n    def get_item_price(\n        self, menu_item: Annotated[str, \"菜单项的名称。\"]\n    ) -> Annotated[str, \"返回菜单项的价格。\"]:\n        return \"$9.99\"\n\nclass MenuItem(BaseModel):\n    price: float\n    name: str\n\nasync def main():\n    # 配置结构化输出格式\n    settings = OpenAIChatPromptExecutionSettings()\n    settings.response_format = MenuItem\n\n    # 创建带有插件和设置的代理\n    agent = ChatCompletionAgent(\n        service=AzureChatCompletion(),\n        name=\"SK-Assistant\",\n        instructions=\"你是一位乐于助人的助手。\",\n        plugins=[MenuPlugin()],\n        arguments=KernelArguments(settings)\n    )\n\n    response = await agent.get_response(messages=\"特价汤的价格是多少？\")\n    print(response.content)\n\n    # 输出：\n    # 特价汤——蛤蜊浓汤的价格是 $9.99。\n\nasyncio.run(main()) \n```\n\n### 带插件的代理 - .NET\n\n```csharp\nusing System.ComponentModel;\nusing Microsoft.SemanticKernel;\nusing Microsoft.SemanticKernel.Agents;\nusing Microsoft.SemanticKernel.ChatCompletion;\n\nvar builder = Kernel.CreateBuilder();\nbuilder.AddAzureOpenAIChatCompletion(\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_DEPLOYMENT\"),\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_ENDPOINT\"),\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_API_KEY\")\n                );\nvar kernel = builder.Build();\n\nkernel.Plugins.Add(KernelPluginFactory.CreateFromType\u003CMenuPlugin>());\n\nChatCompletionAgent agent =\n    new()\n    {\n        Name = \"SK-Assistant\",\n        Instructions = \"You are a helpful assistant.\",\n        Kernel = kernel,\n        Arguments = new KernelArguments(new PromptExecutionSettings() { FunctionChoiceBehavior = FunctionChoiceBehavior.Auto() })\n\n    };\n\nawait foreach (AgentResponseItem\u003CChatMessageContent> response \n    in agent.InvokeAsync(\"What is the price of the soup special?\"))\n{\n    Console.WriteLine(response.Message);\n}\n\nsealed class MenuPlugin\n{\n    [KernelFunction, Description(\"Provides a list of specials from the menu.\")]\n    public string GetSpecials() =>\n        \"\"\"\n        Special Soup: Clam Chowder\n        Special Salad: Cobb Salad\n        Special Drink: Chai Tea\n        \"\"\";\n\n    [KernelFunction, Description(\"Provides the price of the requested menu item.\")]\n    public string GetItemPrice(\n        [Description(\"The name of the menu item.\")]\n        string menuItem) =>\n        \"$9.99\";\n}\n```\n\n### 多智能体系统 - Python\n\n构建一个可以协作的专业化智能体系统：\n\n```python\nimport asyncio\nfrom semantic_kernel.agents import ChatCompletionAgent, ChatHistoryAgentThread\nfrom semantic_kernel.connectors.ai.open_ai import AzureChatCompletion, OpenAIChatCompletion\n\nbilling_agent = ChatCompletionAgent(\n    service=AzureChatCompletion(), \n    name=\"BillingAgent\", \n    instructions=\"You handle billing issues like charges, payment methods, cycles, fees, discrepancies, and payment failures.\"\n)\n\nrefund_agent = ChatCompletionAgent(\n    service=AzureChatCompletion(),\n    name=\"RefundAgent\",\n    instructions=\"Assist users with refund inquiries, including eligibility, policies, processing, and status updates.\"\n)\n\ntriage_agent = ChatCompletionAgent(\n    service=OpenAIChatCompletion(),\n    name=\"TriageAgent\",\n    instructions=\"Evaluate user requests and forward them to BillingAgent or RefundAgent for targeted assistance.\n    Provide the full answer to the user containing any information from the agents\",\n    plugins=[billing_agent, refund_agent],\n)\n\nthread: ChatHistoryAgentThread = None\n\nasync def main() -> None:\n    print(\"Welcome to the chat bot!\\n  Type 'exit' to exit.\\n  Try to get some billing or refund help.\")\n    while True:\n        user_input = input(\"User:> \")\n\n        if user_input.lower().strip() == \"exit\":\n            print(\"\\n\\nExiting chat...\")\n            return False\n\n        response = await triage_agent.get_response(\n            messages=user_input,\n            thread=thread,\n        )\n\n        if response:\n            print(f\"Agent :> {response}\")\n\n# Agent :> I understand that you were charged twice for your subscription last month, and I'm here to assist you with resolving this issue. Here’s what we need to do next:\n\n# 1. **Billing Inquiry**:\n#    - Please provide the email address or account number associated with your subscription, the date(s) of the charges, and the amount charged. This will allow the billing team to investigate the discrepancy in the charges.\n\n# 2. **Refund Process**:\n#    - For the refund, please confirm your subscription type and the email address associated with your account.\n#    - Provide the dates and transaction IDs for the charges you believe were duplicated.\n\n# Once we have these details, we will be able to:\n\n# - Check your billing history for any discrepancies.\n# - Confirm any duplicate charges.\n# - Initiate a refund for the duplicate payment if it qualifies. The refund process usually takes 5-10 business days after approval.\n\n# Please provide the necessary details so we can proceed with resolving this issue for you.\n\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n\n\n## 下一步\n\n1. 📖 尝试我们的[入门指南](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fsemantic-kernel\u002Fget-started\u002Fquick-start-guide)或了解[构建智能体](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fsemantic-kernel\u002Fframeworks\u002Fagent\u002F)\n2. 🔌 浏览超过100个[详细示例](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fsemantic-kernel\u002Fget-started\u002Fdetailed-samples)\n3. 💡 了解核心语义知识图谱的[概念](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fsemantic-kernel\u002Fconcepts\u002Fkernel)\n\n### API 参考\n\n- [C# API 参考](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fdotnet\u002Fapi\u002Fmicrosoft.semantickernel?view=semantic-kernel-dotnet)\n- [Python API 参考](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fpython\u002Fapi\u002Fsemantic-kernel\u002Fsemantic_kernel?view=semantic-kernel-python)\n\n## 故障排除\n\n### 常见问题\n\n- **身份验证错误**: 检查您的 API 密钥环境变量是否正确设置\n- **模型可用性**: 验证您的 Azure OpenAI 部署或 OpenAI 模型访问权限\n\n### 获取帮助\n\n- 查看我们的[GitHub 问题](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fissues)以了解已知问题\n- 在[Discord 社区](https:\u002F\u002Faka.ms\u002FSKDiscord)中搜索解决方案\n- 请求帮助时，请包含您的 SDK 版本和完整的错误信息\n\n\n## 加入社区\n\n我们欢迎您对 SK 社区的贡献和建议！参与最简单的方式就是在 GitHub 仓库中参与讨论。我们欢迎提交 bug 报告和修复！\n\n对于新功能、组件或扩展，请在发送 PR 之前先创建一个问题并与我们讨论。这样做既可以避免因我们可能朝不同方向发展而被拒绝，也可以考虑对更大生态系统的影响。\n\n要了解更多并开始参与：\n\n- 阅读[文档](https:\u002F\u002Faka.ms\u002Fsk\u002Flearn)\n- 学习如何为项目[做出贡献](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fsemantic-kernel\u002Fsupport\u002Fcontributing)\n- 在[GitHub 讨论区](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fdiscussions)提问\n- 在[Discord 社区](https:\u002F\u002Faka.ms\u002FSKDiscord)提问\n\n- 参加[定期的办公时间和 SK 社区活动](COMMUNITY.md)\n- 关注我们的[博客](https:\u002F\u002Faka.ms\u002Fsk\u002Fblog)\n\n## 贡献者名人堂\n\n[![semantic-kernel contributors](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_semantic-kernel_readme_d1ba4d66e806.png)](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fgraphs\u002Fcontributors)\n\n## 行为准则\n\n本项目已采用\n[微软开源行为准则](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002F)。\n如需更多信息，请参阅\n[行为准则常见问题解答](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002Ffaq\u002F)\n或发送邮件至 [opencode@microsoft.com](mailto:opencode@microsoft.com)\n以提出任何其他问题或意见。\n\n## 许可证\n\n版权所有 © 微软公司。保留所有权利。\n\n根据 [MIT](LICENSE) 许可证授权。","# Semantic Kernel 快速上手指南\n\nSemantic Kernel 是微软推出的企业级 AI 编排框架，支持构建智能 AI 代理（Agent）及多代理系统。它模型无关，可灵活连接各类大语言模型（LLM），并提供插件扩展、记忆管理和复杂工作流编排能力。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Windows, macOS, 或 Linux\n*   **Python 用户**：Python 3.10+\n*   **.NET 用户**：.NET 10.0+\n*   **Java 用户**：JDK 17+\n*   **API 密钥**：需准备好 Azure OpenAI 或 OpenAI 的 API Key\n\n### 配置环境变量\n\n在使用前，请在终端中设置您的 AI 服务密钥：\n\n**使用 Azure OpenAI:**\n```bash\nexport AZURE_OPENAI_API_KEY=AAA....\nexport AZURE_OPENAI_ENDPOINT=https:\u002F\u002Fyour-resource.openai.azure.com\u002F\nexport AZURE_OPENAI_DEPLOYMENT=your-deployment-name\n```\n\n**或直接使用 OpenAI:**\n```bash\nexport OPENAI_API_KEY=sk-...\n```\n\n## 安装步骤\n\n根据您的开发语言选择相应的安装命令。\n\n> **提示**：国内开发者若遇到 PyPI 下载缓慢，可使用清华源加速安装：\n> `pip install semantic-kernel -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n### Python\n```bash\npip install semantic-kernel\n```\n\n### .NET\n```bash\ndotnet add package Microsoft.SemanticKernel\ndotnet add package Microsoft.SemanticKernel.Agents.Core\n```\n\n### Java\n请参考官方构建文档：[semantic-kernel-java build](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel-java\u002Fblob\u002Fmain\u002FBUILD.md)\n\n## 基本使用\n\n以下示例展示如何创建一个基础的 AI 代理并与其对话。\n\n### Python 示例\n\n创建一个简单的助手，使其能够响应用户指令生成内容：\n\n```python\nimport asyncio\nfrom semantic_kernel.agents import ChatCompletionAgent\nfrom semantic_kernel.connectors.ai.open_ai import AzureChatCompletion\n\nasync def main():\n    # 初始化一个带有基本指令的聊天代理\n    agent = ChatCompletionAgent(\n        service=AzureChatCompletion(),\n        name=\"SK-Assistant\",\n        instructions=\"You are a helpful assistant.\",\n    )\n\n    # 获取对用户消息的响应\n    response = await agent.get_response(messages=\"Write a haiku about Semantic Kernel.\")\n    print(response.content)\n\nasyncio.run(main()) \n\n# Output:\n# Language's essence,\n# Semantic threads intertwine,\n# Meaning's core revealed.\n```\n\n### .NET 示例\n\n在 C# 中构建并运行同一个助手：\n\n```csharp\nusing Microsoft.SemanticKernel;\nusing Microsoft.SemanticKernel.Agents;\n\nvar builder = Kernel.CreateBuilder();\nbuilder.AddAzureOpenAIChatCompletion(\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_DEPLOYMENT\"),\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_ENDPOINT\"),\n                Environment.GetEnvironmentVariable(\"AZURE_OPENAI_API_KEY\")\n                );\nvar kernel = builder.Build();\n\nChatCompletionAgent agent =\n    new()\n    {\n        Name = \"SK-Agent\",\n        Instructions = \"You are a helpful assistant.\",\n        Kernel = kernel,\n    };\n\nawait foreach (AgentResponseItem\u003CChatMessageContent> response \n    in agent.InvokeAsync(\"Write a haiku about Semantic Kernel.\"))\n{\n    Console.WriteLine(response.Message);\n}\n\n\u002F\u002F Output:\n\u002F\u002F Language's essence,\n\u002F\u002F Semantic threads intertwine,\n\u002F\u002F Meaning's core revealed.\n```\n\n### 进阶：带插件的代理 (Python)\n\n通过插件为代理添加自定义工具能力（例如查询菜单价格）：\n\n```python\nimport asyncio\nfrom typing import Annotated\nfrom pydantic import BaseModel\nfrom semantic_kernel.agents import ChatCompletionAgent\nfrom semantic_kernel.connectors.ai.open_ai import AzureChatCompletion, OpenAIChatPromptExecutionSettings\nfrom semantic_kernel.functions import kernel_function, KernelArguments\n\nclass MenuPlugin:\n    @kernel_function(description=\"Provides a list of specials from the menu.\")\n    def get_specials(self) -> Annotated[str, \"Returns the specials from the menu.\"]:\n        return \"\"\"\n        Special Soup: Clam Chowder\n        Special Salad: Cobb Salad\n        Special Drink: Chai Tea\n        \"\"\"\n\n    @kernel_function(description=\"Provides the price of the requested menu item.\")\n    def get_item_price(\n        self, menu_item: Annotated[str, \"The name of the menu item.\"]\n    ) -> Annotated[str, \"Returns the price of the menu item.\"]:\n        return \"$9.99\"\n\nclass MenuItem(BaseModel):\n    price: float\n    name: str\n\nasync def main():\n    # 配置结构化输出格式\n    settings = OpenAIChatPromptExecutionSettings()\n    settings.response_format = MenuItem\n\n    # 创建带有插件和设置的代理\n    agent = ChatCompletionAgent(\n        service=AzureChatCompletion(),\n        name=\"SK-Assistant\",\n        instructions=\"You are a helpful assistant.\",\n        plugins=[MenuPlugin()],\n        arguments=KernelArguments(settings)\n    )\n\n    response = await agent.get_response(messages=\"What is the price of the soup special?\")\n    print(response.content)\n\n    # Output:\n    # The price of the Clam Chowder, which is the soup special, is $9.99.\n\nasyncio.run(main()) \n```","某电商企业的技术团队正致力于构建一个能自动处理售后退款、查询物流并安抚用户情绪的智能客服系统。\n\n### 没有 semantic-kernel 时\n- **模型绑定严重**：代码与特定大模型 API 强耦合，若想从 OpenAI 切换到 Azure 或本地部署的 Llama 模型，需重构大量底层连接代码。\n- **流程编排混乱**：处理复杂退款逻辑时，开发者需手动编写繁琐的状态机代码来协调“查订单”、“调银行接口”和“生成回复”的顺序，极易出错。\n- **功能扩展困难**：每新增一个业务插件（如积分抵扣），都要重新设计提示词模板与函数调用的对接逻辑，开发周期长且难以维护。\n- **缺乏记忆机制**：机器人无法在长对话中记住用户之前的诉求，导致用户需重复陈述问题，体验极差。\n\n### 使用 semantic-kernel 后\n- **模型灵活切换**：利用其模型无关的特性，仅需修改配置即可无缝切换 OpenAI、Azure 或本地 Ollama 模型，底层业务逻辑无需任何改动。\n- **智能代理编排**：通过内置的 Agent 框架，轻松定义具备规划能力的智能体，自动拆解“退款”任务并有序调用各个专业插件，大幅降低编码复杂度。\n- **插件生态复用**：直接以标准化方式注册 C# 或 Python 原生函数作为插件，结合提示词模板快速扩展新能力，实现业务功能的模块化热插拔。\n- **原生记忆支持**：集成向量数据库支持，让智能体自动检索历史对话上下文，精准理解用户意图，提供连贯且个性化的服务。\n\nsemantic-kernel 将原本碎片化的大模型集成工作转化为企业级的标准化工程，让开发者能专注于业务逻辑而非底层适配。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_semantic-kernel_beae025d.png","microsoft","Microsoft","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmicrosoft_4900709c.png","Open source projects and samples from Microsoft",null,"opensource@microsoft.com","OpenAtMicrosoft","https:\u002F\u002Fopensource.microsoft.com","https:\u002F\u002Fgithub.com\u002Fmicrosoft",[83,87,91,95,99,103,106,110,113,116],{"name":84,"color":85,"percentage":86},"C#","#178600",66.7,{"name":88,"color":89,"percentage":90},"Python","#3572A5",31.3,{"name":92,"color":93,"percentage":94},"Jupyter Notebook","#DA5B0B",1.4,{"name":96,"color":97,"percentage":98},"TypeScript","#3178c6",0.3,{"name":100,"color":101,"percentage":102},"Bicep","#519aba",0.1,{"name":104,"color":105,"percentage":102},"CSS","#663399",{"name":107,"color":108,"percentage":109},"PowerShell","#012456",0,{"name":111,"color":112,"percentage":109},"HTML","#e34c26",{"name":114,"color":115,"percentage":109},"Handlebars","#f7931e",{"name":117,"color":118,"percentage":109},"Makefile","#427819",27741,4556,"2026-04-19T10:08:45","MIT","Windows, macOS, Linux","未说明（支持本地部署如 Ollama、LMStudio、ONNX，具体 GPU 需求取决于所选模型后端）","未说明",{"notes":127,"python":128,"dependencies":129},"该工具是一个多语言 SDK（支持 Python、.NET、Java），用于构建 AI 代理和多代理系统。本身不捆绑特定大模型，需自行配置 AI 服务（如 Azure OpenAI、OpenAI、Hugging Face 等）或本地推理后端（如 Ollama、LMStudio）。运行前需设置相应的 API Key 环境变量。Java 版本需 JDK 17+，.NET 版本需 .NET 10.0+。","3.10+",[130,131,132],"semantic-kernel (Python package)","Microsoft.SemanticKernel (.NET package)","Microsoft.SemanticKernel.Agents.Core (.NET package)",[15,14,13,35],[135,136,137,138,139],"ai","artificial-intelligence","llm","openai","sdk","2026-03-27T02:49:30.150509","2026-04-20T07:16:08.386615",[143,148,153,158,163,167],{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},43921,"如何在 C# (.NET) 中集成 Anthropic (Claude) 模型？官方是否提供原生支持？","目前官方建议通过社区实现的 `IChatClient` 进行集成，而不是等待官方仓库的中心化支持。你可以使用社区的 Anthropic SDK（如 `Anthropic.SDK`），并将其转换为 Semantic Kernel 的 `IChatCompletionService`。\n\n具体代码示例如下：\n```csharp\nusing Microsoft.SemanticKernel;\n\n\u002F\u002F 方法 1：直接转换\nvar skChatService = new AnthropicClient().Messages.AsChatCompletionService();\n\n\u002F\u002F 方法 2：通过 Kernel Builder 注册\nvar builder = Kernel.CreateBuilder();\nbuilder.Services.AddTransient\u003CIChatCompletionService>((sp) => new AnthropicClient().Messages.AsChatCompletionService());\n```\n未来随着 `Microsoft.Extensions.AI.IChatClient` 抽象层的普及，将可以直接在 `Kernel` 中使用 `IChatClient` 而无需额外转换。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fissues\u002F5690",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},43922,"运行 OpenAI 函数调用示例时遇到 'ImportPluginFunctionsAsync' 不存在或 'ISKFunction' 找不到的编译错误，如何解决？","这是因为示例代码依赖了最新版本的 `Microsoft.SemanticKernel.Functions.OpenAPI` 包，其中方法名已从弃用的 `ImportAIPluginAsync` 更改为 `ImportPluginFunctionsAsync`。如果你使用的是旧版本包，会出现此错误。\n\n你有以下三种解决方案：\n1. **升级包**：获取 `Microsoft.SemanticKernel.Functions.OpenAPI` 的最新 nightly 构建版本。\n2. **修改代码**：保留当前包版本，将代码中的 `ImportPluginFunctionsAsync` 替换回 `ImportAIPluginAsync`（功能相同）。\n3. **移除依赖**：如果不需要示例中的 Klarna 插件功能，可以注释掉导入该插件的代码行以移除依赖。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fissues\u002F1450",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},43923,"部署 Copilot Chat 应用后，发送消息时出现 \"Cannot read properties of undefined (reading 'toLocaleLowerCase')\" 错误，怎么办？","该问题是由于 MSAL 认证库中个人账号的 \"name\" 属性未定义（null\u002Fundefined），导致前端或后端解析时发生空指针异常。\n\n解决方案已在主分支修复：代码现在会检查 \"name\" 属性，如果为空，则自动回退使用账号的用户名（username）。请拉取最新的代码更新即可解决个人账号登录后的报错问题。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fissues\u002F912",{"id":159,"question_zh":160,"answer_zh":161,"source_url":162},43924,"如何在 Bot Framework SDK 中使用 Semantic Kernel 实现基于用户意图的动态路由（例如根据查询自动调用不同的技能\u002FAPI）？","目前 Semantic Kernel 本身支持通过自然语言检测用户意图并路由到相应的函数或技能（Plugin）。\n\n对于与 Bot Framework 的集成，目前的推荐做法是：\n1. 创建一个独立的 API 服务，在该服务中利用 Semantic Kernel 处理意图识别和动态路由逻辑。\n2. 使用 Bot Framework 连接到这个 API 服务。\n\n目前官方尚未提供直接在 Bot Framework SDK 内部无缝集成 SK 意图路由的“开箱即用”（OOB）插件或特定方法，需要通过上述 API 桥接的方式实现。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fissues\u002F1214",{"id":164,"question_zh":165,"answer_zh":166,"source_url":147},43925,"为什么 .NET 版本的 Anthropic 连接器 PR 被关闭了？是否还会支持非 Bedrock 的 Anthropic 模型？","相关的 PR 被关闭是因为架构策略的调整。随着 `Microsoft.Extensions.AI.IChatClient` 抽象层的引入，.NET 生态系统现在支持将任何 `IChatClient` 透明地转换为 `SK.IChatCompletionService`。\n\n因此，不再需要在 Semantic Kernel 核心仓库中为每个模型提供商维护专用的连接器代码。对于 Anthropic，由于官方暂无 .NET SDK，团队鼓励使用社区实现的 `IChatClient`（如 `Anthropic.SDK`），并通过上述转换机制直接在 Kernel 中使用。未来的方向是直接支持 `IChatClient`，无需手动转换。",{"id":168,"question_zh":169,"answer_zh":170,"source_url":157},43926,"Copilot Chat 连接时出现 \"System.Net.Sockets.SocketException (10060)\" 且无法连接 api.openai.com，可能是什么原因？","该错误表示网络连接超时（SocketException 10060），通常发生在尝试连接 `api.openai.com` 时。\n\n常见原因及排查步骤：\n1. **网络防火墙\u002F代理**：检查本地网络或公司防火墙是否阻止了对 `api.openai.com:443` 的访问。\n2. **DNS 解析问题**：确认服务器或本地机器能正确解析 OpenAI 的域名。\n3. **区域限制**：某些地区可能无法直接访问 OpenAI API，需要配置合法的代理设置。\n\n日志显示重试次数已达上限，建议优先检查网络连通性（例如使用 `curl` 或 `telnet` 测试端口连通性）。",[172,177,182,187,192,197,202,207,212,217,222,227,232,237,242,247,252,257,262,267],{"id":173,"version":174,"summary_zh":175,"released_at":176},351363,"python-1.41.2","## 变更内容\n* Python：由 @moonbox3 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13738 中改进提示模板消息的序列化及示例用法。\n* Python：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13329 中将 redis[hiredis] 的依赖版本从 ~=6.0 更新为 >=6,\u003C8。\n* Python：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13331 中将 chromadb 的依赖版本从 \u003C1.1,>=0.5 更新为 >=0.5,\u003C1.4。\n* Python：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13124 中将 pymongo 的依赖版本从 \u003C4.15,>=4.8.0 更新为 >=4.8.0,\u003C4.16。\n* Python：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13246 中将 pydantic 的依赖版本从 !=2.10.0,!=2.10.1,!=2.10.2,!=2.10.3,\u003C2.12,>=2.0 更新为 >=2.0,!=2.10.0,!=2.10.1,!=2.10.2,!=2.10.3,\u003C2.13。\n* Python：由 @ymuichiro 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13235 中实现 OpenAI 响应中尊重 FunctionChoiceBehavior 过滤器的代理工具功能。\n* Python：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13330 中将 ipykernel 的依赖版本从 ~=6.29 更新为 >=6.29,\u003C8.0。\n* Python：由 @moonbox3 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13850 中将 Python 版本升级至 1.41.2 以进行发布。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fcompare\u002Fpython-1.41.1...python-1.41.2","2026-04-08T06:01:14",{"id":178,"version":179,"summary_zh":180,"released_at":181},351364,"python-1.41.1","## 变更内容\n* Python：修复（python\u002Fgoogle）：在 Gemini 函数调用部分保留 thought_signature，由 @giulio-leone 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13609 中完成\n* Python：修复因机器人策略导致当前阻塞的图像集成测试，由 @moonbox3 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13680 中完成\n* Python：修复提示模板引擎阻止内容中 HTML 标签的问题，由 @weiguangli-io 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13633 中完成\n* Python：将 \u002Fpython 目录下的 werkzeug 从 3.1.1 升级至 3.1.6，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13605 中完成\n* 因容量限制降低 macOS 运行器的覆盖率，由 @moonbox3 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13686 中完成\n* Python：修复 ChatHistoryTruncationReducer 删除系统提示的问题，由 @roli-lpci 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13610 中完成\n* Python：修复：ChatHistoryTruncationReducer 导致 TOOL 角色消息孤立的问题，由 @giulio-leone 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13608 中完成\n* Python：将 Dapr 模块的默认白名单设置为 semantic_kernel 前缀，由 @moonbox3 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13596 中完成\n* Python：修复（google-ai）：当 use_vertexai 为 True 时跳过 api_key 检查，由 @giulio-leone 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13607 中完成\n* Python：修复 Google AI\u002FVertex AI 在 anyOf 模式下崩溃的问题（#12442），由 @weiguangli-io 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13624 中完成\n* Python：为发布将 Python 版本升级至 1.41.1，由 @moonbox3 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13705 中完成\n\n## 新贡献者\n* @giulio-leone 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13609 中完成了首次贡献\n* @weiguangli-io 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13633 中完成了首次贡献\n* @roli-lpci 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13610 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fcompare\u002Fpython-1.41.0...python-1.41.1","2026-03-25T06:53:20",{"id":183,"version":184,"summary_zh":185,"released_at":186},351365,"dotnet-1.74.0","## 变更：\n\n* 14ea2fcabb02910e6fccfc939d217567caa4a0be SK .NET 发布版本号提升 (#13685)\n* 8b32b3ba6f62e94ea2533d818b89a17eb11bb681 DF PR 审查工作流 (#13687)\n* 30aec16700618b9912e08b0a5f919839e058ca11 将 OpenAI 更新至 2.9.1，Azure.AI.OpenAI 更新至 2.9.0-beta.1，Azure.AI.Projects 更新至 2.0.0-beta.2，Microsoft.Extensions.AI* 更新至 10.4.0 (#13668)\n* 3c1b688dcfd3b05e29423e15b00cc9182b4cf71d Python：修复 ChatHistoryTruncationReducer 删除系统提示的问题 (#13610) [ #12612, #10344 ]\n* bb421f67a7d7561517c0eedc31b911f9819bb323 因容量限制降低 macOS runner 的覆盖率 (#13686)\n* 620e412c70ea72df3aea6080f83d96e42e9e008f Python：将 \u002Fpython 中的 werkzeug 从 3.1.1 升级至 3.1.6 (#13605) [ #3065, #3077, #3075, #3020, #3054, #3067, #3044, #3056, #2994, #2993, #3102, #3097, #3085 ]\n* c9efdf50f5825586f12728bebd1364d806793245 修复 README 中 Chroma 文档的链接 (#13682)\n* 2c880ea4b26017f375b3ae8d11cf22a7119c7ce9 .Net：[破坏性变更] 加强 WebFileDownloadPlugin 插件的安全默认设置 (#13644)\n* 12a7d55d3aca39aeeb20055dbb477b0eaf18da45 .Net：[破坏性变更] 使用默认拒绝的 AllowedDirectories 来加强 DocumentPlugin 的安全默认设置 (#13683)\n* 41cc2487d25a63b6e3ce2f24663f9d03c93787d5 .Net：修复 Qdrant 1.17 返回空向量的问题 (#13638) [ #13587 ]\n\u003Cdetails>\u003Csummary>\u003Cb>查看更多\u003C\u002Fb>\u003C\u002Fsummary>\n\n* 301d7dc9239216b5ac9f38df42dcad2d544c69e1 .Net：从已弃用的 DALL-E 模型迁移到 gpt-image-1 (#13650)\n* c2945847eabf2b32b023373d24dfd58b53c40b07 .NET：针对 CVE-2026-26127 更新系统包依赖项 (#13656) [ #4647 ]\n* e500f727ed6b3ff6f63dacdaf5d224c48275a317 Python：修复提示模板引擎阻止内容中 HTML 标签的问题 (#13633) [ #13632 ]\n* 3f6d72725f85888c7e87ec97c9f1b8a4f1a0b0ee Python：修复因机器人政策而被阻塞的图像集成测试 (#13680)\n* cc83889787188c22a770347aacbf5e4842f9a613 Python：修复(python\u002Fgoogle)：在 Gemini 函数调用部分保留 thought_signature (#13609) [ #13480, #13418 ]\n* b3cf64adf868cd96c767776af5730e17b8510f5b Python：为发布将 Python 版本升级至 1.41.0 (#13655)\n* 5c891d1769e89595375f2fb69c5fe20938e9947e Python：新增对新的 openai 文本转图像模型的支持 (#13651)\n* c250b379f6748e751276991afc39e3ef46e9441c Python：优化内存中向量集合的过滤功能 (#13637)\n* d5c2b9d889355887d6b746425dc45f43c472a76e Python：提高文件名处理的鲁棒性 (#13643)\n* 02da6c47d768b0e84512557f046e913e0bd08d75 更新推荐扩展列表。(#13645)\n* 4d675929578f8a07dfdff5361533d362f628d571 .Net：为 OpenAPI 插件添加服务器 URL 验证选项 (#13631)\n* 86d7a498437d988718c0d15302593e3f69bd19e3 .Net：实现文本搜索 Linq 功能 (#13384)\n\n此变更列表由 [自动生成](https:\u002F\u002Fmsdata.visualstudio.com\u002FVienna\u002F_build\u002Fresults?buildId=211584401&view=logs)。 \u003C\u002Fdetails>","2026-03-20T14:54:19",{"id":188,"version":189,"summary_zh":190,"released_at":191},351366,"vectordata-dotnet-10.1.0","## 变更：\n\n* 14ea2fcabb02910e6fccfc939d217567caa4a0be SK .NET 发布版本号提升 (#13685)\n* 8b32b3ba6f62e94ea2533d818b89a17eb11bb681 DF PR 审核工作流 (#13687)\n* 30aec16700618b9912e08b0a5f919839e058ca11 将 OpenAI 更新至 2.9.1，Azure.AI.OpenAI 更新至 2.9.0-beta.1，Azure.AI.Projects 更新至 2.0.0-beta.2，Microsoft.Extensions.AI* 更新至 10.4.0 (#13668)\n* 3c1b688dcfd3b05e29423e15b00cc9182b4cf71d Python：修复 ChatHistoryTruncationReducer 删除系统提示的问题 (#13610) [ #12612, #10344 ]\n* bb421f67a7d7561517c0eedc31b911f9819bb323 因容量限制降低 macOS 运行器的覆盖率 (#13686)\n* 620e412c70ea72df3aea6080f83d96e42e9e008f Python：将 \u002Fpython 中的 werkzeug 从 3.1.1 升级至 3.1.6 (#13605) [ #3065, #3077, #3075, #3020, #3054, #3067, #3044, #3056, #2994, #2993, #3102, #3097, #3085 ]\n* c9efdf50f5825586f12728bebd1364d806793245 修复 README 中 Chroma 文档的链接 (#13682)\n* 2c880ea4b26017f375b3ae8d11cf22a7119c7ce9 .Net：[破坏性变更] 加强 WebFileDownloadPlugin 的插件安全默认设置 (#13644)\n* 12a7d55d3aca39aeeb20055dbb477b0eaf18da45 .Net：[破坏性变更] 通过默认拒绝 AllowedDirectories 来加强 DocumentPlugin 的安全默认设置 (#13683)\n* 41cc2487d25a63b6e3ce2f24663f9d03c93787d5 .Net：修复 Qdrant 1.17 返回空向量的问题 (#13638) [ #13587 ]\n\u003Cdetails>\u003Csummary>\u003Cb>查看更多\u003C\u002Fb>\u003C\u002Fsummary>\n\n* 301d7dc9239216b5ac9f38df42dcad2d544c69e1 .Net：从已弃用的 DALL-E 模型迁移到 gpt-image-1 (#13650)\n* c2945847eabf2b32b023373d24dfd58b53c40b07 .NET：针对 CVE-2026-26127 更新系统包依赖项 (#13656) [ #4647 ]\n* e500f727ed6b3ff6f63dacdaf5d224c48275a317 Python：修复提示模板引擎阻止内容中 HTML 标签的问题 (#13633) [ #13632 ]\n* 3f6d72725f85888c7e87ec97c9f1b8a4f1a0b0ee Python：修复因机器人政策而被阻塞的图像集成测试 (#13680)\n* cc83889787188c22a770347aacbf5e4842f9a613 Python：修复(python\u002Fgoogle)：在 Gemini 函数调用部分保留 thought_signature (#13609) [ #13480, #13418 ]\n* b3cf64adf868cd96c767776af5730e17b8510f5b Python：为发布将 Python 版本升级至 1.41.0 (#13655)\n* 5c891d1769e89595375f2fb69c5fe20938e9947e Python：新增对 OpenAI 新文本转图像模型的支持 (#13651)\n* c250b379f6748e751276991afc39e3ef46e9441c Python：优化内存中向量集合的过滤功能 (#13637)\n* d5c2b9d889355887d6b746425dc45f43c472a76e Python：提高文件名处理的鲁棒性 (#13643)\n* 02da6c47d768b0e84512557f046e913e0bd08d75 更新推荐扩展列表。(#13645)\n* 4d675929578f8a07dfdff5361533d362f628d571 .Net：为 OpenAPI 插件添加服务器 URL 验证选项 (#13631)\n* 86d7a498437d988718c0d15302593e3f69bd19e3 .Net：实现文本搜索 LINQ 功能 (#13384)\n\n此变更列表由 [自动生成](https:\u002F\u002Fmsdata.visualstudio.com\u002FVienna\u002F_build\u002Fresults?buildId=211581953&view=logs)。\u003C\u002Fdetails>","2026-03-20T14:10:45",{"id":193,"version":194,"summary_zh":195,"released_at":196},351367,"python-1.41.0","## 变更内容\n* 更新推荐扩展列表。由 @alliscode 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13645 中完成\n* Python：提升文件名处理的健壮性。由 @TaoChenOSU 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13643 中完成\n* Python：优化内存中向量集合的过滤功能。由 @eavanvalkenburg 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13637 中完成\n* Python：添加对 OpenAI 新版文本转图像模型的支持。由 @TaoChenOSU 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13651 中完成\n* Python：将 Python 版本升级至 1.41.0 以进行发布。由 @moonbox3 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13655 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fcompare\u002Fpython-1.40.0...python-1.41.0","2026-03-13T09:03:28",{"id":198,"version":199,"summary_zh":200,"released_at":201},351368,"dotnet-1.73.0","## 变更：\n\n* e90102079382d3fb0ffeac29ab7c6d2994a2948f .Net：为发布提升 SK 和 MEVD 版本 (#13630)\n* b36a327d76f398346ca6267a1e25ed193cc95bea .Net：修复 Cosmos NoSQL、Redis 和 Weaviate 提供程序中的输入校验 (#13629)\n* e9641a9106ba6b67909d65b882f5cf8c292106c7 .Net：修复 SQL MEVD 提供程序中的列可空性问题 (#13622) [ #12560 ]\n* b712ffc98ef24c3df1004b9be99a3e952adbcf8a Python：为发布将 py 版本提升至 1.40.0 (#13619)\n* 781881a34f433ed4aa3bcc54cae78be0b565e392 .Net：去重嵌入生成管理 (#13615) [ #12508 ]\n* 429dd1c4c0408415387a61dc294ed1fe2412e60b Python：支持（Azure）OpenAI 实时音频模型 (#13291) [ #13267 ]\n* 74d4310fd44bbe555eeba532d6c9edc8e160a879 .Net：处理 PostgreSQL 上 pgvector 的安装 (#13600)\n* f077655fd6bcd586a927f406fa767dacf03e8c5c .Net：[MEVD] 添加集合键不匹配的验证 (#13594) [ #11355 ]\n* f59e3952300b9dd3eb7f42d67d6d1040dc7d7b86 .Net：[MEVD] 使 PG 模式可为空 (#13593) [ #10853 ]\n* ea864bf6976f60ddff52d9a2dcae4eadda784cbd .Net：[MEVD] 在各提供程序中支持 DateTime\u002FDateTimeOffset\u002FDateOnly\u002FTimeOnly (#13569) [ #11286, #11086 ]\n\u003Cdetails>\u003Csummary>\u003Cb>查看更多\u003C\u002Fb>\u003C\u002Fsummary>\n\n* 889807dfda389a7c98c897d820f45c898a80da99 .Net：将 Microsoft.Extensions.AI 依赖项更新至 10.3.0，将 OpenAI SDK 更新至 2.8.0 (#13544)\n* c086d0944259ab3f28ba16f1f984a3ab2fe4fc7d .Net：[MEVD] SQL Server 近似向量搜索 (#13573) [ #13270 ]\n* 9f2dafca484b125626fdbcdaf108250373bc0bff .Net：[TINY] [MEVD] 移除 SupportsMultipleKeys (#13572)\n\n此变更列表由 [自动生成](https:\u002F\u002Fmsdata.visualstudio.com\u002FVienna\u002F_build\u002Fresults?buildId=209434625&view=logs)。\u003C\u002Fdetails>","2026-03-04T16:16:44",{"id":203,"version":204,"summary_zh":205,"released_at":206},351369,"vectordata-dotnet-10.0.1","## 变更：\n\n* e90102079382d3fb0ffeac29ab7c6d2994a2948f .Net：为发布提升 SK 和 MEVD 版本 (#13630)\n* b36a327d76f398346ca6267a1e25ed193cc95bea .Net：修复 Cosmos NoSQL、Redis 和 Weaviate 提供程序中的输入校验 (#13629)\n* e9641a9106ba6b67909d65b882f5cf8c292106c7 .Net：修复 SQL MEVD 提供程序中的列可空性问题 (#13622) [ #12560 ]\n* b712ffc98ef24c3df1004b9be99a3e952adbcf8a Python：为发布将 py 版本提升至 1.40.0 (#13619)\n* 781881a34f433ed4aa3bcc54cae78be0b565e392 .Net：去重嵌入生成管理 (#13615) [ #12508 ]\n* 429dd1c4c0408415387a61dc294ed1fe2412e60b Python：支持（Azure）OpenAI 实时音频模型 (#13291) [ #13267 ]\n* 74d4310fd44bbe555eeba532d6c9edc8e160a879 .Net：处理 PostgreSQL 上 pgvector 的安装 (#13600)\n* f077655fd6bcd586a927f406fa767dacf03e8c5c .Net：[MEVD] 添加集合键不匹配的验证 (#13594) [ #11355 ]\n* f59e3952300b9dd3eb7f42d67d6d1040dc7d7b86 .Net：[MEVD] 使 PG 模式可为空 (#13593) [ #10853 ]\n* ea864bf6976f60ddff52d9a2dcae4eadda784cbd .Net：[MEVD] 在各提供程序中支持 DateTime\u002FDateTimeOffset\u002FDateOnly\u002FTimeOnly (#13569) [ #11286, #11086 ]\n\u003Cdetails>\u003Csummary>\u003Cb>查看更多\u003C\u002Fb>\u003C\u002Fsummary>\n\n* 889807dfda389a7c98c897d820f45c898a80da99 .Net：将 Microsoft.Extensions.AI 依赖项更新至 10.3.0，将 OpenAI SDK 更新至 2.8.0 (#13544)\n* c086d0944259ab3f28ba16f1f984a3ab2fe4fc7d .Net：[MEVD] SQL Server 近似向量搜索 (#13573) [ #13270 ]\n* 9f2dafca484b125626fdbcdaf108250373bc0bff .Net：[TINY] [MEVD] 移除 SupportsMultipleKeys (#13572)\n\n此变更列表由 [自动生成](https:\u002F\u002Fmsdata.visualstudio.com\u002FVienna\u002F_build\u002Fresults?buildId=209419406&view=logs)。\u003C\u002Fdetails>","2026-03-04T14:20:09",{"id":208,"version":209,"summary_zh":210,"released_at":211},351370,"python-1.40.0","## 变更内容\n* 移除未使用的工作流，由 @moonbox3 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13545 中完成\n* Python：支持（Azure）OpenAI 实时音频模型，由 @moonbox3 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13291 中完成\n* Python：将 py 版本升级至 1.40.0 以进行发布，由 @moonbox3 在 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13619 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fcompare\u002Fpython-1.39.4...python-1.40.0","2026-03-02T23:57:27",{"id":213,"version":214,"summary_zh":215,"released_at":216},351371,"dotnet-1.72.0","## 更改：\n\n* cec0cba23cc0ce6754d9c95efc4f29c2653a0e37 .Net：将 SK 升级至 1.7.2，MEVD 升级至 10.0.0 (#13567)\n* c86a59ae04d0ca1ec74e784388f4a0c2edafcf50 .Net：将 Microsoft.SemanticKernel 包更新至 1.71.0 (#13571) [ #13570 ]\n* 8513c2ac00fbbd61af714e15a3ca4803db570d5b .Net：[MEVD] 对 Cosmos NoSQL 提供程序的键、分区键和点读取进行改进 (#13550)\n\n此更改列表由 [自动生成](https:\u002F\u002Fmsdata.visualstudio.com\u002FVienna\u002F_build\u002Fresults?buildId=207920272&view=logs)。","2026-02-19T18:40:10",{"id":218,"version":219,"summary_zh":220,"released_at":221},351372,"vectordata-dotnet-10.0.0","## 变更：\n\n* cec0cba23cc0ce6754d9c95efc4f29c2653a0e37 .Net：将 SK 升级至 1.7.2，MEVD 升级至 10.0.0 (#13567)\n* c86a59ae04d0ca1ec74e784388f4a0c2edafcf50 .Net：将 Microsoft.SemanticKernel 包更新至 1.71.0 (#13571) [ #13570 ]\n* 8513c2ac00fbbd61af714e15a3ca4803db570d5b .Net：[MEVD] Cosmos NoSQL 提供程序在键、分区键和点读取方面的改进 (#13550)\n* 91f795605e42f0dd03ed9cdfaf4ffd8bdb1ae553 .Net：版本升级至 1.71.0 (#13552)\n* 1b8b08b0ee72e6a26494009e2724c38010bd0ea3 移除未使用的工作流 (#13545)\n* c6f07d65f498dca5bb74fcc72f2f96d96e0c2fa4 .Net：实现 SQL Server 混合搜索 (#13512) [ #11080 ]\n* e8b4862d0372478bfe9a26f86e5010f033e7a098 .Net：[MEVD] 在 PostgreSQL 上将 DateTime 映射到 timestamptz (#13514) [ #10641 ]\n* 898b9fe6916623b59540995b3d579f959aa3332a Python：将 \u002Fpython 中的 urllib3 从 2.3.0 升级至 2.6.3 (#13496) [ urllib3\u002Furllib3#3743, urllib3\u002Furllib3#3752, urllib3\u002Furllib3#3734, #3731, #3743, #3752, #3734, #3755, #3747, #3748, #3750, #3749, #3746 ]\n* 31588993aed36faab226c1b4da5dc8df1a64faa3 Python：将 \u002Fpython 中的 azure-core 从 1.36.0 升级至 1.38.0 (#13495) [ #44084, #44609, #44590, #44574, #44398, #44343, #44328, #43201, #43435 ]\n* 0d283ea9add3040b62449786bf81a1c23c66ce04 Python：版本升级及依赖项更新 (#13533)\n\u003Cdetails>\u003Csummary>\u003Cb>查看更多\u003C\u002Fb>\u003C\u002Fsummary>\n\n* 7a74a262272fb89c3761e1301626ba3d19f9f990 .Net：将 DirectoryObjects.yml 的 URL 由 dev 分支更新至 main 分支 (#13526)\n* 07f55e34b70baf7624418eb567dd0c4b59ee7c77 Python：将 \u002Fpython 中的 authlib 从 1.6.5 升级至 1.6.6 (#13489) [ authlib\u002Fauthlib#778, authlib\u002Fauthlib#842, authlib\u002Fauthlib#844, #844, #778, #743 ]\n* 6a8864f7799d87dc75f3d03770f0fe47f81e0832 Python：将 \u002Fpython 中的 virtualenv 从 20.35.4 升级至 20.36.1 (#13491) [ pypa\u002Fvirtualenv#3011, pypa\u002Fvirtualenv#3013, pypa\u002Fvirtualenv#2981, pypa\u002Fvirtualenv#2982, pypa\u002Fvirtualenv#2989, pypa\u002Fvirtualenv#2990, pypa\u002Fvirtualenv#2996, pypa\u002Fvirtualenv#3001, pypa\u002Fvirtualenv#3002, pypa\u002Fvirtualenv#3007, pypa\u002Fvirtualenv#3006, pypa\u002Fvirtualenv#3008, #3013, #3011, #3008, #3, #3007, #2997, #3001 ]\n* c2881501bc81032cc35d0a5c0af7720998416559 Python：将 \u002Fpython 中的 python-multipart 从 0.0.20 升级至 0.0.22 (#13493) [ ludex\u002Fpython-multipart#216, ludex\u002Fpython-multipart#203, #216, #222, #221, #219, #218, #217, #214, #212, #210 ]\n* 1a0caff234e24c6ea603185f281cfa790ab03346 Python：将 \u002Fpython 中的 aiohttp 从 3.13.2 升级至 3.13.3 (#13494)\n* 4b499433e28252551f218da50a383c1797141c76 Python：将 \u002Fpython 中的 protobuf 从 5.29.5 升级至 5.29.6 (#13513) [ protocolbuffers\u002Fprotobuf#25296, protocolbuffers\u002Fprotobuf#25161, #25168, #24115, #23369, #15633 ]\n* 1dcfda04aecbe385062ef1a6d661ab2ffc4d67e5 Python：将 \u002Fpython 中的 nbconvert 从 7.16.6 升级至 7.17.0 (#13528) [ #2227, #2264, #2261, #2228, #2226, #2267, #2238, #2237, #2231, #2229, #2224, #2221, #2232 ]\n* d6d4f3bc124b998da16e9e20460d9dd89a15fbbe Python：筛选功能优化 (#13505)\n* c4d0a623f22a9a138e98759127525ce9d47d3607 .Net：将 Microsoft.SemanticKernel 包从 1.68.0 更新至 1.70.0 (#13524) [ #13523 ]\n* b0d62","2026-02-19T17:26:54",{"id":223,"version":224,"summary_zh":225,"released_at":226},351373,"dotnet-1.71.0","\r\n## Changes:\r\n\r\n   - 91f795605e42f0dd03ed9cdfaf4ffd8bdb1ae553 .Net: Bumping - Version\r\n    1.71.0 (#13552)\r\n   - 1b8b08b0ee72e6a26494009e2724c38010bd0ea3 Remove unused workflow (#13545)\r\n   - c6f07d65f498dca5bb74fcc72f2f96d96e0c2fa4 .Net: Implement SQL Server hybrid search (#13512) [ #11080 ]\r\n   - e8b4862d0372478bfe9a26f86e5010f033e7a098 .Net: [MEVD] Map DateTime to timestamptz on PostgreSQL (#13514) [ #10641\r\n   ]\r\n   - 7a74a262272fb89c3761e1301626ba3d19f9f990 .Net: Update DirectoryObjects.yml URL from dev to main branch (#13526)\r\n   - c4d0a623f22a9a138e98759127525ce9d47d3607 .Net: Update Microsoft.SemanticKernel packages from\r\n    1.68.0 to 1.70.0 (#13524) [ #13523 ]\r\n   - b0d621f2a682f4d6915c4a9b44384353cbbfdbe9 .Net: Implement PostgreSQL hybrid search (#13502) [ #13501, #11084,\r\n  #10359 ]\r\n   - 7d7a6494e55b1ceb65b32bcee2e9faeb4d0c0fd8 .Net: [MEVD] Implement support for score threshold (#13501) [ #9566 ]\r\n   - cbb1f219d072c1266e0acd4c7694482c9ae64a7c .Net: [MEVD] Introduce FilterTranslatorBase and remove duplication\r\n  (#13485)\r\n   - a3be1fd29946a855adccba98f4360caf90273890 Bump actions\u002Fsetup-dotnet from 4 to 5 (#13137)\r\n   - 8f301a1879591b7b849eefc768ca6498b495872a Bump mdast-util-to-hast from\r\n    13.2.0 to 13.2.1 in \u002Fdotnet\u002Fsamples\u002FDemos\u002FProcessWithCloudEvents\u002FProcessWithCloudEvents.Client (#13409)\r\n   - 33e58829a13b295067ed0fccd0a285a88d7d825c .Net: Bump form-data from\r\n    4.0.2 to 4.0.4 in \u002Fdotnet\u002Fsamples\u002FDemos\u002FProcessFrameworkWithSignalR (#12979)\r\n   - 1b9d5f142ce5d8d14c15a24fc69aa6a59597309c Bump vite from\r\n    6.2.7 to 6.4.1 in\r\n  \u002Fdotnet\u002Fsamples\u002FDemos\u002FProcessFrameworkWithSignalR\u002Fsrc\u002FProcessFramework.Aspire.SignalR.ReactFrontend (#13388)\r\n   - d3ac002ac9c44725f0279124eb47213c726f0252 .Net: Remove old MEVD integration tests (#13484)\r\n   - af0761c69e4497fd759b616206899c106f0fa710 .Net: Adding copilot cli to the codespace definition (#13479)\r\n   - 7918395b47efba61624141f27d9848df559de79e .Net: [MEVD] Implement key auto-generation (#13466) [ #11485 ]\r\n   - fe11ab6ab5452d49d5acf2a5f17a3852dab6a2e0 .Net: [MEVD] Support .Any(x => x.Contains(...)) in filters (#13471) [\r\n  #13470, #13152 ]\r\n   - 5794549af7a6908a8ad4c957f72ad6df52efb7fa .Net: [MEVD] Ensure identifiers are properly quoted (#13470) [ #12161 ]\r\n   - b0a185b7fa521cd0c0aaa2e6eade297b8909c18f .Net: ItCanReturnImageUrlAsync test is flakey so skipping (#13472)\r\n   - 3ce1a84d3b3b66a4a3379ce706137e68c982527a .Net: Use testcontainer for SQL Server 2025 (#13465)\r\n   - 4e055e8fdf065e262d924830f121617da7d237de .Net: Add agentic tool registration guide to SK -> AF migration.\r\n  (#13464)","2026-02-16T17:33:37",{"id":228,"version":229,"summary_zh":230,"released_at":231},351374,"python-1.39.4","## What's Changed\r\n* Python: refinement of filtering by @eavanvalkenburg in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13505\r\n* Python: Bump nbconvert from 7.16.6 to 7.17.0 in \u002Fpython by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13528\r\n* Python: Bump protobuf from 5.29.5 to 5.29.6 in \u002Fpython by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13513\r\n* Python: Bump aiohttp from 3.13.2 to 3.13.3 in \u002Fpython by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13494\r\n* Python: Bump python-multipart from 0.0.20 to 0.0.22 in \u002Fpython by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13493\r\n* Python: Bump virtualenv from 20.35.4 to 20.36.1 in \u002Fpython by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13491\r\n* Python: Bump authlib from 1.6.5 to 1.6.6 in \u002Fpython by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13489\r\n* .Net: Update DirectoryObjects.yml URL from dev to main branch by @Copilot in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13526\r\n* Python: Version bump and dependency updates by @eavanvalkenburg in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13533\r\n* Python: Bump azure-core from 1.36.0 to 1.38.0 in \u002Fpython by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13495\r\n* Python: Bump urllib3 from 2.3.0 to 2.6.3 in \u002Fpython by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13496\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fcompare\u002Fpython-1.39.3...python-1.39.4","2026-02-10T10:10:25",{"id":233,"version":234,"summary_zh":235,"released_at":236},351375,"python-1.39.3","## What's Changed\r\n* Python: added allowed_domains to HttpPlugin by @eavanvalkenburg in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13462\r\n* Python: Add directory allowlist configuration for SessionsPythonTool file by @moonbox3 in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13467\r\n* Python: Add class validation for Dapr Runtime step loading by @moonbox3 in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13499\r\n* Python: Bump Python version to 1.39.3 for a release by @moonbox3 in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13503\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fcompare\u002Fpython-1.39.2...python-1.39.3","2026-02-02T01:33:49",{"id":238,"version":239,"summary_zh":240,"released_at":241},351376,"dotnet-1.70.0","\n\n## Changes:\n\n* 1fe41e17a90e002aa7f4f834f7ebd9475d80803c .Net: Version 1.70.0 (#13468)\n* 9118743eac7600c629858d25ad2ce668f3ac3b5d .Net: Add ThoughtSignature support for Gemini function calling (#13418) [ #13417 ]\n* e696dc7d525b5d7dc664318bbdee6d3e008a3db5 Python: Add directory allowlist configuration for SessionsPythonTool file (#13467)\n* f9870641542af1bc0d9dc75ace8ccc5b6321027f .Net: Use official Google.GenAI IChatClient implementation (#13404)\n* 72bc02551fdf4c00bb2315856db5548704166438 Python: added allowed_domains to HttpPlugin (#13462)\n\nThis list of changes was [auto generated](https:\u002F\u002Fmsdata.visualstudio.com\u002FVienna\u002F_build\u002Fresults?buildId=204846674&view=logs).","2026-01-23T16:24:42",{"id":243,"version":244,"summary_zh":245,"released_at":246},351377,"dotnet-1.69.0","\r\n## Changes:\r\n\r\n* 3b61c786c9b4f9a8224f39f647859fd51af4c902 .Net: Version 1.69.0 (#13460)\r\n* c97c3e6aa7b805c4e0d8d07db479e82eb6102f7e .Net: Bump .Net packages, minor versions only (#13452)\r\n* dc0eefd8a3eba67481f6026f4d5bfa2a4bc4df46 .Net: Skip and AzureAIInference chat completion tests (#13451)\r\n* 4a09cbdedc9437bdee7cf73e02a17c216035ed98 .Net: Add FunctionChoiceBehavior support to Google Gemini connector (#13256) [ #12702 ]\r\n* 0a9ee4051212a67d0c2f142205c3fb3f27eb26b6 .Net: Update AWS Vulnerable Package Dependencies (#13449)\r\n* 4e0ccb9c4369c3f3c0d4129c1c5fe7e85f360443 .Net: Switch MEVD MongoDB Driver to v3.51 (#13370) [ #11652, #12707, #10291 ]\r\n* 43da976c9b42548088e51e326b7df90bdc57a056 Bump react and react-dom versions to be 19.2.1 (#13408)\r\n* 4ac376749dcc98ac8f9b0081e574b0d34684a35f Fix C# 14 Contains translation for MEVD providers (#13407) [ #13263, #13395 ]\r\n* 0195778be25892cba507fe593d5592b71c2adf68 Updating SECURITY.ms to latest version. (#13406)\r\n","2026-01-19T17:48:27",{"id":248,"version":249,"summary_zh":250,"released_at":251},351378,"python-1.39.2","## What's Changed\r\n* Python: inversed the filter logic for InMemory vector stores by @eavanvalkenburg in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13457\r\n* Python: Bump Python version to 1.39.2 for a release by @moonbox3 in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13459\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fcompare\u002Fpython-1.39.1...python-1.39.2","2026-01-19T03:34:14",{"id":253,"version":254,"summary_zh":255,"released_at":256},351379,"python-1.39.1","## What's Changed\r\n* Python: feat(oracle): add new Oracle connector for Semantic Kernel by @monita1208 in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13229\r\n* Python: Fix YAML agent ignoring model.options execution settings by @yashwantbezawada in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13365\r\n* Python: Add DriverInfo metadata to MongoDB connector by @NoahStapp in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13379\r\n* Python: Updated Copilot Studio README by @dmytrostruk in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13432\r\n* Python: improve the filtering of in-memory vector stores by @eavanvalkenburg in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13440\r\n* Python: adding collection to all for oracle by @eavanvalkenburg in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13412\r\n* Python: Bump to v1.39.1 for a release by @moonbox3 in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13455\r\n\r\n## New Contributors\r\n* @monita1208 made their first contribution in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13229\r\n* @yashwantbezawada made their first contribution in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13365\r\n* @NoahStapp made their first contribution in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13379\r\n* @DeepAQ made their first contribution in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13275\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fcompare\u002Fpython-1.39.0...python-1.39.1","2026-01-15T23:06:43",{"id":258,"version":259,"summary_zh":260,"released_at":261},351380,"dotnet-1.68.0","\r\n## Changes:\r\n\r\n* 9ee675aa66e899ca936d31328c06c1f7043527af .NET: Added solution filter file for release (#13402)\r\n* 7c9c469d516fad1490d9f5e401b84e8791e0aa03 .Net: Fix #13262: GeminiRequest to handle single turn requests correctly (#13288)\r\n* 7d84d6b1319f04bc983e1ab61de4f9e113d1340e Version 1.68.0 (#13398)\r\n* 855e83c7c219873e1ea9f968fac8cfb2317723c5 .Net: Respect custom ToolChoice and ParallelToolCallsEnabled options in OpenAIResponseAgent (#13275) [ #13253 ]\r\n* cd4b483480189d7b1dc8534c0224010f6fbe2d9d Update OpenAI and M.E.AI versions (#13390)\r\n* 42716d5e9ae1caad57bda62f30da9681bacc2fca Add IncludeThoughts parameter to Google Connector for accessing Gemini reasoning content (#13383)\r\n* b50299be6d493052ecb7a9647714c613624289a8 Upgrade to .NET 10 (#13395)\r\n* 775b8fc1f1dae4b4513a46b2665789c0ffe91838 Fix YAML agent ignoring model.options execution settings (#13365) [ #13349 ]\r\n* 6888aa6ce06f4af50ce618af5663146c1c84abba Fix: emit streaming usage once at final chunk for OpenAI\u002FAzure (#13386)\r\n\u003Cdetails>\u003Csummary>\u003Cb>See More\u003C\u002Fb>\u003C\u002Fsummary>\r\n\r\n* 89755e04f8d71df3ca01443303940bb86c272073 .Net: Fix GeminiChatCompletionClient to invoke IAutoFunctionInvocationFilter during auto function calling (#13397) [ #11245, #12998 ]\r\n* 460521a6309bac55e6a09bcf492a66a3c55bddb2 .Net: Add ThinkingLevel parameter to GeminiThinkingConfig for Gemini 3.0+ (#13396) [ #11920, #13377 ]\r\n* 60685a700f4f73f81c9854df8c1c4d240de00403 .Net: Fix: include taskType in Google AI embedding request (fixes #13250) (#13277)\r\n* 5b30c8b703cc965e28b9e87c508d59df5d9b2ee7 .NET Fix - Surface agent failure for orchestration (#13369)\r\n* 73337db6949a846791bd0adef23c3789039745b7 .Net: Enable argument types retention in handoff orchestration. (#13367)\r\n* de20575aee70ddb31d4b58bbd7b837101ed82cfb Fixes to Get\u002FDelete for Guid keys (#13353)\r\n* b1ecee2d0e513963a3aef99bbb85f7d7bce816aa .Net: Add OpenAPI tool call migration sample for AzureOpenAI (#13339)\r\n\r\nThis list of changes was [auto generated](https:\u002F\u002Fmsdata.visualstudio.com\u002FVienna\u002F_build\u002Fresults?buildId=199451420&view=logs).\u003C\u002Fdetails>","2025-12-03T16:45:39",{"id":263,"version":264,"summary_zh":265,"released_at":266},351381,"python-1.39.0","## Release Notes\r\n\r\n### New Features\r\n\r\n* Python: Migrate to new Google GenAI SDK by @TaoChenOSU in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13371\r\n\r\n### Package Updates\r\n\r\n* Python: Bump to v1.39.0 for a release by @moonbox3 in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13392\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fcompare\u002Fpython-1.38.0...python-1.39.0","2025-11-26T02:51:01",{"id":268,"version":269,"summary_zh":270,"released_at":271},351382,"python-1.38.0","## Release Notes\r\n\r\n### New Features\r\n* Python: added af_tool bridge for kernel_functions by @eavanvalkenburg in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13227\r\n\r\n### Enhancements and Improvements\r\n* Python: Upgrade Onnx Connector to use 0.9.0 by @nmoeller in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13162\r\n\r\n### Package Updates\r\n* Python: Bump Python version to 1.38.0 for a release. by @moonbox3 in https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fpull\u002F13354\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsemantic-kernel\u002Fcompare\u002Fpython-1.37.1...python-1.38.0","2025-11-11T10:38:01"]