[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-ag2ai--fastagency":3,"tool-ag2ai--fastagency":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":76,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":102,"forks":103,"last_commit_at":104,"license":105,"difficulty_score":23,"env_os":106,"env_gpu":106,"env_ram":106,"env_deps":107,"category_tags":117,"github_topics":118,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":123,"updated_at":124,"faqs":125,"releases":156},3098,"ag2ai\u002Ffastagency","fastagency","The fastest way to bring multi-agent workflows to production.","FastAgency 是一款专为加速多智能体（Multi-Agent）AI 工作流从原型开发走向生产环境而设计的开源框架。它并非另一个独立的智能体框架，而是作为 AG2（原 AutoGen）生态的强大补充，旨在解决开发者将 Jupyter Notebook 中的实验性代码转化为稳定、可扩展的生产级应用时面临的难题。\n\n过去，将智能体工作流部署为 Web 聊天应用或 REST API 服务往往需要大量重复的基础设施代码，且难以在不同环境间平滑迁移。FastAgency 通过提供统一的编程接口，让开发者仅需几行代码即可快速构建前端交互界面或后端服务。更独特的是，它支持无缝扩展：当业务需要增长时，只需微调配置，即可利用内部消息代理将本地单机部署升级为跨数据中心的多机分布式系统，极大降低了架构演进的复杂度。\n\n这款工具主要面向正在使用 AG2\u002FAutoGen 进行开发的 AI 工程师和研究人员。如果你希望摆脱繁琐的部署流程，专注于优化智能体协作逻辑，并快速将创意落地为高可用的生产系统，FastAgency 将是提升研发效率的理想助手。它以简洁灵活的设计，帮助团队缩短开发周期，轻松应对从概念验证","FastAgency 是一款专为加速多智能体（Multi-Agent）AI 工作流从原型开发走向生产环境而设计的开源框架。它并非另一个独立的智能体框架，而是作为 AG2（原 AutoGen）生态的强大补充，旨在解决开发者将 Jupyter Notebook 中的实验性代码转化为稳定、可扩展的生产级应用时面临的难题。\n\n过去，将智能体工作流部署为 Web 聊天应用或 REST API 服务往往需要大量重复的基础设施代码，且难以在不同环境间平滑迁移。FastAgency 通过提供统一的编程接口，让开发者仅需几行代码即可快速构建前端交互界面或后端服务。更独特的是，它支持无缝扩展：当业务需要增长时，只需微调配置，即可利用内部消息代理将本地单机部署升级为跨数据中心的多机分布式系统，极大降低了架构演进的复杂度。\n\n这款工具主要面向正在使用 AG2\u002FAutoGen 进行开发的 AI 工程师和研究人员。如果你希望摆脱繁琐的部署流程，专注于优化智能体协作逻辑，并快速将创意落地为高可用的生产系统，FastAgency 将是提升研发效率的理想助手。它以简洁灵活的设计，帮助团队缩短开发周期，轻松应对从概念验证到大规模应用的挑战。","![alt text](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fag2ai_fastagency_readme_8344af9076af.jpg)\n\n\n# FastAgency\n\n\n\u003Cb>The fastest way to bring multi-agent workflows to production.\u003C\u002Fb>\n\n\n---\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fpipeline.yaml\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fpipeline.yaml\u002Fbadge.svg?branch=main\" alt=\"Test Passing\"\u002F>\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fcoverage-badge.samuelcolvin.workers.dev\u002Fredirect\u002Fag2ai\u002Ffastagency\" target=\"_blank\">\n      \u003Cimg src=\"https:\u002F\u002Fcoverage-badge.samuelcolvin.workers.dev\u002Fag2ai\u002Ffastagency.svg\" alt=\"Coverage\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fwww.pepy.tech\u002Fprojects\u002Ffastagency\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fag2ai_fastagency_readme_80bf84a1d296.png\" alt=\"Downloads\"\u002F>\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Ffastagency\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ffastagency?label=PyPI\" alt=\"Package version\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Ffastagency\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Ffastagency.svg\" alt=\"Supported Python versions\">\n  \u003C\u002Fa>\n\n  \u003Cbr\u002F>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fcodeql.yml\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fcodeql.yml\u002Fbadge.svg\" alt=\"CodeQL\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fdependency-review.yaml\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fdependency-review.yaml\u002Fbadge.svg\" alt=\"Dependency Review\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fblob\u002Fmain\u002FLICENSE\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fag2ai\u002Ffastagency.png\" alt=\"License\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fblob\u002Fmain\u002FCODE_OF_CONDUCT.md\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FContributor%20Covenant-2.1-4baaaa.svg\" alt=\"Code of Conduct\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FkJjSGWrknU\" target=\"_blank\">\n      \u003Cimg alt=\"Discord\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1247409549158121512?logo=discord\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## What is FastAgency?\n\nFor start, FastAgency is not yet another agentic AI framework. There are many such\nframeworks available today, the most popular open-source one is [**AG2** (formerly AutoGen)](https:\u002F\u002Fgithub.com\u002Fag2ai\u002Fag2). FastAgency provides you with a unified programming interface for deploying agentic workflows written in AG2 agentic framework in both development and productional settings. With only a few lines of code, you can create a web chat application or REST API service interacting with agents of your choice. If you need to scale-up your workloads, FastAgency can help you deploy a fully distributed system using internal message brokers coordinating multiple machines in multiple datacenters with just a few lines of code changed from your local development setup.\n\n**FastAgency** is an open-source framework designed to accelerate the transition from prototype to production for multi-agent AI workflows. For developers who use the AG2 (formerly AutoGen) framework, FastAgency enables you to seamlessly scale Jupyter notebook prototypes into a fully functional, production-ready applications. With multi-framework support, a unified programming interface, and powerful API integration capabilities, FastAgency streamlines the deployment process, saving time and effort while maintaining flexibility and performance.\n\nWhether you're orchestrating complex AI agents or integrating external APIs into workflows, FastAgency provides the tools necessary to quickly transition from concept to production, reducing development cycles and allowing you to focus on optimizing your multi-agent systems.\n\n## Key Features\n\n- [**Unified Programming Interface Across UIs**](user-guide\u002Fui\u002Findex.md): FastAgency features a **common programming interface** that enables you to develop your core workflows once and reuse them across various user interfaces without rewriting code. This includes support for both **console-based applications** via `ConsoleUI` and **web-based applications** via `MesopUI`. Whether you need a command-line tool or a fully interactive web app, FastAgency allows you to deploy the same underlying workflows across environments, saving development time and ensuring consistency.\n\n- [**Seamless External API Integration**](user-guide\u002Fapi\u002Findex.md): One of FastAgency's standout features is its ability to easily integrate external APIs into your agent workflows. With just a **few lines of code**, you can import an OpenAPI specification, and in only one more line, you can connect it to your agents. This dramatically simplifies the process of enhancing AI agents with real-time data, external processing, or third-party services. For example, you can easily integrate a weather API to provide dynamic, real-time weather updates to your users, making your application more interactive and useful with minimal effort.\n\n- [**Tester Class for Continuous Integration**](user-guide\u002Ftesting\u002Findex.md): FastAgency also provides a **Tester Class** that enables developers to write and execute tests for their multi-agent workflows. This feature is crucial for maintaining the reliability and robustness of your application, allowing you to automatically verify agent behavior and interactions. The Tester Class is designed to integrate smoothly with **continuous integration (CI)** pipelines, helping you catch bugs early and ensure that your workflows remain functional as they scale into production.\n\n- [**Command-Line Interface (CLI) for Orchestration**](user-guide\u002Fcli\u002Findex.md): FastAgency includes a powerful **command-line interface (CLI)** for orchestrating and managing multi-agent applications directly from the terminal. The CLI allows developers to quickly run workflows, pass parameters, and monitor agent interactions without needing a full GUI. This is especially useful for automating deployments and integrating workflows into broader DevOps pipelines, enabling developers to maintain control and flexibility in how they manage AI-driven applications.\n\n## Why FastAgency?\n\nFastAgency bridges the gap between rapid prototyping and production-ready deployment, empowering developers to bring their multi-agent systems to life quickly and efficiently. By integrating familiar frameworks like AG2 (formerly AutoGen), providing powerful API integration, and offering robust CI testing tools, FastAgency reduces the complexity and overhead typically associated with deploying AI agents in real-world applications.\n\nWhether you’re building interactive console tools, developing fully-featured web apps, or orchestrating large-scale multi-agent systems, FastAgency is built to help you deploy faster, more reliably, and with greater flexibility.\n\n### Supported Runtimes\n\nCurrently, the only supported runtime is [**AG2** (formerly AutoGen)](https:\u002F\u002Fgithub.com\u002Fag2ai\u002Fag2).\n\n### Supported User Interfaces\n\nFastAgency currently supports workflows defined using AG2 (formerly AutoGen) and provides options for different types of applications:\n\n- **Console**: Use the [**`ConsoleUI`**](..\u002Fapi\u002Ffastagency\u002Fui\u002Fconsole\u002FConsoleUI.md) interface for command-line based interaction. This is ideal for developing and testing workflows in a text-based environment.\n\n- [**Mesop**](https:\u002F\u002Fgoogle.github.io\u002Fmesop\u002F): Utilize [**`MesopUI`**](..\u002Fapi\u002Ffastagency\u002Fui\u002Fmesop\u002FMesopUI.md) for web-based applications. This interface is suitable for creating web applications with a user-friendly interface.\n\n### Supported Network Adapters\n\nFastAgency can use chainable network adapters that can be used to easily create\nscalable, production ready architectures for serving your workflows. Currently, we\nsupport the following network adapters:\n\n- [**REST API**](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FREST) via [**FastAPI**](https:\u002F\u002Ffastapi.tiangolo.com\u002F): Use the [**`FastAPIAdapter`**](..\u002Fapi\u002Ffastagency\u002Fadapters\u002Ffastapi\u002FFastAPIAdapter.md) to serve your workflow using [**FastAPI**](https:\u002F\u002Ffastapi.tiangolo.com\u002F) server. This setup allows you to work your workflows in multiple workers and serve them using the highly extensible and stable ASGI server.\n\n- [**NATS.io**](https:\u002F\u002Fnats.io\u002F) via [**FastStream**](https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffaststream): Utilize the [**`NatsAdapter`**](..\u002Fapi\u002Ffastagency\u002Fadapters\u002Fnats\u002FNatsAdapter.md) to use [**NATS.io MQ**](https:\u002F\u002Fnats.io\u002F) message broker for highly-scalable, production-ready setup. This interface is suitable for setups in VPN-s or, in combination with the [**`FastAPIAdapter`**](..\u002Fapi\u002Ffastagency\u002Fadapters\u002Ffastapi\u002FFastAPIAdapter.md) to serve public workflows in an authenticated, secure manner.\n\n\n## Quick Start\n\n### Project setup\n\nWe **strongly recommend** using [**Cookiecutter**](..\u002Fcookiecutter\u002Findex.md) for setting up a FastAgency project. It creates the project folder structure, default workflow, automatically installs all the necessary requirements, and creates a [devcontainer](https:\u002F\u002Fcode.visualstudio.com\u002Fdocs\u002Fdevcontainers\u002Fcontainers) that can be used with [Visual Studio Code](https:\u002F\u002Fcode.visualstudio.com\u002F) for development.\n\n1. Install Cookiecutter with the following command:\n    ```console\n    pip install cookiecutter\n    ```\n\n2. Run the `cookiecutter` command:\n    ```console\n    cookiecutter https:\u002F\u002Fgithub.com\u002Fag2ai\u002Fcookiecutter-fastagency.git\n    ```\n\n3. Assuming that you used the default values, you should get the following output:\n    ```console\n    [1\u002F4] project_name (My FastAgency App):\n    [2\u002F4] project_slug (my_fastagency_app):\n    [3\u002F4] Select app_type\n        1 - fastapi+mesop\n        2 - mesop\n        3 - nats+fastapi+mesop\n        Choose from [1\u002F2\u002F3] (1): 1\n    [4\u002F4] Select python_version\n        1 - 3.12\n        2 - 3.11\n        3 - 3.10\n        Choose from [1\u002F2\u002F3] (1):\n    [5\u002F5] Select authentication\n        1 - none\n        2 - google\n        Choose from [1\u002F2] (1):\n    ```\n\n4. To run LLM-based applications, you need an API key for the LLM used. The most commonly used LLM is [OpenAI](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fmodels). To use it, create an [OpenAI API Key](https:\u002F\u002Fopenai.com\u002Findex\u002Fopenai-api\u002F) and set it as an environment variable in the terminal using the following command:\n\n    ```console\n    export OPENAI_API_KEY=openai_api_key_here\n    ```\n\n5. Open the generated project in [Visual Studio Code](https:\u002F\u002Fcode.visualstudio.com\u002F) with the following command:\n    ```console\n    code my_fastagency_app\n    ```\n\n6. Once the project is opened, you will get the following option to reopen it in a devcontainer:\n\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fag2ai_fastagency_readme_e74479d8ea2e.png\" width=\"600\" class=\"center\">\n\n7. After reopening the project in devcontainer, you can verify that the setup is correct by running the provided tests with the following command:\n\n    ```console\n    pytest -s\n    ```\n\n    You should get the following output if everything is correctly setup.\n    ```console\n    =================================== test session starts ===================================\n    platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0\n    rootdir: \u002Fworkspaces\u002Fmy_fastagency_app\n    configfile: pyproject.toml\n    plugins: asyncio-0.24.0, anyio-4.6.2.post1\n    asyncio: mode=Mode.STRICT, default_loop_scope=None\n    collected 1 item\n\n    tests\u002Ftest_workflow.py .                                                            [100%]\n\n    ==================================== 1 passed in 1.02s ====================================\n    ```\n-----\n\n### Workflow Development\n\n#### Define the Workflow\n\nYou need to define the workflow that your application will use. This is where you specify how the agents interact and what they do. Here's a simple example of a workflow definition as it is generated by the cookie cutter under `my_fastagency_app\u002Fworkflow.py`:\n\n```python\nimport os\nfrom typing import Any\n\nfrom autogen import ConversableAgent, LLMConfig\nfrom fastagency import UI\nfrom fastagency.runtimes.ag2 import Workflow\n\nllm_config = LLMConfig(\n    model=\"gpt-4o-mini\",\n    api_key=os.getenv(\"OPENAI_API_KEY\"),\n    temperature=0.8,\n)\n\nwf = Workflow()\n\n\n@wf.register(name=\"simple_learning\", description=\"Student and teacher learning chat\")  # type: ignore[misc]\ndef simple_workflow(ui: UI, params: dict[str, Any]) -> str:\n    initial_message = ui.text_input(\n        sender=\"Workflow\",\n        recipient=\"User\",\n        prompt=\"I can help you learn about mathematics. What subject you would like to explore?\",\n    )\n\n    with llm_config:\n      student_agent = ConversableAgent(\n          name=\"Student_Agent\",\n          system_message=\"You are a student willing to learn.\",\n      )\n      teacher_agent = ConversableAgent(\n          name=\"Teacher_Agent\",\n          system_message=\"You are a math teacher.\",\n      )\n\n    response = student_agent.run(\n        teacher_agent,\n        message=initial_message,\n        summary_method=\"reflection_with_llm\",\n        max_turns=3,\n    )\n\n    return ui.process(response)\n```\n\nThis code snippet sets up a simple learning chat between a student and a teacher. It defines the agents and how they should interact and specify how the conversation should be summarized.\n\n#### Run and Debug the Workflow\n\nTo ensure that the workflow we have defined is working properly, we can test it locally using MesopUI. The code below can be found under `my_fastagency_app\u002Flocal\u002Fmain_mesop.py` and imports the defined workflow and sets up MesopUI.\n\nYou can run the Mesop application locally with the following command on Linux and MacOS:\n\n```console\ngunicorn my_fastagency_app.local.main_mesop:app\n```\n\nOn Windows, please use the following command:\n```console\nwaitress-serve --listen=0.0.0.0:8000 my_fastagency_app.local.main_mesop:app\n```\n\nOpen the MesopUI URL [http:\u002F\u002Flocalhost:8000](http:\u002F\u002Flocalhost:8000) in your browser. You can now use the graphical user interface to start, run, test and debug the autogen workflow manually.\n\n![Initial message](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fag2ai_fastagency_readme_5dc69ce6a052.png)\n\n\n## Deployment\n\n### Building the Docker Image\n\nIf you created the project using Cookiecutter, then building the Docker image is as simple as running the provided script, as shown below:\n\n```console\n.\u002Fscripts\u002Fbuild_docker.sh\n```\n\n### Running the Docker Image\n\nSimilarly, running the Docker container is as simple as running the provided script, as shown below:\n\n```console\n.\u002Fscripts\u002Frun_docker.sh\n```\n\n### Deploying to Fly.io\n\nIf you created the project using Cookiecutter, there are built-in scripts to deploy your workflow to [**Fly.io**](https:\u002F\u002Ffly.io\u002F). In Fly.io, the application namespace is global, so the application name you chose might already be taken. To check your application's name availability and to reserve it, you can run the following script:\n\n```console\n.\u002Fscripts\u002Fregister_to_fly_io.sh\n```\n\nOnce you have reserved your application name, you can test whether you can deploy your application to Fly.io using the following script:\n\n```console\n.\u002Fscripts\u002Fdeploy_to_fly_io.sh\n```\n\nThis is only for testing purposes. You should deploy using [**GitHub Actions**](https:\u002F\u002Fgithub.com\u002Ffeatures\u002Factions){target=\"_blank\"} as explained below.\n\nCookiecutter generated all the necessary files to deploy your application to Fly.io using [**GitHub Actions**](https:\u002F\u002Fgithub.com\u002Ffeatures\u002Factions). Simply push your code to your github repository's **main** branch and GitHub Actions will automatically deploy your application to Fly.io. For this, you need to set the following secrets in your GitHub repository:\n\n- `FLY_API_TOKEN`\n- `OPENAI_API_KEY`\n\nTo learn how to create keys and add them as secrets, use the following links:\n\n  - [**Creating a Fly.io API token**](https:\u002F\u002Ffly.io\u002Fdocs\u002Fsecurity\u002Ftokens\u002F#manage-tokens-in-the-dashboard)\n  - [**Creating an OpenAI API key**](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys)\n  - [**Adding secrets to your GitHub repository**](https:\u002F\u002Fdocs.github.com\u002Fen\u002Factions\u002Fsecurity-for-github-actions\u002Fsecurity-guides\u002Fusing-secrets-in-github-actions#creating-secrets-for-a-repository)\n\n## Future Plans\n\nWe are actively working on expanding FastAgency’s capabilities. In addition to supporting AG2 (formerly AutoGen), we plan to integrate support for other frameworks, other network providers and other UI frameworks.\n---\n\n## ⭐⭐⭐ Stay in touch ⭐⭐⭐\n\nStay up to date with new features and integrations by following our documentation and community updates on our [**Discord server**](https:\u002F\u002Fdiscord.gg\u002FkJjSGWrknU). FastAgency is continually evolving to support new frameworks, APIs, and deployment strategies, ensuring you remain at the forefront of AI-driven development.\n\nLast but not least, show us your support by giving a star to our [**GitHub repository**](https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002F).\n\n\nYour support helps us to stay in touch with you and encourages us to\ncontinue developing and improving the framework. Thank you for your\nsupport!\n\n---\n\n## Contributors\n\nThanks to all of these amazing people who made the project better!\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fgraphs\u002Fcontributors\" target=\"_blank\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fag2ai_fastagency_readme_627f7d7d1403.png\"\u002F>\n\u003C\u002Fa>\n","![alt text](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fag2ai_fastagency_readme_8344af9076af.jpg)\n\n\n# FastAgency\n\n\n\u003Cb>将多智能体工作流快速投入生产环境的最高效方式。\u003C\u002Fb>\n\n\n---\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fpipeline.yaml\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fpipeline.yaml\u002Fbadge.svg?branch=main\" alt=\"测试通过\"\u002F>\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fcoverage-badge.samuelcolvin.workers.dev\u002Fredirect\u002Fag2ai\u002Ffastagency\" target=\"_blank\">\n      \u003Cimg src=\"https:\u002F\u002Fcoverage-badge.samuelcolvin.workers.dev\u002Fag2ai\u002Ffastagency.svg\" alt=\"覆盖率\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fwww.pepy.tech\u002Fprojects\u002Ffastagency\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fag2ai_fastagency_readme_80bf84a1d296.png\" alt=\"下载量\"\u002F>\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Ffastagency\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ffastagency?label=PyPI\" alt=\"软件包版本\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Ffastagency\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Ffastagency.svg\" alt=\"支持的Python版本\">\n  \u003C\u002Fa>\n\n  \u003Cbr\u002F>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fcodeql.yml\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fcodeql.yml\u002Fbadge.svg\" alt=\"CodeQL\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fdependency-review.yaml\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Factions\u002Fworkflows\u002Fdependency-review.yaml\u002Fbadge.svg\" alt=\"依赖项审查\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fblob\u002Fmain\u002FLICENSE\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fag2ai\u002Ffastagency.png\" alt=\"许可证\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fblob\u002Fmain\u002FCODE_OF_CONDUCT.md\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FContributor%20Covenant-2.1-4baaaa.svg\" alt=\"行为准则\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FkJjSGWrknU\" target=\"_blank\">\n      \u003Cimg alt=\"Discord\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1247409549158121512?logo=discord\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## 什么是FastAgency？\n\n首先，FastAgency并不是又一个代理式AI框架。如今市面上已有很多此类框架，其中最受欢迎的开源框架是[**AG2**（原名AutoGen）](https:\u002F\u002Fgithub.com\u002Fag2ai\u002Fag2)。FastAgency为您提供了一个统一的编程接口，用于在开发和生产环境中部署基于AG2代理框架编写的代理式工作流。只需几行代码，您就可以创建一个与所选智能体交互的Web聊天应用或REST API服务。如果您需要扩展工作负载，FastAgency可以帮助您部署一个完全分布式的系统，利用内部消息代理协调多个数据中心中的多台机器，而无需对本地开发环境进行大量修改。\n\n**FastAgency**是一个开源框架，旨在加速多智能体AI工作流从原型到生产的过渡。对于使用AG2（原名AutoGen）框架的开发者来说，FastAgency使您能够无缝地将Jupyter Notebook中的原型扩展为功能齐全、可直接投入生产的应用程序。凭借多框架支持、统一的编程接口以及强大的API集成能力，FastAgency简化了部署流程，节省了时间和精力，同时保持了灵活性和高性能。\n\n无论您是在编排复杂的AI智能体，还是将外部API集成到工作流中，FastAgency都提供了将概念快速转化为生产所需的工具，从而缩短开发周期，让您专注于优化多智能体系统。\n\n## 核心特性\n\n- [**跨用户界面的统一编程接口**](user-guide\u002Fui\u002Findex.md)：FastAgency提供了一个**通用编程接口**，使您只需开发一次核心工作流，即可在各种用户界面中重复使用，而无需重写代码。这包括通过`ConsoleUI`支持**基于控制台的应用程序**，以及通过`MesopUI`支持**基于Web的应用程序**。无论您需要命令行工具还是完全交互式的Web应用，FastAgency都允许您在不同环境中部署相同的底层工作流，从而节省开发时间并确保一致性。\n\n- [**无缝集成外部API**](user-guide\u002Fapi\u002Findex.md)：FastAgency的一大亮点是能够轻松地将外部API集成到您的智能体工作流中。只需**几行代码**，您就可以导入OpenAPI规范，并再添加一行代码将其连接到您的智能体。这极大地简化了用实时数据、外部处理或第三方服务增强AI智能体的过程。例如，您可以轻松集成天气API，为用户提供动态的实时天气信息，以最小的努力让您的应用更具互动性和实用性。\n\n- [**用于持续集成的测试器类**](user-guide\u002Ftesting\u002Findex.md)：FastAgency还提供了一个**测试器类**，使开发者能够为多智能体工作流编写和执行测试。这一特性对于保持应用程序的可靠性和健壮性至关重要，它允许您自动验证智能体的行为和交互。测试器类设计用于与**持续集成（CI）**流水线无缝集成，帮助您尽早发现并修复错误，确保工作流在扩展到生产环境时仍能正常运行。\n\n- [**用于编排的命令行界面（CLI）**](user-guide\u002Fcli\u002Findex.md)：FastAgency包含一个功能强大的**命令行界面（CLI）**，用于直接从终端编排和管理多智能体应用程序。CLI使开发者能够快速运行工作流、传递参数并监控智能体之间的交互，而无需完整的GUI。这对于自动化部署以及将工作流集成到更广泛的DevOps管道中尤为有用，使开发者能够在管理AI驱动的应用程序时保持控制力和灵活性。\n\n## 为什么选择FastAgency？\n\nFastAgency弥合了快速原型开发与生产就绪部署之间的差距，赋能开发者快速高效地将多智能体系统付诸实践。通过集成熟悉的框架如AG2（原名AutoGen），提供强大的API集成能力，并配备稳健的CI测试工具，FastAgency降低了通常与在实际应用中部署AI智能体相关的复杂性和开销。\n\n无论您是在构建交互式控制台工具、开发功能齐全的Web应用，还是编排大规模的多智能体系统，FastAgency都能帮助您更快、更可靠、更灵活地完成部署。\n\n### 支持的运行时\n\n目前，唯一支持的运行时是 [**AG2**（前身为 AutoGen）](https:\u002F\u002Fgithub.com\u002Fag2ai\u002Fag2)。\n\n### 支持的用户界面\n\nFastAgency 当前支持使用 AG2（前身为 AutoGen）定义的工作流，并提供了适用于不同类型应用的选项：\n\n- **控制台**：使用 [**`ConsoleUI`**](..\u002Fapi\u002Ffastagency\u002Fui\u002Fconsole\u002FConsoleUI.md) 界面进行基于命令行的交互。这非常适合在文本环境中开发和测试工作流。\n\n- [**Mesop**](https:\u002F\u002Fgoogle.github.io\u002Fmesop\u002F)：利用 [**`MesopUI`**](..\u002Fapi\u002Ffastagency\u002Fui\u002Fmesop\u002FMesopUI.md) 构建基于 Web 的应用。该界面适合创建具有友好用户界面的 Web 应用程序。\n\n### 支持的网络适配器\n\nFastAgency 可以使用可链式的网络适配器，从而轻松构建可扩展、生产就绪的架构来部署您的工作流。目前，我们支持以下网络适配器：\n\n- 通过 [**FastAPI**](https:\u002F\u002Ffastapi.tiangolo.com\u002F) 提供的 [**REST API**](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FREST)：使用 [**`FastAPIAdapter`**](..\u002Fapi\u002Ffastagency\u002Fadapters\u002Ffastapi\u002FFastAPIAdapter.md) 通过 [**FastAPI**](https:\u002F\u002Ffastapi.tiangolo.com\u002F) 服务器部署您的工作流。此设置允许您在多个工作进程中运行工作流，并使用高度可扩展且稳定的 ASGI 服务器进行服务。\n\n- 通过 [**FastStream**](https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffaststream) 使用 [**NATS.io**](https:\u002F\u002Fnats.io\u002F)：利用 [**`NatsAdapter`**](..\u002Fapi\u002Ffastagency\u002Fadapters\u002Fnats\u002FNatsAdapter.md) 将 [**NATS.io MQ**](https:\u002F\u002Fnats.io\u002F) 消息代理用于高度可扩展、生产就绪的部署。该接口适用于 VPN 环境中的部署，或者与 [**`FastAPIAdapter`**](..\u002Fapi\u002Ffastagency\u002Fadapters\u002Ffastapi\u002FFastAPIAdapter.md) 结合使用，以身份验证和安全的方式公开服务工作流。\n\n\n## 快速入门\n\n### 项目设置\n\n我们 **强烈建议** 使用 [**Cookiecutter**](..\u002Fcookiecutter\u002Findex.md) 来设置 FastAgency 项目。它会创建项目文件夹结构、默认工作流，自动安装所有必要的依赖项，并生成一个可用于 [Visual Studio Code](https:\u002F\u002Fcode.visualstudio.com\u002F) 开发的 [devcontainer](https:\u002F\u002Fcode.visualstudio.com\u002Fdocs\u002Fdevcontainers\u002Fcontainers)。\n\n1. 使用以下命令安装 Cookiecutter：\n    ```console\n    pip install cookiecutter\n    ```\n\n2. 运行 `cookiecutter` 命令：\n    ```console\n    cookiecutter https:\u002F\u002Fgithub.com\u002Fag2ai\u002Fcookiecutter-fastagency.git\n    ```\n\n3. 假设您使用了默认值，您应该会看到如下输出：\n    ```console\n    [1\u002F4] project_name (My FastAgency App):\n    [2\u002F4] project_slug (my_fastagency_app):\n    [3\u002F4] Select app_type\n        1 - fastapi+mesop\n        2 - mesop\n        3 - nats+fastapi+mesop\n        Choose from [1\u002F2\u002F3] (1): 1\n    [4\u002F4] Select python_version\n        1 - 3.12\n        2 - 3.11\n        3 - 3.10\n        Choose from [1\u002F2\u002F3] (1):\n    [5\u002F5] Select authentication\n        1 - none\n        2 - google\n        Choose from [1\u002F2] (1):\n    ```\n\n4. 要运行基于 LLM 的应用，您需要所使用的 LLM 的 API 密钥。最常用的 LLM 是 [OpenAI](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fmodels)。要使用它，请创建一个 [OpenAI API Key](https:\u002F\u002Fopenai.com\u002Findex\u002Fopenai-api\u002F)，并使用以下命令将其设置为终端中的环境变量：\n\n    ```console\n    export OPENAI_API_KEY=openai_api_key_here\n    ```\n\n5. 使用以下命令在 [Visual Studio Code](https:\u002F\u002Fcode.visualstudio.com\u002F) 中打开生成的项目：\n    ```console\n    code my_fastagency_app\n    ```\n\n6. 项目打开后，您将看到以下选项，提示您在 devcontainer 中重新打开该项目：\n\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fag2ai_fastagency_readme_e74479d8ea2e.png\" width=\"600\" class=\"center\">\n\n7. 在 devcontainer 中重新打开项目后，您可以通过运行提供的测试来验证设置是否正确，命令如下：\n\n    ```console\n    pytest -s\n    ```\n\n    如果一切设置正确，您应该会看到如下输出：\n    ```console\n    =================================== test session starts ===================================\n    platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0\n    rootdir: \u002Fworkspaces\u002Fmy_fastagency_app\n    configfile: pyproject.toml\n    plugins: asyncio-0.24.0, anyio-4.6.2.post1\n    asyncio: mode=Mode.STRICT, default_loop_scope=None\n    collected 1 item\n\n    tests\u002Ftest_workflow.py .                                                            [100%]\n\n    ==================================== 1 passed in 1.02s ====================================\n    ```\n-----\n\n### 工作流开发\n\n#### 定义工作流\n\n你需要定义应用程序将使用的工作流。在这里，你可以指定代理之间的交互方式以及它们的具体行为。以下是一个由 Cookiecutter 在 `my_fastagency_app\u002Fworkflow.py` 中生成的简单工作流定义示例：\n\n```python\nimport os\nfrom typing import Any\n\nfrom autogen import ConversableAgent, LLMConfig\nfrom fastagency import UI\nfrom fastagency.runtimes.ag2 import Workflow\n\nllm_config = LLMConfig(\n    model=\"gpt-4o-mini\",\n    api_key=os.getenv(\"OPENAI_API_KEY\"),\n    temperature=0.8,\n)\n\nwf = Workflow()\n\n\n@wf.register(name=\"simple_learning\", description=\"学生和教师的学习聊天\")  # type: ignore[misc]\ndef simple_workflow(ui: UI, params: dict[str, Any]) -> str:\n    initial_message = ui.text_input(\n        sender=\"Workflow\",\n        recipient=\"User\",\n        prompt=\"我可以帮助你学习数学。你想探讨哪个主题呢？\",\n    )\n\n    with llm_config:\n      student_agent = ConversableAgent(\n          name=\"Student_Agent\",\n          system_message=\"你是一位愿意学习的学生。\",\n      )\n      teacher_agent = ConversableAgent(\n          name=\"Teacher_Agent\",\n          system_message=\"你是一位数学老师。\",\n      )\n\n    response = student_agent.run(\n        teacher_agent,\n        message=initial_message,\n        summary_method=\"reflection_with_llm\",\n        max_turns=3,\n    )\n\n    return ui.process(response)\n```\n\n这段代码设置了一个学生与教师之间的简单学习聊天场景。它定义了代理及其交互方式，并指定了对话的总结方法。\n\n#### 运行与调试工作流\n\n为了确保我们定义的工作流正常运行，可以使用 MesopUI 在本地进行测试。以下代码位于 `my_fastagency_app\u002Flocal\u002Fmain_mesop.py` 中，用于导入已定义的工作流并设置 MesopUI。\n\n在 Linux 和 macOS 上，你可以通过以下命令在本地运行 Mesop 应用程序：\n\n```console\ngunicorn my_fastagency_app.local.main_mesop:app\n```\n\n在 Windows 上，请使用以下命令：\n```console\nwaitress-serve --listen=0.0.0.0:8000 my_fastagency_app.local.main_mesop:app\n```\n\n在浏览器中打开 MesopUI 的 URL [http:\u002F\u002Flocalhost:8000](http:\u002F\u002Flocalhost:8000)。现在你可以使用图形用户界面手动启动、运行、测试和调试 AutoGen 工作流。\n\n![初始消息](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fag2ai_fastagency_readme_5dc69ce6a052.png)\n\n\n## 部署\n\n### 构建 Docker 镜像\n\n如果你是使用 Cookiecutter 创建的项目，那么构建 Docker 镜像只需运行提供的脚本即可，如下所示：\n\n```console\n.\u002Fscripts\u002Fbuild_docker.sh\n```\n\n### 运行 Docker 容器\n\n同样地，运行 Docker 容器也只需执行提供的脚本，如下所示：\n\n```console\n.\u002Fscripts\u002Frun_docker.sh\n```\n\n### 部署到 Fly.io\n\n如果你是使用 Cookiecutter 创建的项目，那么内置的脚本可以帮助你将工作流部署到 [**Fly.io**](https:\u002F\u002Ffly.io\u002F)。由于 Fly.io 的应用命名空间是全局的，你选择的应用名称可能已被占用。要检查应用名称是否可用并预留该名称，可以运行以下脚本：\n\n```console\n.\u002Fscripts\u002Fregister_to_fly_io.sh\n```\n\n一旦预留好应用名称，你可以使用以下脚本来测试是否能够成功部署到 Fly.io：\n\n```console\n.\u002Fscripts\u002Fdeploy_to_fly_io.sh\n```\n\n不过，这仅用于测试目的。实际部署应使用 [**GitHub Actions**](https:\u002F\u002Fgithub.com\u002Ffeatures\u002Factions){target=\"_blank\"}，具体说明如下。\n\nCookiecutter 已经生成了所有必要的文件，以便通过 [**GitHub Actions**](https:\u002F\u002Fgithub.com\u002Ffeatures\u002Factions) 将你的应用部署到 Fly.io。你只需将代码推送到 GitHub 仓库的 `main` 分支，GitHub Actions 就会自动将你的应用部署到 Fly.io。为此，你需要在 GitHub 仓库中设置以下密钥：\n\n- `FLY_API_TOKEN`\n- `OPENAI_API_KEY`\n\n有关如何创建这些密钥并将其添加为秘密的详细信息，请参考以下链接：\n\n  - [**创建 Fly.io API 令牌**](https:\u002F\u002Ffly.io\u002Fdocs\u002Fsecurity\u002Ftokens\u002F#manage-tokens-in-the-dashboard)\n  - [**创建 OpenAI API 密钥**](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys)\n  - [**将秘密添加到 GitHub 仓库**](https:\u002F\u002Fdocs.github.com\u002Fen\u002Factions\u002Fsecurity-for-github-actions\u002Fsecurity-guides\u002Fusing-secrets-in-github-actions#creating-secrets-for-a-repository)\n\n## 未来计划\n\n我们正在积极扩展 FastAgency 的功能。除了支持 AG2（原 AutoGen）之外，我们还计划集成对其他框架、其他网络提供商以及其他 UI 框架的支持。\n---\n\n## ⭐⭐⭐ 保持联系 ⭐⭐⭐\n\n请关注我们的文档和社区更新，及时了解新功能和集成信息，访问我们的 [**Discord 服务器**](https:\u002F\u002Fdiscord.gg\u002FkJjSGWrknU)。FastAgency 不断发展，以支持新的框架、API 和部署策略，确保你在 AI 驱动开发领域始终处于前沿。\n\n最后但同样重要的是，请为我们[**GitHub 仓库**](https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002F) 点个赞，以表达你的支持！\n\n你的支持使我们能够与你保持紧密联系，并激励我们继续开发和改进这个框架。感谢你的支持！\n\n---\n\n## 贡献者\n\n感谢所有让这个项目变得更优秀的杰出人士！\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fgraphs\u002Fcontributors\" target=\"_blank\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fag2ai_fastagency_readme_627f7d7d1403.png\"\u002F>\n\u003C\u002Fa>","# FastAgency 快速上手指南\n\nFastAgency 是一个开源框架，旨在加速多智能体（Multi-Agent）AI 工作流从原型到生产环境的部署。它专为使用 **AG2**（原 AutoGen）框架的开发者设计，提供统一的编程接口，支持快速构建控制台应用、Web 聊天应用或可扩展的 REST API 服务。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux, macOS 或 Windows (推荐在 WSL2 上运行)\n*   **Python 版本**: 3.10, 3.11 或 3.12\n*   **开发工具**: \n    *   [Visual Studio Code](https:\u002F\u002Fcode.visualstudio.com\u002F) (推荐，用于 DevContainer 支持)\n    *   [Docker](https:\u002F\u002Fwww.docker.com\u002F) (用于运行 DevContainer)\n*   **API Key**: 您需要一个大语言模型（LLM）的 API Key（例如 [OpenAI API Key](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys)）。\n\n## 安装步骤\n\n官方**强烈建议**使用 `Cookiecutter` 模板来初始化项目，它将自动创建目录结构、默认工作流、依赖配置以及 VS Code 的开发容器环境。\n\n### 1. 安装 Cookiecutter\n```bash\npip install cookiecutter\n```\n\n### 2. 生成项目\n运行以下命令启动项目向导：\n```bash\ncookiecutter https:\u002F\u002Fgithub.com\u002Fag2ai\u002Fcookiecutter-fastagency.git\n```\n\n### 3. 配置项目参数\n根据提示输入项目信息（括号内为默认值）：\n*   `project_name`: 项目名称 (例如: My FastAgency App)\n*   `project_slug`: 项目文件夹名 (例如: my_fastagency_app)\n*   `app_type`: 选择应用类型\n    *   `1`: fastapi + mesop (Web API + Web UI，推荐)\n    *   `2`: mesop (仅 Web UI)\n    *   `3`: nats + fastapi + mesop (分布式消息队列架构)\n*   `python_version`: 选择 Python 版本 (推荐 3.12)\n*   `authentication`: 选择认证方式 (开发阶段可选 `none`)\n\n### 4. 设置环境变量\n进入项目目录并配置 LLM API Key。以 OpenAI 为例：\n```bash\ncd my_fastagency_app\nexport OPENAI_API_KEY=your_openai_api_key_here\n```\n*(Windows PowerShell 用户请使用 `$env:OPENAI_API_KEY=\"your_openai_api_key_here\"`)*\n\n### 5. 启动开发环境\n使用 VS Code 打开项目：\n```bash\ncode my_fastagency_app\n```\n当 VS Code 提示 **\"Reopen in Container\"** 时，点击确认。这将自动构建包含所有依赖的 Docker 开发环境。\n\n### 6. 验证安装\n在终端中运行测试以确保环境配置正确：\n```bash\npytest -s\n```\n如果看到 `1 passed` 且无报错，说明安装成功。\n\n## 基本使用\n\nFastAgency 的核心优势在于只需少量代码即可将 AG2 工作流转换为可交互的应用。以下是基于模板生成的简单使用示例。\n\n### 1. 定义工作流 (`workflow.py`)\n在项目根目录下的 `workflow.py` 文件中，定义您的多智能体逻辑。这是一个简单的回声示例：\n\n```python\nfrom typing import Annotated\nfrom fastagency import UI, Workflow\nfrom ag2 import ConversableAgent\n\n# 定义一个简单的 Agent\nagent = ConversableAgent(\n    name=\"EchoAgent\",\n    system_message=\"You are a helpful assistant that echoes back what the user says.\",\n    llm_config={\"config_list\": [{\"model\": \"gpt-4o-mini\", \"api_key\": \"sk-placeholder\"}]}, # 实际运行时需配置真实 Key\n    human_input_mode=\"NEVER\",\n)\n\n# 创建工作流\nwf = Workflow()\n\n@wf.register(name=\"echo_workflow\", description=\"Echo user input\")\nasync def echo_workflow(ui: UI, user_message: str) -> str:\n    # 启动对话\n    chat_result = await agent.a_initiate_chat(\n        agent, # 这里简化为自问自答或与其他 agent 对话\n        message=user_message,\n        max_turns=1,\n    )\n    return chat_result.summary\n```\n\n### 2. 运行应用\n\n#### 方案 A：运行 Web 应用 (Mesop UI + FastAPI)\n如果您在初始化时选择了 `fastapi+mesop`，可以直接运行主入口文件（通常是 `main.py` 或通过 CLI）：\n\n```bash\n# 启动 FastAPI 服务器和 Mesop UI\npython main.py\n```\n启动后，终端会显示访问地址（通常为 `http:\u002F\u002Flocalhost:8000`），在浏览器中打开即可与智能体进行网页对话。\n\n#### 方案 B：运行命令行应用 (Console UI)\n如果您只想在终端测试工作流逻辑，可以创建一个简单的脚本 `run_console.py`：\n\n```python\nimport asyncio\nfrom fastagency.ui.console import ConsoleUI\nfrom workflow import wf # 导入上面定义的 workflow\n\nasync def main():\n    ui = ConsoleUI()\n    # 运行注册的工作流\n    result = await ui.run(wf, name=\"echo_workflow\", user_message=\"Hello FastAgency!\")\n    print(f\"Result: {result}\")\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n运行脚本：\n```bash\npython run_console.py\n```\n\n### 3. 集成外部 API (可选)\nFastAgency 支持通过 OpenAPI 规范快速集成外部服务。只需几行代码即可让智能体调用天气、搜索等第三方 API：\n\n```python\n# 示例：加载 OpenAPI 规范并连接到 Agent\nfrom fastagency.helpers import load_openapi_spec\n\nspec = load_openapi_spec(\"path\u002Fto\u002Fopenapi.json\")\n# 将 spec 绑定到 agent，使其具备调用能力\n# (具体绑定方法参考 AG2 文档中的 Function Calling 部分)\n```\n\n现在您已经完成了 FastAgency 的基础设置，可以开始构建复杂的多智能体生产级应用了。","某电商公司的算法团队基于 AG2（原 AutoGen）在 Jupyter Notebook 中成功开发了一套“智能客服多智能体系统”，包含负责查询订单、处理退换货及安抚情绪的多个协作 Agent，现在急需将其转化为供客服部门日常使用的 Web 应用。\n\n### 没有 fastagency 时\n- **部署割裂严重**：开发人员需手动重写大量胶水代码，将 Notebook 中的原型逻辑迁移至 Flask 或 FastAPI 框架，极易引入兼容性错误。\n- **扩展能力缺失**：面对大促期间的高并发请求，缺乏内置的消息代理机制，难以将单机脚本快速升级为跨数据中心的分布式集群。\n- **交互界面匮乏**：默认仅支持命令行交互，若要提供图形化聊天窗口，需额外投入前端资源开发整套 UI 界面。\n- **运维成本高昂**：从本地调试到生产环境上线周期长达数周，期间需反复调整网络配置和依赖管理，拖慢业务响应速度。\n\n### 使用 fastagency 后\n- **一键生成服务**：仅需几行代码即可将现有的 AG2 工作流直接封装为生产级的 REST API 服务或完整的 Web 聊天应用，无需重构核心逻辑。\n- **弹性无缝扩容**：通过修改少量配置即可启用内部消息代理，自动协调多台机器协同工作，轻松支撑高并发场景下的稳定运行。\n- **统一接口适配**：利用统一的编程接口，瞬间为多智能体系统挂载现代化的用户界面，让客服人员能立即通过浏览器与 AI 团队协作。\n- **研发效率飞跃**：将从原型到生产的转化周期从数周缩短至数小时，团队可专注于优化 Agent 的决策策略而非底层架构搭建。\n\nfastagency 的核心价值在于消除了多智能体系统从实验室原型到工业化落地之间的巨大鸿沟，让开发者能以最快速度交付可扩展的生产级应用。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fag2ai_fastagency_f5e75ae6.jpg","ag2ai","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fag2ai_e1e0e82a.png","",null,"https:\u002F\u002Fag2.ai\u002F","https:\u002F\u002Fgithub.com\u002Fag2ai",[83,87,91,94,98],{"name":84,"color":85,"percentage":86},"Python","#3572A5",91.4,{"name":88,"color":89,"percentage":90},"TypeScript","#3178c6",4.7,{"name":92,"color":93,"percentage":23},"JavaScript","#f1e05a",{"name":95,"color":96,"percentage":97},"Shell","#89e051",1.7,{"name":99,"color":100,"percentage":101},"Jinja","#a52a22",0.3,532,62,"2026-03-22T06:40:18","Apache-2.0","未说明",{"notes":108,"python":109,"dependencies":110},"该工具主要用于将 AG2 (AutoGen) 的多智能体工作流部署到生产环境。强烈建议使用 Cookiecutter 初始化项目，并可选择在 VS Code 的 DevContainer 中开发。运行基于 LLM 的应用需要配置相应的 API Key（如 OpenAI API Key）。支持控制台 (ConsoleUI) 和 Web (MesopUI) 界面，以及 REST API 和 NATS.io 网络适配器以实现分布式扩展。","3.10, 3.11, 3.12",[111,112,113,114,115,116],"ag2 (formerly AutoGen)","FastAPI","Mesop","NATS.io","FastStream","Cookiecutter",[15,13,26],[119,120,121,122],"autogen","llm","mesop","multiagent","2026-03-27T02:49:30.150509","2026-04-06T07:13:47.547020",[126,131,136,141,146,151],{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},14261,"如何在同一进程中运行 Mesop 应用并与 AutoGen 进行双向通信？","可以实现 Mesop 与 AutoGen 的双向通信并支持流式响应。需要注意的是，Mesop 的状态变量会被序列化和反序列化，因此不能直接存储 Queue 对象等复杂类型。解决方案是建立一个注册表（registry），仅在 Mesop 状态中存储 ID，通过 ID 在注册表中查找实际对象。此外，建议将会话组织为更小的块，格式为 [(用户输入，AutoGen 响应流)]。","https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fissues\u002F47",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},14259,"如何让 AutoGen 代理系统支持数百个用户同时使用并维护各自的状态？","可以通过结合 FastAPI 和 NATS 来实现扩展。具体建议包括：1. 使用 FastAPI 生成 JWT 令牌用于验证 NATS 连接；2. 在发起聊天（initiate_chat）时，将 user_id 包含在主题名称（subject name）中以区分不同用户的会话状态。这样可以确保每个用户的代理系统独立运行且状态隔离。","https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fissues\u002F228",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},14260,"如何在 Mesop 应用中实现按回车键发送提示或反馈？","Mesop 0.12.4 版本已发布并支持热键功能。如果该版本尚未满足需求，可以等待 Mesop 官方 shortcuts 功能的更新（参考 PR #922）。作为临时替代方案，可以使用单行输入框（Input）代替多行文本域（Textarea）来简化回车发送的逻辑。","https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fissues\u002F125",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},14262,"为什么在工作流中连续运行多个对话时，只有第一个对话能在 Mesop 中显示？","这是一个已知问题，通常与事件处理机制有关。当运行多个对话时，后续对话的消息可能因为缺少特定的属性（如 'sender'）而无法渲染。维护者指出需要集成 `RunCompletionEvent` 来修复此问题。如果遇到类似错误（如 'RunCompletionEvent' object has no attribute 'sender'），请确保使用的是已集成该事件处理的最新代码版本。","https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fissues\u002F682",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},14263,"如何配置项目的文档以区分带基本认证（Basic Auth）和不带认证的部署场景？","建议创建两套由 cookiecutter 生成的项目模板：一套包含基本认证，另一套不包含。在文档策略上，大部分页面使用不带认证的示例以保持简洁，而在“快速开始”（Getting Started）页面中使用带基本认证的示例，以便用户在入门时就能了解安全配置。","https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fissues\u002F569",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},14264,"在 Python 3.11 和 3.12 中运行 LLM 测试失败，报错 'SuggestedFunctionCall.__init__() got an unexpected keyword argument body' 如何解决？","该问题是由于参数传递不兼容导致的。此问题已在相关 Pull Request（#215）中修复。如果遇到此错误，请确保您的代码库已更新到包含该修复的版本，检查 `SuggestedFunctionCall` 的初始化参数是否符合最新 API 定义。","https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fissues\u002F280",[157,162,167,172,177,182,187,192,197,202,207,212,217,222,227,232,237,242,247,252],{"id":158,"version":159,"summary_zh":160,"released_at":161},80993,"v0.10.2","## 变更内容\n* 版本升级至 0.9.9（包括移除对 Python 3.9 的支持），由 @marklysze 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F736 中完成\n* FastAgency + AG2 版本升级至 0.10.2，由 @marklysze 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F750 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fcompare\u002Fv0.9.7...v0.10.2","2025-12-09T22:17:07",{"id":163,"version":164,"summary_zh":165,"released_at":166},80994,"v0.9.7","## 变更内容\n* 由 @marklysze 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F732 中将版本号升级至 0.9.7\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fcompare\u002Fv0.9.6...v0.9.7","2025-07-25T09:33:11",{"id":168,"version":169,"summary_zh":170,"released_at":171},80995,"v0.9.6","## 变更内容\n* 由 @marklysze 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F729 中将版本号升级至 0.9.5\n* 由 @marklysze 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F730 中将版本号升级至 0.9.6\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fcompare\u002Fv0.9.4...v0.9.6","2025-07-10T23:01:49",{"id":173,"version":174,"summary_zh":175,"released_at":176},80996,"v0.9.4","## 变更内容\n* 版本升级至 0.9.4，由 @marklysze 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F726 中完成\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fcompare\u002Fv0.9.3...v0.9.4","2025-06-28T09:16:48",{"id":178,"version":179,"summary_zh":180,"released_at":181},80997,"v0.9.3","## 变更内容\n* 由 @harishmohanraj 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F710 中更新版本\n* 由 @marklysze 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F722 中升级至 0.9.3\n* 由 @marklysze 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F725 中再次升级至 0.9.3\n\n## 新贡献者\n* @marklysze 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F722 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fcompare\u002Fv0.9.1...v0.9.3","2025-06-26T00:37:37",{"id":183,"version":184,"summary_zh":185,"released_at":186},80998,"v0.9.1.post0","## 变更内容\n* 版本更新，由 @harishmohanraj 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F710 中完成\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fcompare\u002Fv0.9.1...v0.9.1.post0","2025-05-07T06:37:25",{"id":188,"version":189,"summary_zh":190,"released_at":191},80999,"v0.9.1","## 变更内容\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F704 中更新了发布说明\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F705 中使用 autogen 0.9.1a1 版本，并将 fastagency 更新至 0.9.1a1 版本\n* 由 @davorinrusevljan 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F707 中修复了工作流名称选择及 HIL 相关问题\n* 由 @davorinrusevljan 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F708 中增加了 AWP 对消息过滤的支持\n* 由 @harishmohanraj 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F709 中更新了版本号\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fcompare\u002Fv0.9.0...v0.9.1","2025-05-06T13:15:52",{"id":193,"version":194,"summary_zh":195,"released_at":196},81000,"v0.9.0","## 变更内容\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F681 中更新 cookiecutter 生成的文件和发布说明\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F684 中处理 RunCompletionEvent\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F685 中使用 UUIDEncoder 来转储包含 UUID 的消息\n* 由 @rjambrecic 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F686 中修复使用多模态可对话智能体的工作流\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F687 中更新发布说明和 cookiecutter 生成的文件\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F693 中使用 LLM 配置\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F694 中运行异步工作流\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F696 中添加新的 async_process 方法\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F703 中升级至 0.9 版本\n* 由 @davorinrusevljan 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F702 中完成 awp 的初始实现\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fcompare\u002Fv0.8.6...v0.9.0","2025-04-25T07:51:03",{"id":198,"version":199,"summary_zh":200,"released_at":201},81001,"v0.8.6.post0","## 变更内容\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F681 中更新了 cookiecutter 生成的文件和发布说明。\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F684 中实现了对 RunCompletionEvent 的处理。\n* 由 @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F685 中使用 UUIDEncoder 来转储包含 UUID 的消息。\n* 由 @rjambrecic 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F686 中修复了使用多模态可对话智能体的工作流。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fcompare\u002Fv0.8.6...v0.8.6.post0","2025-04-16T04:50:38",{"id":203,"version":204,"summary_zh":205,"released_at":206},81002,"v0.8.6","## 变更内容\n* @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F664 中更新了发布说明\n* @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F668 中更新了 MkDocs AG2 文档链接\n* @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F669 中更新了由 Cookiecutter 生成的文件\n* @sternakt 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F671 中修复了 OpenAPI 工具注册中的向前引用问题\n* @kumaranvpl 在 https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F672 中集成了 AG2 事件流\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fcompare\u002Fv0.8.4...v0.8.6","2025-04-11T05:16:36",{"id":208,"version":209,"summary_zh":210,"released_at":211},81003,"v0.8.4","## What's Changed\r\n* Add basic auth to getting started by @davorrunje in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F572\r\n* Update cookiecutter by @davorrunje in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F574\r\n* Add authentication section in getting started page by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F577\r\n* Show appropriate message when unauthorized user tried to access the a… by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F571\r\n* Fix WhatsAppAgent docs by @sternakt in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F578\r\n* Fix broken tutorial image by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F581\r\n* Add excluded URLs from CI check by @davorrunje in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F582\r\n* Add Playwright coverage to CI by @davorinrusevljan in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F555\r\n* Update deploy docs by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F591\r\n* Add a section explaining how to deploy using github actions by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F592\r\n* Update cookiecutter generated files by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F595\r\n* Update packages by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F596\r\n* Update cookiecutter generated files by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F604\r\n* Filter one pytest warning by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F607\r\n* Add dependancy injection by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F609\r\n* Update cookiecutter generated files by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F615\r\n* Add deploy to azure section in quick start page by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F616\r\n* Add prompt leakage probing tutorial by @sternakt in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F617\r\n* Update dependency versions by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F621\r\n* Add deploy to aws section in getting started page by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F622\r\n* Update cache version to v04 to fix failing CI by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F628\r\n* chore: group dependantbot PRs by @Lancetnik in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F626\r\n* Upgrade ag2 version by @davorrunje in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F645\r\n* Use python 3.12 to deploy docs by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F649\r\n* Rename AutoGen to AG2 by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F651\r\n* Update ag2 version to 0.8.4 and add support for new version by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F654\r\n* fix flaky playwright test triggered by ag2 rename by @davorinrusevljan in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F657\r\n* Update version to 0.8.4rc0 by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F659\r\n* Change airt links to ag2ai links by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F660\r\n* Fix message.print and follow ag2's style of message header by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F661\r\n* Use PYPI_API_TOKEN for pypi releases by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F662\r\n* Prepare for 0.8.4 version release by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F663\r\n\r\n## New Contributors\r\n* @Lancetnik made their first contribution in https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fpull\u002F626\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fag2ai\u002Ffastagency\u002Fcompare\u002F0.3.4...v0.8.4","2025-04-02T06:27:04",{"id":213,"version":214,"summary_zh":215,"released_at":216},81004,"0.3.4","## What's Changed\r\n\r\n* Skip whatsapp agent e2e tests, add whatsapp unit tests by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F540\r\n* Fix broken docs code and links by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F549\r\n* Updated packages and cookiecutter by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F550\r\n* Fix broken docs code by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F551\r\n* Polishing of Getting started by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F552\r\n* Update tutorials to use cookiecutter by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F553\r\n* Recommed cookiecutter as default option and pip+venv as alternative by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F554\r\n* Polishing docs by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F557\r\n* Update cookiecutter generated files by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F559\r\n* Create new readme file by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F558\r\n* Update deploy docs by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F561\r\n* Add simple username\u002Fpassword authentication by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F556\r\n* Update docs by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F563\r\n* Implement HTTPBasic security by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F564\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fcompare\u002Fv0.3.3...0.3.4","2024-11-12T15:33:13",{"id":218,"version":219,"summary_zh":220,"released_at":221},81005,"v0.3.3","## What's Changed\r\n\r\n* Polish tutorials by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F473\r\n* Add user guide on how to use cookiecutter by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F474\r\n* Update tutorial docs by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F479\r\n* Patch \"Exception: modular references are not supported in this version\" by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F478\r\n* Fix patching order by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F481\r\n* Update Adapter Docs by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F472\r\n* Add Playwright by @davorinrusevljan in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F469\r\n* Add cookiecutter as an alternative option by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F480\r\n* Fix: modular references are not supported in this version exception by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F484\r\n* Keep cookiecutter project setup in single place and embed it in getting started by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F485\r\n* Fix create message by adding workflow_uuid by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F486\r\n* Update giphy end2end test by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F502\r\n* Raise warning if openapi schema contains non supported security schema by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F499\r\n* Upgrade package versions by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F506\r\n* Define servers in openapi factory by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F501\r\n* Reroute whatsapp_e2e test by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F507\r\n* Add fastagency docker build and run commands by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F508\r\n* Mesop: do not scroll for keep alive by @davorinrusevljan in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F503\r\n* Update package versions by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F525\r\n* Fix parsing of Infobip whatsapp API schema by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F516\r\n* Fix docs by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F528\r\n* Add firebase authentication in Mesop by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F512\r\n* Polishing docs by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F530\r\n* Implement Whatsapp agent with infobip api integration by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F532\r\n* Fix failing test import by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F533\r\n* Update documentation with new features by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F534\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fcompare\u002Fv0.3.2...v0.3.3","2024-11-06T23:17:35",{"id":223,"version":224,"summary_zh":225,"released_at":226},81006,"v0.3.2","## What's Changed\r\n* Update Release Notes for v0.3.1 by @airt-release-notes-updater in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F430\r\n* Update adapters docs by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F422\r\n* Add waitress as alternative command for gunicorn in Windows by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F431\r\n* Add WhatsApp API example by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F433\r\n* Add a test which checks mesop version by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F434\r\n* Update mesop version and remove mesop patch by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F449\r\n* Update package versions by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F450\r\n* Install OS specific WSGI server by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F452\r\n* Add waitress as alternative of gunicorn for Windows by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F448\r\n* Add Custom Client example to the docs by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F435\r\n* Add source links by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F457\r\n* Add message types in docs by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F458\r\n* Add more descriptive error message by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F455\r\n* Follow uniform AutoGenWorkflows import across files by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F459\r\n* Docs for whatsapp tutorial by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F462\r\n* Fix parsing openapi schema fails when operation id contains by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F466\r\n* Add security to FastAPIAdapter by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F442\r\n* Switch the example to use mesop UI instead of console UI in adapter docs by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F465\r\n* Update FastAPI and NATS.io adapter sections with custom HTML\u002FJS client implementation by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F461\r\n* Add bing api key to websurfer and fix documentation warnings by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F470\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fcompare\u002Fv0.3.1...v0.3.2","2024-10-23T21:59:20",{"id":228,"version":229,"summary_zh":230,"released_at":231},81007,"v0.3.1","## What's Changed\r\n* Update tutorial docs by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F414\r\n* Fix OpenAPI docs by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F419\r\n* Fix broken links in docs by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F420\r\n* Implement path to make mesop work in Windows by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F415\r\n* Fix _process_params method when body is present by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F429\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fcompare\u002Fv0.3.0...v0.3.1","2024-10-18T07:52:31",{"id":233,"version":234,"summary_zh":235,"released_at":236},81008,"v0.3.0","## What's Changed\r\n\r\n* Remove log which is causing security issue by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F348\r\n* Refactor messages by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F350\r\n* Implement name and description discovery over nats and fastapi by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F353\r\n* Refactor workflow run by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F355\r\n* Fix subscriber close issue by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F358\r\n* Moved some logs from info to debug by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F359\r\n* Realign the examples in the documentation with the new source code by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F361\r\n* Fix pydantic name annotated is not defined main by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F364\r\n* Update package versions by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F378\r\n* Refactor WebSockets interface by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F360\r\n* Update getting started guide by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F384\r\n* Polish readme by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F385\r\n* Polish readme by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F386\r\n* Rewrite documentation for api security by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F388\r\n* Move pydantic message classes to separate file by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F392\r\n* Fix errors in the getting started guide by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F387\r\n* Add a section to start NATS by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F395\r\n* Move running nats section to appropriate sections by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F398\r\n* Fix broken links in docs by @kumaranvpl in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F400\r\n* Test and update getting started page by @rjambrecic in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F396\r\n* Add alternative llm guide llama  togetherai by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F381\r\n* Add skeleton for adapter docs by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F402\r\n* Update UI docs by @harishmohanraj in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F397\r\n* Release 0.3.0 by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F403\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fcompare\u002Fv0.2.4...v0.3.0","2024-10-15T14:25:16",{"id":238,"version":239,"summary_zh":240,"released_at":241},81009,"v0.2.5","## What's Changed\r\n\r\n* Fix Pydantic name annotated is not defined by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F365\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fcompare\u002Fv0.2.4...v0.2.5","2024-10-14T08:14:58",{"id":243,"version":244,"summary_zh":245,"released_at":246},81010,"v0.2.4","## What's Changed\r\n\r\n* Docs: Fix docs for Mesop security by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F318\r\n* Security: Add username and password logic to oauth security settings by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F328\r\n* Mesop: When past conversation is selected, scroll to the end of it by @davorinrusevljan in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F320\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fcompare\u002Fv0.2.3...v0.2.4","2024-10-08T12:36:35",{"id":248,"version":249,"summary_zh":250,"released_at":251},81011,"v0.2.3","## What's Changed\r\n\r\n* Fix type error unable to evaluate type annotation when generating client by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F313\r\n* Adds scrolling in function-related messages by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F314\r\n* Exported security and styling options for MesopUI by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F315\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fcompare\u002Fv0.2.2...v0.2.3","2024-10-04T21:39:56",{"id":253,"version":254,"summary_zh":255,"released_at":256},81012,"v0.2.2","## What's Changed\r\n\r\n* Detect JSON in output and use code block for it and make long outputs scrollable by @davorrunje in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F306\r\n* Fix: unable to parse OpenAPI spec by @sternakt in https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fpull\u002F303\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fairtai\u002Ffastagency\u002Fcompare\u002Fv0.2.1...v0.2.2","2024-10-03T19:32:15"]