[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-a2aproject--a2a-python":3,"tool-a2aproject--a2a-python":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 真正成长为懂上",160015,2,"2026-04-18T11:30:52",[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":77,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":32,"env_os":93,"env_gpu":93,"env_ram":93,"env_deps":94,"category_tags":105,"github_topics":106,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":115,"updated_at":116,"faqs":117,"releases":118},9043,"a2aproject\u002Fa2a-python","a2a-python","Official Python SDK for the Agent2Agent (A2A) Protocol","a2a-python 是 Agent2Agent (A2A) 协议的官方 Python 开发工具包，旨在帮助开发者构建符合标准规范的智能体（Agent）应用。在人工智能领域，不同智能体系统之间往往缺乏统一的沟通语言，导致协作困难。a2a-python 通过提供标准化的服务端实现，解决了这一互操作性难题，让不同的 AI 智能体能够像人与人一样顺畅地交换信息和协同工作。\n\n这款工具主要面向 Python 开发者及人工智能工程师，特别是那些希望将自有智能体接入开放生态、或需要构建高并发分布式智能体系统的技术团队。其核心技术亮点在于完全基于现代异步 Python 构建，确保了高性能运行；同时具备极高的扩展性，不仅原生支持 JSON-RPC、HTTP\u002FREST 和 gRPC 多种通信传输协议，还灵活集成了 FastAPI、OpenTelemetry 链路追踪以及 PostgreSQL 等主流数据库。无论是快速原型验证还是生产环境部署，a2a-python 都能通过模块化的可选组件，帮助开发者轻松搭建安全、可观测且易于维护的智能体服务后端。","# A2A Python SDK\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](LICENSE)\n[![PyPI version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fa2a-sdk)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fa2a-sdk\u002F)\n![PyPI - Python Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fa2a-sdk)\n[![PyPI - Downloads](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdw\u002Fa2a-sdk)](https:\u002F\u002Fpypistats.org\u002Fpackages\u002Fa2a-sdk)\n[![Python Unit Tests](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Factions\u002Fworkflows\u002Funit-tests.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Factions\u002Fworkflows\u002Funit-tests.yml)\n\u003C!-- markdownlint-disable no-inline-html -->\n\u003Ca href=\"https:\u002F\u002Fcodewiki.google\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\">\n  \u003Cimg src=\"https:\u002F\u002Fwww.gstatic.com\u002F_\u002Fboq-sdlc-agents-ui\u002F_\u002Fr\u002FMvosg4klCA4.svg\" alt=\"Ask Code Wiki\" height=\"20\">\n\u003C\u002Fa>\n\n\u003Cdiv align=\"center\">\n   \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fa2aproject\u002FA2A\u002Frefs\u002Fheads\u002Fmain\u002Fdocs\u002Fassets\u002Fa2a-logo-black.svg\" width=\"256\" alt=\"A2A Logo\"\u002F>\n   \u003Ch3>\n      A Python library for running agentic applications as A2A Servers, following the \u003Ca href=\"https:\u002F\u002Fa2a-protocol.org\">Agent2Agent (A2A) Protocol\u003C\u002Fa>.\n   \u003C\u002Fh3>\n\u003C\u002Fdiv>\n\n\u003C!-- markdownlint-enable no-inline-html -->\n\n---\n\n## ✨ Features\n\n- **A2A Protocol Compliant:** Build agentic applications that adhere to the Agent2Agent (A2A) Protocol.\n- **Extensible:** Easily add support for different communication protocols and database backends.\n- **Asynchronous:** Built on modern async Python for high performance.\n- **Optional Integrations:** Includes optional support for:\n  - HTTP servers ([FastAPI](https:\u002F\u002Ffastapi.tiangolo.com\u002F), [Starlette](https:\u002F\u002Fwww.starlette.io\u002F))\n  - [gRPC](https:\u002F\u002Fgrpc.io\u002F)\n  - [OpenTelemetry](https:\u002F\u002Fopentelemetry.io\u002F) for tracing\n  - SQL databases ([PostgreSQL](https:\u002F\u002Fwww.postgresql.org\u002F), [MySQL](https:\u002F\u002Fwww.mysql.com\u002F), [SQLite](https:\u002F\u002Fsqlite.org\u002F))\n\n---\n\n## 🧩 Compatibility\n\nThis SDK implements the A2A Protocol Specification [`0.3`](https:\u002F\u002Fa2a-protocol.org\u002Fv0.3.0\u002Fspecification).\n\n> [!IMPORTANT]\n> There is an [**alpha version**](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Freleases?q=%22v1.0.0-alpha%22&expanded=true) available with support for both [`1.0`](https:\u002F\u002Fa2a-protocol.org\u002Fv1.0.0\u002Fspecification\u002F) and [`0.3`](https:\u002F\u002Fa2a-protocol.org\u002Fv0.3.0\u002Fspecification) versions. Development for this version is taking place in the [`1.0-dev`](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Ftree\u002F1.0-dev) branch, tracked in [#701](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F701).\n\n| Transport | Client | Server |\n| :--- | :---: | :---: |\n| **JSON-RPC** | ✅ | ✅ |\n| **HTTP+JSON\u002FREST** | ✅ | ✅ |\n| **GRPC** | ✅ | ✅ |\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Python 3.10+\n- `uv` (recommended) or `pip`\n\n### 🔧 Installation\n\nInstall the core SDK and any desired extras using your preferred package manager.\n\n| Feature                  | `uv` Command                               | `pip` Command                                |\n| ------------------------ | ------------------------------------------ | -------------------------------------------- |\n| **Core SDK**             | `uv add a2a-sdk`                           | `pip install a2a-sdk`                        |\n| **All Extras**           | `uv add \"a2a-sdk[all]\"`                    | `pip install \"a2a-sdk[all]\"`                 |\n| **HTTP Server**          | `uv add \"a2a-sdk[http-server]\"`            | `pip install \"a2a-sdk[http-server]\"`         |\n| **gRPC Support**         | `uv add \"a2a-sdk[grpc]\"`                   | `pip install \"a2a-sdk[grpc]\"`                |\n| **OpenTelemetry Tracing**| `uv add \"a2a-sdk[telemetry]\"`              | `pip install \"a2a-sdk[telemetry]\"`           |\n| **Encryption**           | `uv add \"a2a-sdk[encryption]\"`             | `pip install \"a2a-sdk[encryption]\"`          |\n| **Vertex AI Task Store** | `uv add \"a2a-sdk[vertex]\"`                 | `pip install \"a2a-sdk[vertex]\"`              |\n|                          |                                            |                                              |\n| **Database Drivers**     |                                            |                                              |\n| **PostgreSQL**           | `uv add \"a2a-sdk[postgresql]\"`             | `pip install \"a2a-sdk[postgresql]\"`          |\n| **MySQL**                | `uv add \"a2a-sdk[mysql]\"`                  | `pip install \"a2a-sdk[mysql]\"`               |\n| **SQLite**               | `uv add \"a2a-sdk[sqlite]\"`                 | `pip install \"a2a-sdk[sqlite]\"`              |\n| **All SQL Drivers**      | `uv add \"a2a-sdk[sql]\"`                    | `pip install \"a2a-sdk[sql]\"`                 |\n\n## Examples\n\n### [Helloworld Example](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples\u002Ftree\u002Fmain\u002Fsamples\u002Fpython\u002Fagents\u002Fhelloworld)\n\n1. Run Remote Agent\n\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples.git\n   cd a2a-samples\u002Fsamples\u002Fpython\u002Fagents\u002Fhelloworld\n   uv run .\n   ```\n\n2. In another terminal, run the client\n\n   ```bash\n   cd a2a-samples\u002Fsamples\u002Fpython\u002Fagents\u002Fhelloworld\n   uv run test_client.py\n   ```\n\n3. You can validate your agent using the agent inspector. Follow the instructions at the [a2a-inspector](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-inspector) repo.\n\n---\n\n## 🌐 More Examples\n\nYou can find a variety of more detailed examples in the [a2a-samples](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples) repository:\n\n- **[Python Examples](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples\u002Ftree\u002Fmain\u002Fsamples\u002Fpython)**\n- **[JavaScript Examples](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples\u002Ftree\u002Fmain\u002Fsamples\u002Fjs)**\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for guidelines on how to get involved.\n\n---\n\n## 📄 License\n\nThis project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for more details.\n","# A2A Python SDK\n\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F许可证-Apache_2.0-blue.svg)](LICENSE)\n[![PyPI版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fa2a-sdk)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fa2a-sdk\u002F)\n![PyPI - Python版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fa2a-sdk)\n[![PyPI - 下载量](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdw\u002Fa2a-sdk)](https:\u002F\u002Fpypistats.org\u002Fpackages\u002Fa2a-sdk)\n[![Python单元测试](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Factions\u002Fworkflows\u002Funit-tests.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Factions\u002Fworkflows\u002Funit-tests.yml)\n\u003C!-- markdownlint-disable no-inline-html -->\n\u003Ca href=\"https:\u002F\u002Fcodewiki.google\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\">\n  \u003Cimg src=\"https:\u002F\u002Fwww.gstatic.com\u002F_\u002Fboq-sdlc-agents-ui\u002F_\u002Fr\u002FMvosg4klCA4.svg\" alt=\"Ask Code Wiki\" height=\"20\">\n\u003C\u002Fa>\n\n\u003Cdiv align=\"center\">\n   \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fa2aproject\u002FA2A\u002Frefs\u002Fheads\u002Fmain\u002Fdocs\u002Fassets\u002Fa2a-logo-black.svg\" width=\"256\" alt=\"A2A Logo\"\u002F>\n   \u003Ch3>\n      一个用于按照\u003Ccode>\u003Ca href=\"https:\u002F\u002Fa2a-protocol.org\">Agent2Agent (A2A) 协议\u003C\u002Fa>\u003C\u002Fcode>运行代理应用的 Python 库，作为 A2A 服务器。\n   \u003C\u002Fh3>\n\u003C\u002Fdiv>\n\n\u003C!-- markdownlint-enable no-inline-html -->\n\n---\n\n## ✨ 特性\n\n- **符合 A2A 协议：** 构建遵循 Agent2Agent (A2A) 协议的代理应用。\n- **可扩展：** 轻松添加对不同通信协议和数据库后端的支持。\n- **异步：** 基于现代异步 Python 构建，性能卓越。\n- **可选集成：** 包括对以下内容的可选支持：\n  - HTTP 服务器（[FastAPI](https:\u002F\u002Ffastapi.tiangolo.com\u002F)、[Starlette](https:\u002F\u002Fwww.starlette.io\u002F))\n  - [gRPC](https:\u002F\u002Fgrpc.io\u002F)\n  - 用于追踪的 [OpenTelemetry](https:\u002F\u002Fopentelemetry.io\u002F)\n  - SQL 数据库（[PostgreSQL](https:\u002F\u002Fwww.postgresql.org\u002F)、[MySQL](https:\u002F\u002Fwww.mysql.com\u002F)、[SQLite](https:\u002F\u002Fsqlite.org\u002F))\n\n---\n\n## 🧩 兼容性\n\n该 SDK 实现了 A2A 协议规范 [`0.3`](https:\u002F\u002Fa2a-protocol.org\u002Fv0.3.0\u002Fspecification)。\n\n> [!重要]\n> 目前有一个[**alpha 版本**](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Freleases?q=%22v1.0.0-alpha%22&expanded=true)，同时支持 [`1.0`](https:\u002F\u002Fa2a-protocol.org\u002Fv1.0.0\u002Fspecification\u002F) 和 [`0.3`](https:\u002F\u002Fa2a-protocol.org\u002Fv0.3.0\u002Fspecification) 版本。此版本的开发正在 [`1.0-dev`](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Ftree\u002F1.0-dev) 分支中进行，并在 [#701](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F701) 中跟踪。\n\n| 传输方式 | 客户端 | 服务器 |\n| :--- | :---: | :---: |\n| **JSON-RPC** | ✅ | ✅ |\n| **HTTP+JSON\u002FREST** | ✅ | ✅ |\n| **GRPC** | ✅ | ✅ |\n\n---\n\n## 🚀 快速入门\n\n### 前提条件\n\n- Python 3.10+\n- `uv`（推荐）或 `pip`\n\n### 🔧 安装\n\n使用您喜欢的包管理器安装核心 SDK 和任何所需的附加组件。\n\n| 功能                  | `uv` 命令                               | `pip` 命令                                |\n| ------------------------ | ------------------------------------------ | -------------------------------------------- |\n| **核心 SDK**             | `uv add a2a-sdk`                           | `pip install a2a-sdk`                        |\n| **所有附加组件**           | `uv add \"a2a-sdk[all]\"`                    | `pip install \"a2a-sdk[all]\"`                 |\n| **HTTP 服务器**          | `uv add \"a2a-sdk[http-server]\"`            | `pip install \"a2a-sdk[http-server]\"`         |\n| **gRPC 支持**         | `uv add \"a2a-sdk[grpc]\"`                   | `pip install \"a2a-sdk[grpc]\"`                |\n| **OpenTelemetry 追踪**| `uv add \"a2a-sdk[telemetry]\"`              | `pip install \"a2a-sdk[telemetry]\"`           |\n| **加密**           | `uv add \"a2a-sdk[encryption]\"`             | `pip install \"a2a-sdk[encryption]\"`          |\n| **Vertex AI 任务存储** | `uv add \"a2a-sdk[vertex]\"`                 | `pip install \"a2a-sdk[vertex]\"`              |\n|                          |                                            |                                              |\n| **数据库驱动程序**     |                                            |                                              |\n| **PostgreSQL**           | `uv add \"a2a-sdk[postgresql]\"`             | `pip install \"a2a-sdk[postgresql]\"`          |\n| **MySQL**                | `uv add \"a2a-sdk[mysql]\"`                  | `pip install \"a2a-sdk[mysql]\"`               |\n| **SQLite**               | `uv add \"a2a-sdk[sqlite]\"`                 | `pip install \"a2a-sdk[sqlite]\"`              |\n| **所有 SQL 驱动程序**      | `uv add \"a2a-sdk[sql]\"`                    | `pip install \"a2a-sdk[sql]\"`                 |\n\n## 示例\n\n### [Helloworld 示例](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples\u002Ftree\u002Fmain\u002Fsamples\u002Fpython\u002Fagents\u002Fhelloworld)\n\n1. 运行远程代理\n\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples.git\n   cd a2a-samples\u002Fsamples\u002Fpython\u002Fagents\u002Fhelloworld\n   uv run .\n   ```\n\n2. 在另一个终端中，运行客户端\n\n   ```bash\n   cd a2a-samples\u002Fsamples\u002Fpython\u002Fagents\u002Fhelloworld\n   uv run test_client.py\n   ```\n\n3. 您可以使用代理检查器验证您的代理。请按照 [a2a-inspector](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-inspector) 仓库中的说明操作。\n\n---\n\n## 🌐 更多示例\n\n您可以在 [a2a-samples](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples) 仓库中找到各种更详细的示例：\n\n- **[Python 示例](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples\u002Ftree\u002Fmain\u002Fsamples\u002Fpython)**\n- **[JavaScript 示例](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples\u002Ftree\u002Fmain\u002Fsamples\u002Fjs)**\n\n---\n\n## 🤝 贡献\n\n欢迎贡献！请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 文件，了解参与方式的指南。\n\n---\n\n## 📄 许可证\n\n本项目采用 Apache 2.0 许可证授权。有关详细信息，请参阅 [LICENSE](LICENSE) 文件。","# a2a-python 快速上手指南\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n- **操作系统**：Linux, macOS 或 Windows\n- **Python 版本**：Python 3.10 或更高版本\n- **包管理工具**：推荐使用 [`uv`](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F)（速度更快），也可使用标准的 `pip`\n\n> **提示**：国内开发者若遇到网络延迟，可在安装命令后添加国内镜像源（如清华源）：\n> - `uv`：目前主要依赖官方源，建议配置全局代理或使用 `pip` 替代。\n> - `pip`：在命令后追加 `-i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n## 安装步骤\n\n根据您的具体需求，选择以下任一方式安装 `a2a-sdk`。\n\n### 1. 安装核心 SDK\n仅包含基础功能，适用于构建基本的 A2A 客户端或服务端。\n\n```bash\n# 使用 uv (推荐)\nuv add a2a-sdk\n\n# 或使用 pip\npip install a2a-sdk\n```\n\n### 2. 安装完整功能（所有扩展）\n如果您需要 HTTP 服务器、gRPC、链路追踪及所有数据库支持，可一键安装所有可选依赖。\n\n```bash\n# 使用 uv\nuv add \"a2a-sdk[all]\"\n\n# 或使用 pip\npip install \"a2a-sdk[all]\"\n```\n\n### 3. 按需安装特定功能\n您也可以只安装需要的模块，例如仅启用 HTTP 服务器或 PostgreSQL 支持：\n\n| 功能需求 | uv 命令 | pip 命令 |\n| :--- | :--- | :--- |\n| **HTTP 服务器** (FastAPI\u002FStarlette) | `uv add \"a2a-sdk[http-server]\"` | `pip install \"a2a-sdk[http-server]\"` |\n| **gRPC 支持** | `uv add \"a2a-sdk[grpc]\"` | `pip install \"a2a-sdk[grpc]\"` |\n| **OpenTelemetry 链路追踪** | `uv add \"a2a-sdk[telemetry]\"` | `pip install \"a2a-sdk[telemetry]\"` |\n| **PostgreSQL 驱动** | `uv add \"a2a-sdk[postgresql]\"` | `pip install \"a2a-sdk[postgresql]\"` |\n| **SQLite 驱动** | `uv add \"a2a-sdk[sqlite]\"` | `pip install \"a2a-sdk[sqlite]\"` |\n\n*(注：若使用 pip 且需加速，请在上述命令末尾添加 `-i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`)*\n\n## 基本使用\n\n以下通过官方的 \"Hello World\" 示例演示如何运行一个远程 Agent 并通过客户端与其交互。该示例基于 JSON-RPC 协议。\n\n### 第一步：获取示例代码\n克隆官方示例仓库并进入目录：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples.git\ncd a2a-samples\u002Fsamples\u002Fpython\u002Fagents\u002Fhelloworld\n```\n\n### 第二步：启动 Agent 服务端\n在第一个终端窗口中运行 Agent 服务。这将启动一个遵循 A2A 协议的本地服务器。\n\n```bash\nuv run .\n```\n*(如果使用 pip 环境，请确保已安装依赖后运行 `python .` 或相应入口脚本)*\n\n### 第三步：运行客户端\n打开另一个终端窗口，保持在同一目录下，运行测试客户端与服务端通信：\n\n```bash\nuv run test_client.py\n```\n\n### 验证结果\n如果配置正确，客户端将向服务端发送请求并收到响应。您还可以使用 [a2a-inspector](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-inspector) 工具对运行的 Agent 进行更深入的调试和验证。\n\n> **更多资源**：如需查看更复杂的场景（如多轮对话、工具调用等），请访问 [a2a-samples](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-samples) 仓库中的 Python 示例目录。","某电商公司需要将其内部的“库存管理 Agent\"与外部合作伙伴的“物流调度 Agent\"进行实时对接，以实现自动补货和发货。\n\n### 没有 a2a-python 时\n- **协议实现繁琐**：开发团队需手动解析 JSON-RPC 或 HTTP 请求，反复查阅 A2A 协议文档来确保消息格式合规，极易因字段遗漏导致通信失败。\n- **异构集成困难**：内部系统基于 FastAPI，而合作伙伴使用 gRPC，团队不得不编写大量胶水代码进行协议转换和维护两套通信逻辑。\n- **缺乏可观测性**：跨 Agent 的调用链路难以追踪，一旦任务执行失败，无法快速定位是网络问题、数据错误还是对方 Agent 的逻辑异常。\n- **状态管理复杂**：需要自行设计数据库表结构来存储异步任务的状态（如排队、运行中、完成），增加了后端架构的复杂度。\n\n### 使用 a2a-python 后\n- **开箱即用的合规性**：直接利用 a2a-python 构建符合 A2A 协议标准的服务器，自动处理消息序列化与验证，将开发重心回归业务逻辑。\n- **灵活的交通支持**：通过安装 `http-server` 或 `grpc` 扩展包，无缝切换通信底层，轻松适配不同合作伙伴的技术栈，无需重写核心代码。\n- **全链路追踪集成**：引入 `telemetry` 扩展即可接入 OpenTelemetry，自动生成分布式追踪数据，让跨 Agent 的交互过程透明可视。\n- **内置持久化方案**：直接使用内置的 SQL 或 Vertex AI 任务存储功能，几行配置即可实现任务状态的可靠持久化，免去自建状态机的麻烦。\n\na2a-python 将复杂的跨智能体通信协议标准化为简单的 Python 接口，让开发者能像调用本地函数一样安全、高效地连接全球智能体网络。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fa2aproject_a2a-python_9ca3d087.png","a2aproject","Agent2Agent (A2A) Project","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fa2aproject_d0e7d2c5.png","Donated to the Linux Foundation by Google",null,"https:\u002F\u002Fa2a-protocol.org","https:\u002F\u002Fgithub.com\u002Fa2aproject",[81,85],{"name":82,"color":83,"percentage":84},"Python","#3572A5",99.1,{"name":86,"color":87,"percentage":88},"Shell","#89e051",0.9,1837,417,"2026-04-17T18:37:10","Apache-2.0","未说明",{"notes":95,"python":96,"dependencies":97},"该工具是一个用于构建遵循 A2A 协议的代理应用的 Python SDK。推荐使用 'uv' 进行包管理，但也支持 'pip'。核心功能无需额外依赖，但 HTTP 服务器、gRPC、链路追踪、加密及特定数据库支持需要通过安装额外的可选组件（extras）来获取。目前稳定版支持 A2A 协议 0.3 版本，另有支持 1.0 和 0.3 版本的 Alpha 版本可用。","3.10+",[98,99,100,101,102,103,104],"FastAPI (可选)","Starlette (可选)","gRPC (可选)","OpenTelemetry (可选)","PostgreSQL 驱动 (可选)","MySQL 驱动 (可选)","SQLite 驱动 (可选)",[13,45],[107,108,109,110,111,112,113,114],"agents","generative-ai","a2a","a2a-client","a2a-mcp","a2a-protocol","a2a-server","agent2agent","2026-03-27T02:49:30.150509","2026-04-18T22:31:47.510622",[],[119,124,129,134,139,144,149,154,159,164,169,174,179,184,189,194,199,204,209,214],{"id":120,"version":121,"summary_zh":122,"released_at":123},324034,"v1.0.0-alpha.3","## [1.0.0-alpha.3](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv1.0.0-alpha.2...v1.0.0-alpha.3)（2026-04-17）\n\n\n### Bug修复\n\n* 更新 `with_a2a_extensions`，使其在原有基础上追加而非覆盖（[#985](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F985)）（[e1d0e7a](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fe1d0e7a72e2b9633be0b76c952f6c2e6fe11e3e5)）","2026-04-17T15:47:44",{"id":125,"version":126,"summary_zh":127,"released_at":128},324035,"v1.0.0-alpha.2","## [1.0.0-alpha.2](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv1.0.0-alpha.1...v1.0.0-alpha.2) (2026-04-17)\n\n\n### ⚠ 重大变更\n\n* 清理 helpers 和 utils 文件夹的结构 ([#983](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F983))\n* 在 AgentExecutor 行为无效时抛出错误。([#979](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F979))\n* 将开发者辅助工具提取到 helpers 文件夹中 ([#978](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F978))\n\n### 功能\n\n* 在 AgentExecutor 行为无效时抛出错误。([#979](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F979)) ([f4a0bcd](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Ff4a0bcdf68107c95e6c0a5e6696e4a7d6e01a03f))\n* **utils:** 添加 `display_agent_card()` 工具函数，用于以人类可读的方式检查 AgentCard ([#972](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F972)) ([3468180](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F3468180ac7396d453d99ce3e74cdd7f5a0afb5ab))\n\n\n### 错误修复\n\n* 不要在 VertexTaskStore 中生成空的元数据变更事件 ([#974](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F974)) ([b58b03e](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fb58b03ef58bd806db3accbe6dca8fc444a43bc18)), 关闭了 [#802](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F802)\n* **extensions:** 同时支持头部名称，并移除“激活”概念 ([#984](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F984)) ([b8df210](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fb8df210b00d0f249ca68f0d814191c4205e18b35))\n\n\n### 文档\n\n* AgentExecutor 接口文档 ([#976](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F976)) ([d667e4f](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fd667e4fa55e99225eb3c02e009b426a3bc2d449d))\n* 将 `ai_learnings.md` 移至仅本地使用，并更新 `GEMINI.md` ([#982](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F982)) ([f6610fa](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Ff6610fa35e1f5fbc3e7e6cd9e29a5177a538eb4e))\n\n\n### 代码重构\n\n* 清理 helpers 和 utils 文件夹的结构 ([#983](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F983)) ([c87e87c](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fc87e87c76c004c73c9d6b9bd8cacfd4e590598e6))\n* 将开发者辅助工具提取到 helpers 文件夹中 ([#978](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F978)) ([5f3ea29](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F5f3ea292389cf72a25a7cf2792caceb4af45f6da))","2026-04-17T13:48:04",{"id":130,"version":131,"summary_zh":132,"released_at":133},324036,"v1.0.0-alpha.1","## [1.0.0-alpha.1](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv1.0.0-alpha.0...v1.0.0-alpha.1) (2026-04-10)\n\n\n### ⚠ 重大变更\n\n* **client:** 将 ClientConfig.push_notification_config 改为单数形式 ([#955](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F955))\n* **client:** 重新组织 ClientFactory API ([#947](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F947))\n* **server:** 在 DefaultContextBuilder 中添加 build_user 函数，以支持 A2A 用户创建的自定义配置 ([#925](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F925))\n* **client:** 从客户端移除 `ClientTaskManager` 和 `Consumers` ([#916](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F916))\n* **server:** 将 REST 接口从 Application 包装器迁移到基于 Starlette 路由的端点 ([#892](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F892))\n* **server:** 将 JSON-RPC 接口从 Application 包装器迁移到基于 Starlette 路由的端点 ([#873](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F873))\n\n### 功能特性\n\n* 服务器端 A2A 版本头验证。([#865](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F865)) ([b261ceb](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fb261ceb98bf46cc1e479fcdace52fef8371c8e58))\n* 在 RequestHandlers 中添加 GetExtendedAgentCard 支持 ([#919](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F919)) ([2159140](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F2159140b1c24fe556a41accf97a6af7f54ec6701))\n* 在 Vertex Task Store 中增加对更多 Task Message 和 Artifact 字段的支持 ([#936](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F936)) ([605fa49](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F605fa4913ad23539a51a3ee1f5b9ca07f24e1d2d))\n* 创建 EventQueue 接口，并使 tap() 方法异步化。([#914](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F914)) ([9ccf99c](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F9ccf99c63d4e556eadea064de6afa0b4fc4e19d6)), 关闭了 [#869](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F869)\n* EventQueue - 统一各 Python 版本之间的实现 ([#877](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F877)) ([7437b88](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F7437b88328fc71ed07e8e50f22a2eb0df4bf4201)), 关闭了 [#869](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F869)\n* EventQueue 现在是一个简单的接口，仅包含一个 enqueue_event 方法。([#944](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F944)) ([f0e1d74](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Ff0e1d74802e78a4e9f4c22cbc85db104137e0cd2))\n* 实现 DefaultRequestHandlerV2 ([#933](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F933)) ([462eb3c](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F462eb3cb7b6070c258f5672aa3b0aa59e913037c)), 关闭了 [#869](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F869)\n* InMemoryTaskStore 默认会创建 Task 的副本，以使其与数据库 Task Store 保持一致 ([#887](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F887)) ([8c65e84](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F8c65e84fb844251c","2026-04-10T12:21:25",{"id":135,"version":136,"summary_zh":137,"released_at":138},324037,"v0.3.26","## [0.3.26](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.25...v0.3.26) (2026-04-09)\n\n\n### 功能特性\n\n* 在 Vertex 任务存储中添加对更多任务消息和工件字段的支持 ([#908](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F908)) ([5e0dcd7](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F5e0dcd798fcba16a8092b0b4c2d3d8026ca287de))\n\n\n### 错误修复\n\n* 移除 VertexTaskStore 中对已弃用类型的使用 ([#889](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F889)) ([6d49122](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F6d49122238a5e7d497c5d002792732446071dcb2))","2026-04-09T15:20:39",{"id":140,"version":141,"summary_zh":142,"released_at":143},324038,"v1.0.0-alpha.0","## 1.0.0-alpha.0（2026-03-17）\n\n\n### ⚠ 破坏性变更\n\n* **spec**：将 SDK 升级到 A2A 1.0 规范，并使用基于 proto 的类型（[#572](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F572)、[#665](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F665)、[#804](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F804)、[#765](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F765)）\n* **client**：引入用于扩展的 ServiceParameters，并将其包含在 ClientCallContext 中（[#784](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F784)）\n* **client**：将“callback”重命名为“push_notification_config”（[#749](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F749)）\n* **client**：实现与传输无关的拦截器（[#796](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F796)）（[a910cbc](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fa910cbcd48f6017c19bb4c87be3c62b7d7e9810d)）\n* 在 Task 和 PushNotificationConfig 模型中添加 `protocol_version` 列，并创建迁移（[#789](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F789)）（[2e2d431](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F2e2d43190930612495720c372dd2d9921c0311f9)）\n* **server**：为任务和推送通知实现 `Resource Scoping`（[#709](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F709)）（[f0d4669](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Ff0d4669224841657341e7f773b427e2128ab0ed8)）\n\n### 功能特性\n\n* 将 GetExtendedAgentCardRequest 作为输入参数添加到 GetExtendedAgentCard 方法中（[#767](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F767)）（[13a092f](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F13a092f5a5d7b2b2654c69a99dc09ed9d928ffe5)）\n* 添加对 JSON-RPC 版本的验证（[#808](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F808)）（[6eb7e41](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F6eb7e4155517be8ff0766c0a929fd7d7b4a52db5)）\n* **client**：在抽象 Client 中公开 close() 方法及异步上下文管理器支持（[#719](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F719)）（[e25ba7b](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fe25ba7be57fe28ab101a9726972f7c8620468a52)）\n* **compat**：AgentCard 向后兼容性辅助工具及测试（[#760](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F760)）（[81f3494](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F81f349482fc748c93b073a9f2af715e7333b0dfb)）\n* **compat**：GRPC 客户端与 0.3 版本服务器兼容（[#779](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F779)）（[0ebca93](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F0ebca93670703490df1e536d57b4cd83595d0e51)）\n* **compat**：GRPC 服务器与 0.3 版本客户端兼容（[#772](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F772)）（[80d827a](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F80d827ae4ebb6515bf8dcb10e50ba27be8b6b41b)）\n* **compat**：遗留 v0.3 协议模型、转换逻辑及实用工具（[#754](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F754)）（[26835ad](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F26835ad3f6d256ff6b84858d690204da66854eb9)）\n* **co","2026-03-17T14:10:28",{"id":145,"version":146,"summary_zh":147,"released_at":148},324039,"v0.3.25","## [0.3.25](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.24...v0.3.25) (2026-03-10)\n\n\n### 功能特性\n\n* 实现基于顶点的任务存储（[#752](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F752)）（[fa14dbf](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Ffa14dbf46b603f288a1f1c474401483bf53950e4)）\n\n\n### 错误修复\n\n* 从 `consume_and_break_on_interrupt` 中返回后台任务，以防止垃圾回收（[#775](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F775)）（[a236d4d](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fa236d4df8dceb2db1e1170e0b57599f3837ebd71)）\n* 在 `ServerCallContext` 中为可变字段的默认值使用 `default_factory`（[#744](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F744)）（[22b25d6](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F22b25d653e57e2d1453bbc282052e51dbd904ac6)）","2026-03-10T13:07:55",{"id":150,"version":151,"summary_zh":152,"released_at":153},324040,"v0.3.24","## [0.3.24](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.23...v0.3.24) (2026-02-20)\n\n\n### 错误修复\n\n* **core:** 保留 _clean_empty 中合法的假值 ([#713](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F713)) ([7632f55](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F7632f55572641d8fbc353ee08ef2b1f6b75c38b6))\n* **deps:** `HTTP_413_REQUEST_ENTITY_TOO_LARGE` 上的 `DeprecationWarning` ([#693](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F693)) ([9968f9c](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F9968f9c07f105bae8a6b296aeb6dea873b3b88b0))","2026-02-20T10:05:08",{"id":155,"version":156,"summary_zh":157,"released_at":158},324041,"v0.3.23","## [0.3.23](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.22...v0.3.23) (2026-02-13)\n\n\n### 功能特性\n\n* 为 BaseClient 添加异步上下文管理器支持 ([#688](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F688)) ([ae9dc88](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fae9dc8897885ad26461083682dd7ba008d5af3cb))\n* 为 ClientTransport 添加异步上下文管理器支持 ([#682](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F682)) ([2e45c0d](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F2e45c0d54e47f1725b13c67c8e509b0e6e61efb6))\n* 支持异步卡片修饰符 ([#654](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F654)) ([a802500](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fa802500b3ad82845c1a6fc155f80e75a20a1bcab))\n* 支持通过环境变量禁用 OTel 指标采集 ([#611](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F611)) ([72216b9](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F72216b988c0681e07d26ea8d5489a619d1ad6dda))\n\n\n### 错误修复\n\n* 不再因 SSE 注释行导致程序崩溃 ([#636](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F636)) ([3dcb847](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F3dcb84772fdc8a4d3b63b518ed491e5ed3d38d0a))\n* 修复 gRPC 元数据头部大小写问题及 invocation_metadata() 调用问题 ([#676](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F676)) ([390b763](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F390b763d106eae3b2ca8ca78a2d0bfdc68f8fe2c))\n* 改进 REST 和 JSON-RPC 客户端对超时异常的错误处理 ([#690](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F690)) ([2acd838](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F2acd838796d44ab9bfe6ba8c8b4ea0c2571a59dc))\n* 在协议缓冲区转换器中映射被拒绝的任务状态 ([#668](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F668)) ([957e92b](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F957e92b9059792c44a40bbab18160996f5512145)), 关闭 [#625](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F625)\n* **服务器:** 修复非流式传输中代理执行失败时的死锁问题 ([#614](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F614)) ([d3c973f](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fd3c973fe72afc0142f8a4c94d0c0fbe4ba2ddfe8))\n\n\n### 文档更新\n\n* 在 README 中明确提及支持的规范版本和传输方式 ([#681](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F681)) ([c91d4fb](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fc91d4fba517190d8f7c76b42ea26914a4275f1d5)), 关闭 [#677](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F677)\n* 更新 README，加入 Code Wiki 徽章 ([2698cc0](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F2698cc04f15282fb358018f06bd88ae159d987b4))","2026-02-17T08:34:01",{"id":160,"version":161,"summary_zh":162,"released_at":163},324042,"v0.3.22","## [0.3.22](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.21...v0.3.22) (2025-12-16)\n\n\n### 功能特性\n\n* 为 `SimpleRequestContextBuilder` 添加自定义 ID 生成器 ([#594](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F594)) ([04bcafc](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F04bcafc737cf426d9975c76e346335ff992363e2))\n\n\n### 代码重构\n\n* 将代理卡片签名验证逻辑移至 `A2ACardResolver` 中 ([6fa6a6c](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F6fa6a6cf3875bdf7bfc51fb1a541a3f3e8381dc0))","2025-12-16T18:38:44",{"id":165,"version":166,"summary_zh":167,"released_at":168},324043,"v0.3.21","## [0.3.21](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.20...v0.3.21) (2025-12-12)\n\n\n### 文档\n\n* 修复拼写错误 ([#586](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F586)) ([5fea21f](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F5fea21fb34ecea55e588eb10139b5d47020a76cb))","2025-12-12T17:04:49",{"id":170,"version":171,"summary_zh":172,"released_at":173},324044,"v0.3.20","## [0.3.20](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.19...v0.3.20) (2025-12-03)\n\n\n### Bug Fixes\n\n* Improve streaming errors handling ([#576](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F576)) ([7ea7475](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F7ea7475091df2ee40d3035ef1bc34ee2f86524ee))","2025-12-03T15:47:44",{"id":175,"version":176,"summary_zh":177,"released_at":178},324045,"v0.3.19","## [0.3.19](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.18...v0.3.19) (2025-11-25)\n\n\n### Bug Fixes\n\n* **jsonrpc, rest:** `extensions` support in `get_card` methods in `json-rpc` and `rest` transports ([#564](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F564)) ([847f18e](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F847f18eff59985f447c39a8e5efde87818b68d15))","2025-11-25T13:47:34",{"id":180,"version":181,"summary_zh":182,"released_at":183},324046,"v0.3.18","## [0.3.18](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.17...v0.3.18) (2025-11-24)\n\n\n### Bug Fixes\n\n* return updated `agent_card` in `JsonRpcTransport.get_card()` ([#552](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F552)) ([0ce239e](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F0ce239e98f67ccbf154f2edcdbcee43f3b080ead))","2025-11-25T09:14:39",{"id":185,"version":186,"summary_zh":187,"released_at":188},324047,"v0.3.17","## [0.3.17](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.16...v0.3.17) (2025-11-24)\n\n\n### Features\n\n* **client:** allow specifying `history_length` via call-site `MessageSendConfiguration` in `BaseClient.send_message` ([53bbf7a](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F53bbf7ae3ad58fb0c10b14da05cf07c0a7bd9651))","2025-11-24T12:37:08",{"id":190,"version":191,"summary_zh":192,"released_at":193},324048,"v0.3.16","## [0.3.16](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.15...v0.3.16) (2025-11-21)\n\n\n### Bug Fixes\n\n* Ensure metadata propagation for `Task` `ToProto` and `FromProto` conversion ([#557](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F557)) ([fc31d03](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Ffc31d03e8c6acb68660f6d1924262e16933c5d50))","2025-11-21T13:34:19",{"id":195,"version":196,"summary_zh":197,"released_at":198},324049,"v0.3.15","## [0.3.15](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.14...v0.3.15) (2025-11-19)\n\n\n### Features\n\n* Add client-side extension support\n([https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fpull\u002F525](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fpull\u002F525))\n([https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F9a92bd238e7560b195165ac5f78742981760525e](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F9a92bd238e7560b195165ac5f78742981760525e))\n* **rest, jsonrpc:** Add client-side extension support\n([https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F9a92bd238e7560b195165ac5f78742981760525e](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F9a92bd238e7560b195165ac5f78742981760525e))","2025-11-19T15:42:23",{"id":200,"version":201,"summary_zh":202,"released_at":203},324050,"v0.3.14","## [0.3.14](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.13...v0.3.14) (2025-11-17)\n\n\n### Features\n\n* **jsonrpc:** add option to disable oversized payload check in JSONRPC applications ([ba142df](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fba142df821d1c06be0b96e576fd43015120fcb0b))","2025-11-18T08:58:31",{"id":205,"version":206,"summary_zh":207,"released_at":208},324051,"v0.3.13","## [0.3.13](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.12...v0.3.13) (2025-11-13)\n\n\n### Bug Fixes\n\n* return entire history when history_length=0 ([#537](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F537)) ([acdc0de](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Facdc0de4fa03d34a6b287ab252ff51b19c3016b5))","2025-11-17T09:27:10",{"id":210,"version":211,"summary_zh":212,"released_at":213},324052,"v0.3.12","## [0.3.12](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.11...v0.3.12) (2025-11-12)\n\n\n### Bug Fixes\n\n* **grpc:** Add `extensions` to `Artifact` converters. ([#523](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fissues\u002F523)) ([c03129b](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002Fc03129b99a663ae1f1ae72f20e4ead7807ede941))","2025-11-12T21:37:48",{"id":215,"version":216,"summary_zh":217,"released_at":218},324053,"v0.3.11","## [0.3.11](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcompare\u002Fv0.3.10...v0.3.11) (2025-11-07)\n\n\n### Bug Fixes\n\n* add metadata to send message request ([12b4a1d](https:\u002F\u002Fgithub.com\u002Fa2aproject\u002Fa2a-python\u002Fcommit\u002F12b4a1d565a53794f5b55c8bd1728221c906ed41))","2025-11-07T11:04:59"]