airbyte-agent-sdk
为 AI Agent 提供 50+ 主流 SaaS 服务的统一工具接口,支持 pydantic-ai/LangChain/OpenAI Agents 等主流框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
为 AI Agent 提供 50+ 主流 SaaS 服务的统一工具接口,支持 pydantic-ai/LangChain/OpenAI Agents 等主流框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
场景切入: 想象一下,你正在开发一个 AI 销售助理 Agent,它需要同时访问 Stripe 查客户交易、查询 Zendesk 的工单记录、还要从 HubSpot 拉取联系人信息。传统的做法是什么?写三套不同的 OAuth 认证逻辑、处理三套不同的 API 分页规则、处理 token 刷新、还要应对各种奇怪的 API 错误——一个下午可能就过去了。而 Airbyte Agent SDK 想做的事情,就是让这一切变成几行 Python 代码。
Airbyte 本身是做数据集成起家的开源项目,专注于帮助企业打通各种数据源(数据库、API、SaaS 工具)之间的数据管道。经过多年发展,Airbyte 积累了覆盖 50+ 主流 SaaS 服务的连接器(Connector)。这些连接器本身已经封装好了认证逻辑、API 调用规范和数据转换规则。
而 AI Agent 的核心痛点恰好与此重合:Agent 需要可靠地调用外部系统,但每个系统都有不同的认证方式、速率限制和响应格式。Airbyte Agent SDK 的思路非常直接——把成熟的数据连接器直接作为 AI Agent 的工具(Tool)暴露出来,让 Agent 用统一的接口访问 Stripe、Salesforce、Jira 等 50+ 服务,而无需重新造轮子。
这个 SDK 由 Airbyte 官方团队维护,目前最新版本 0.1.298,支持 Python 3.11+,托管在 GitHub 上已获得 129 颗星,虽然绝对数量不高,但项目定位在企业级 AI Agent 工具集成这个细分赛道。
Airbyte Agent SDK 提供了四种不同的方式将 Connector 暴露为 Agent 工具,分别适配不同的使用场景:
1. build_connector_tools() — 一站式工具构建器(推荐)
这是最简单的方式,一行代码返回三个工具:inspect_connector()(检查连接器能力)、read_skill_docs()(读取文档)、execute()(执行操作)。配合 pydantic-ai 使用时,整个流程如下:
from pydantic_ai import Agent
from airbyte_agent_sdk import build_connector_tools
from airbyte_agent_sdk.connectors.stripe import StripeConnector
from airbyte_agent_sdk.types import AirbyteAuthConfig
stripe = StripeConnector(auth_config=AirbyteAuthConfig(
airbyte_client_id="client_abc123",
airbyte_client_secret="secret_xyz789",
connector_id="src_123",
))
tools = build_connector_tools(stripe, framework="pydantic_ai")
agent = Agent("openai:gpt-4o", tools=tools.as_list())
Agent 在执行时会遵循 inspect → docs → execute 的渐进式文档流:先了解连接器有哪些实体和动作,再查阅具体操作的参数文档,最后才真正执行。这种设计显著降低了 Agent 的幻觉风险——它不会凭空猜测 Stripe API 的参数名,而是被引导着先去阅读文档。
2. @<Connector>.agent_tool() — 自定义工具函数(兜底方案)
当你在使用 SDK 不原生支持的框架时,可以自己编写三个工具函数并用装饰器标注:
@StripeConnector.agent_tool()
async def stripe_execute(entity: str, action: str, params: dict | None = None):
result = await stripe.execute(entity, action, params or {})
return result.data
每个装饰器自动从函数签名推断工具类型——带 entity/action 参数的是 execute,不带参数的是 inspect。
3. @<Connector>.tool_utils — 装饰任意函数(渐进文档版)
直接装饰已有的函数,自动应用异常翻译和输出大小保护,适合已使用 LangChain 或 OpenAI Agents 的项目:
from langchain_core.tools import StructuredTool
from airbyte_agent_sdk.connectors.stripe import StripeConnector
@StructuredTool.from_function
@StripeConnector.tool_utils(framework="langchain")
async def list_customers(limit: int = 10) -> list[dict]:
async with StripeConnector(connector_id="src_123") as stripe:
result = await stripe.execute("customers", "list", params={"limit": limit})
return result.data
4. @translate_exceptions — 异常翻译装饰器(通用)
对任何非 Connector 的可调用对象应用同样的异常翻译逻辑,适用于自定义辅助函数和评估工具。
这是 SDK 设计中最有价值的细节之一。它内置了三重容错机制:
internal_retries=N 参数自动重试,Agent 感知不到。max_output_chars(默认 100KB)时,自动转换为框架的重试信号,告知 Agent 需要缩小查询范围。ModelRetry、LangChain 的 ToolException、OpenAI Agents 的字符串返回——让 Agent 能理解并正确响应。项目代码组织清晰:
airbyte_agent_sdk/
__init__.py # 主入口:connect()、list_connectors()、Workspace 等
errors.py # 异常层次:AirbyteError 为根,支持 HTTP/Executor/Tool 三大家族
connect.py # 连接工厂
auth_strategies.py # 认证策略
http_client.py # HTTP 客户端封装(基于 httpx)
introspection.py # 连接器自省
executor/ # 本地执行器
http/ # HTTP 适配层
connectors/ # 48 个预置连接器(Stripe、Github、Jira、Notion 等)
codegen/ # 代码生成器(生成类型化连接器)
lovable/ # 与 Loovble 平台集成
异常设计值得注意:errors.py 刻意没有任何内部导入,使得 http/exceptions.py 和 executor/models.py 可以同时引用它而不产生循环依赖。这种细节体现了工程上的成熟度。
安装只需一行:
uv pip install airbyte-agent-sdk
使用前需要配置 Airbyte Cloud 凭证(通过环境变量 AIRBYTE_CLIENT_ID 和 AIRBYTE_CLIENT_SECRET,或直接传入 kwargs)。有三种方式:
configure() 全局配置(笔记本/脚本场景)认证支持 OAuth/API Key 两种模式,凭证安全存储在加密配置中。
首先,它依赖 Airbyte Cloud 作为托管层——build_connector_tools() 默认走的是 Airbyte 托管平台(管理凭证、速率限制和执行),需要注册 Airbyte Cloud 并获取 client_id/secret。如果想离线使用,需要本地连接器,这部分体验相对不成熟。
其次,Python 3.11+ 的硬性要求意味着一些老项目无法直接使用。
第三,目前只有 Python SDK,没有 TypeScript/Node.js 支持,如果你用的是 JavaScript 生态的 Agent 框架,就无法直接使用。
第四,48 个连接器数量中等——虽然覆盖了 Stripe、Salesforce、GitHub、Jira、Notion 等主流服务,但相比 Airbyte 主项目数百个连接器,Agent SDK 的覆盖范围还相当有限。
最后,项目使用 NOASSERTION 许可证(即 GitHub 默认的 "No license" 状态),这意味着默认版权保留,使用前需要确认合规性。
在 AI Agent 的发展中,"如何可靠地连接外部数据源" 一直是核心难题。各大框架(LangChain、LlamaIndex、AutoGPT)都在做类似的事情,但大多数方案是"自己造连接器",而 Airbyte Agent SDK 的思路是"复用一个经过生产验证的连接器生态"。这是一个务实且高效的选择——毕竟数据集成领域的坑已经由 Airbyte 踩过一遍了。
目前该 SDK 支持 pydantic-ai、LangChain、OpenAI Agents 和 FastMCP 四大主流框架,覆盖了目前最活跃的 Python Agent 开发社区。随着 AI Agent 从"对话玩具"走向"企业自动化",这种可靠的外部系统集成能力将成为刚需。
总结: Airbyte Agent SDK 是一个定位清晰、工程扎实的 AI Agent 工具集成框架。它不追求大而全,而是专注于"让 Agent 可靠地调用外部 API"这一件事,并通过渐进式文档流和智能容错机制,显著降低了 Agent 的幻觉风险。对于正在构建企业级 AI Agent 的团队,这是一个值得认真考虑的技术选型。