Composio
为 AI 应用接入带认证的工具、会话和运行时工具发现。
- Star 数
- ★ 31k
- 最近更新
- 今天
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 51/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Claude Code · OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 正在开发邮件助理的 TypeScript 团队,可为每位终端用户建立独立会话,把
session.tools()交给 OpenAI Agents 中的Agent。 - 不适合
- 不愿注册 Composio 账号并获取 COMPOSIO_API_KEY 的团队
- 仍在使用 Node 22 以下或 Python 3.10 以下运行时的团队
- 源码审查
- 51/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Composio 是一个 SDK 单体仓库,提供 TypeScript SDK、Python SDK、命令行工具和多种 Agent 框架适配器。开发者为每个用户创建 Composio 会话,再将该会话的工具交给 Agent 使用。默认会话通过元工具在运行时发现、认证并执行应用工具,避免一次性把大量工具定义放入上下文。会话还能暴露托管 MCP 端点,供 MCP 客户端连接。它的交付边界是嵌入应用或本地 shell 的 SDK/CLI;实际跨应用操作通过带有 COMPOSIO_API_KEY 的 Composio 会话发起。
应用先使用 new Composio({ provider: new OpenAIAgentsProvider() }) 或 Python 的 Composio(provider=OpenAIAgentsProvider()) 创建客户端,再以用户标识调用 composio.create("user_123") 或 composio.create(user_id="user_123") 建立会话。随后通过 session.tools() 取得可传给 Agent 的原生工具;默认元工具会在运行时搜索、认证并执行应用工具。调用方可保存 session.session_id,并通过 composio.use() 在后续轮次复用会话。若创建时传入 mcp: true,会话提供 session.mcp.url 托管 MCP 地址。命令行则提供 composio search、composio execute、composio link 和 composio run,分别用于查找工具、执行工具、连接账户和编写 TypeScript 工作流。
- 正在开发邮件助理的 TypeScript 团队,可为每位终端用户建立独立会话,把
session.tools()交给 OpenAI Agents 中的Agent。 - 使用 Python 构建自动化助手的开发者,可通过
composio-openai-agents将会话工具传给agents.Agent并使用Runner.run_sync执行请求。 - 希望让 Claude Code 在本地 shell 中调用连接服务的工程师,可安装 CLI,使用
composio link连接账户后搜索和执行工具。 - 使用 MCP 客户端的团队,可在创建会话时启用
mcp: true,并把session.mcp.url配置到 Claude、Cursor 或其他 MCP 客户端。 - 需要控制上下文中工具数量的 Agent 开发者,可利用默认元工具在运行时发现与执行工具,而非预加载大量工具定义。
如何安装或部署这个 Agent?
TypeScript:先从 Composio dashboard 获取 COMPOSIO_API_KEY,然后执行 npm install @composio/core @composio/openai-agents @openai/agents。Python:执行 pip install composio composio-openai-agents openai-agents。CLI:执行 curl -fsSL https://composio.dev/install | bash,再运行 composio login。TypeScript SDK 的测试目标为 Node 22+;Python SDK 支持 Python 3.10+。
如何使用这个 Agent?
TypeScript 的最小流程是:创建 const composio = new Composio({ provider: new OpenAIAgentsProvider() }),执行 const session = await composio.create("user_123") 和 const tools = await session.tools(),再将 tools 传给 new Agent({ name, instructions, tools }),最后用 run(agent, "Summarize my emails from today") 调用 Agent。Python 中对应地创建 Composio、调用 composio.create(user_id="user_123") 与 session.tools(),把结果传给 Agent,再以 Runner.run_sync 执行。需要 MCP 时,在 composio.create() 中传入 mcp: true,并使用 session.mcp.url。
这个 Agent 有哪些优点和局限?
- 同时提供 TypeScript、Python、MCP 和 CLI 入口,适合嵌入应用、接入 MCP 客户端或从 shell 编排工作流。
- 按用户创建会话并可复用
session.session_id,接口明确支持多用户 Agent 场景。 - 默认元工具在运行时完成工具发现、认证和执行,可减少预先加载大量工具定义的上下文负担。
- README 列出 OpenAI、Anthropic、Claude Agent SDK、LangChain、Vercel AI SDK 等多个框架适配器。
- 使用前需要获取并配置
COMPOSIO_API_KEY,并依赖 Composio 会话来取得工具与托管 MCP 地址。 - 不同框架需要选择并安装对应 provider 包;并非所有 provider 同时提供 TypeScript 与 Python 版本。
- TypeScript SDK 的测试目标是 Node 22+,Python SDK 要求 Python 3.10+,现有运行环境可能需要升级。
- 仓库说明应用工具可认证和执行,但未在所给材料中说明定价、账户授权的细粒度策略或失败重试行为。
这个 Agent 与同类方案有什么区别?
如果已使用 OpenAI Agents、Anthropic、Claude Agent SDK、Vercel AI SDK、LangChain、LangGraph 或 LlamaIndex,可选用相应 Composio provider,将同一会话工具转换为框架的原生工具格式;不想使用 provider 时,也可改用 MCP 连接方式。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Composio 当前 | 51 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 31k | 今天 | TypeScript | Claude Code · OpenAI API · Claude API |
| OpenAI Agents SDK | 64 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 31k | 今天 | Python | OpenAI API |
| Mirascope | 55 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 1.5k | 1 天前 | Python | Claude API |
| Honcho 记忆基础设施 | 44 · 缺口较多 | 代码库 / SDK免费版 + 付费版 | ★ 8k | 今天 | Python | Claude Code · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示工作流中明确设置了最小权限(contents: read),发布作业才提升权限,这是好的实践。但用户确认机制未见明确实现,数据流透明度仅部分描述(如会话、认证),敏感数据处理未详细说明,依赖安全有锁文件但未提及漏洞扫描,外部影响(如安装脚本)有说明但未深入,回滚机制未明确,来源归属有版权声明但发布者未验证。
自一致性较好,README、package.json、pyproject.toml 等文件相互印证,依赖可用性有锁文件和版本管理,但失败消息未在源码中体现,仅文档提及。
受众明确(开发者),场景多样(多种框架),能力边界有说明(工具集、会话),触发精度未明确,环境适配有 Node/Python 版本要求。
信息架构清晰(monorepo 布局),安装说明详细,命名稳定(包名一致),示例丰富,已知限制未明确列出,许可证为 MIT,版本管理有 changeset,维护责任有贡献指南。
输出可用性高(多种语言 SDK),边际价值明显(1000+ 工具),成本效益未明确说明(如定价)。
声明可追溯性一般,部分声明有文档支持,跨源佐证有限,事实与推断分离不明确。
- 发布者身份未验证,需谨慎对待供应链风险。
- 未发现明确的用户确认机制,工具执行可能缺乏人工审批。
- 敏感数据处理细节不足,需审查认证和密钥存储。
- 依赖安全未提及漏洞扫描,建议检查依赖版本。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's Changed * feat(core): rename custom tools options to localTools and localToolkits by @composio-zen[bot] in https://github.com/ComposioHQ/composio/pull/5215 * feat(python): rename custom tools options to local_tools and local_toolkits by @composio-zen[bot] in https://github.com/ComposioHQ/composio/pull/5216 * docs: private custom toolkits need a Pro plan (PLEN-4830) by @singhbharath03 in https://github.com/ComposioHQ/composio/pull/5231 * docs: add French to the Connect Link locale values by @akram-composio in https://github.com/ComposioHQ/composio/pull/4912 …在 GitHub 查看 ↗ -
@composio/[email protected] CLI @composio/[email protected]
常见问题
需要什么凭据?
COMPOSIO_API_KEY。能否避免把大量工具定义放进模型上下文?
能否用于 MCP 客户端?
mcp: true,然后使用 session.mcp.url;README 明确提到 Claude、Cursor 和其他 MCP 客户端。