Composio:为 AI Agent 提供 1000+ 即插即用工具集的集成平台|部署与使用全指南
本文基于 Composio 官方仓库
ComposioHQ/composio(monorepo)撰写,Python SDKcomposio版本为 0.30.0(2026 年 10 月),TypeScript SDK 为@composio/core。仓库约 30,700+ GitHub stars,主分支每日活跃更新(最近一次提交为 2026-10-26)。Composio core 采用 MIT 开源协议。

AI Agent 最大的落地障碍往往不是模型本身,而是"行动能力":要发邮件、查 GitHub Issue、写 Notion、发 Slack 消息,每一项都涉及 OAuth 授权、Token 管理、API 封装与多用户会话隔离。Composio 把这些全部打包成开箱即用的服务:它为 Agent 提供 1000+ 预集成的 toolkit(Gmail、GitHub、Slack、Notion 等)、按用户隔离的会话、托管 OAuth 认证、Trigger 事件与沙箱执行环境,支持 Python 与 TypeScript 双 SDK,并可通过 provider 适配器无缝接入 OpenAI Agents、Claude Agent SDK、LangChain、CrewAI 等主流 Agent 框架,也可作为 MCP Server 暴露给任意 MCP 客户端使用。
一、项目介绍与适用场景
Composio 是一个"Agent 工具层"(tooling layer)平台:模型负责推理,Composio 负责把 Agent 的意图变成对真实 SaaS 系统的调用。它由三部分组成:
托管后端:运行在
api.composio.dev,负责工具注册、认证凭据管理(OAuth 2.0 / API Key / Basic Auth 等)、连接(connected account)管理、触发器与日志;SDK:Python(
composio)与 TypeScript(@composio/core),用于创建会话、获取工具、执行调用;CLI:本地
composio命令行,可在终端搜索、连接、执行工具,并为 Claude Code / Codex 等编码 Agent 提供本地工具面。
适用人群:
不适合的场景:
需要完全离线、数据绝不出内网的场景——当前官方 SDK 面向托管后端设计,官方未提供可自托管的 open source 后端镜像(详见第五章);
只需要一个简单 HTTP 转发代理而不需要认证托管的轻量场景,直接调 API 更省事;
旧版教程提到
composio-core包——那是 v1 遗留 SDK,官方文档明确提示不要安装,新集成一律使用composio包。
二、核心功能逐条拆解
1000+ Toolkit 工具集:官方维护对 GitHub、Gmail、Slack、Notion、Linear、Google Calendar 等上千个 SaaS/系统服务的工具封装,每个工具都有 schema 化的输入输出,可被 LLM 直接调用。可通过
composio search "summarize my unread gmail"之类的自然语言检索找到需要的工具。托管认证(Managed Auth):OAuth 授权流程、Token 刷新、回调 URL 配置全部由 Composio 托管,开发者只需生成 Connect Link 让用户点击授权即可,避免每个应用重复实现 OAuth。

按用户隔离的会话(Session):
composio.sessions.create(user_id=...)为每个终端用户创建独立会话,连接与工具调用按 user_id 隔离;会话持久化,可存session_id后用composio.use(session_id)在多轮间复用。Meta Tools 按需加载:会话默认只暴露少量"元工具"(搜索工具、发起连接、执行工具),应用工具的 schema 在 Agent 真正需要时才加载,避免把上千个工具定义塞进模型上下文撑爆 token。
Provider 适配器体系:官方为 OpenAI、OpenAI Agents、Anthropic、Claude Agent SDK、Vercel AI SDK、Google GenAI/ADK、LangChain、LangGraph、LlamaIndex、Mastra、CrewAI、AutoGen 等框架提供适配包(如
composio-openai-agents、@composio/langchain),把 Composio 工具转成框架原生 tool 格式。MCP 集成:每个会话都可以开一个托管 MCP endpoint(
composio.create(..., mcp=True)后取session.mcp.url),Claude、Cursor 等任意 MCP 客户端可以直接连上使用整套工具。Trigger 触发器:监听外部应用事件(如收到新邮件、新 Issue),可通过 SDK 注册,也可用 CLI
composio dev listen在本地实时观察或转发到自己的 webhook。

CLI 本地工具面:
composioCLI 支持login、search、execute、link、run、connections list等命令,并能为 Claude Code / Codex 自动安装插件与 skill,让编码 Agent 在终端里直接"动手"。执行前/后对比与调试信息:Dashboard 提供 Logs API 与调试视图,可查看每次工具调用的输入、响应、耗时,方便定位失败原因。


Auth Config 管理:通过
composio dev auth-configs create ...可以为某个 toolkit 创建自定义认证配置(含自己的 OAuth client_id/client_secret 与 scope),实现品牌化 OAuth 页面或企业私有应用接入。

Developer Mode 与本地调试:
composio dev init / dev logs / dev triggers / dev playground-execute等命令面向开发者平台操作,支持查看工具日志、Trigger 日志、connected accounts 详情。

三、全套官方链接
官方未提供独立的"在线 Demo"页面;Changelog 与文档站即最新状态入口。
四、硬件与环境前置要求
Composio 是"轻客户端 + 托管后端"架构,本机只跑 SDK/CLI,对硬件要求很低,主要消耗在运行 Agent 应用的机器上。
GPU 无要求:工具执行与认证托管全部在云端完成,模型推理由你选择的 LLM 提供商承担。
五、多平台部署步骤
5.1 通用第一步:注册并获取 API Key
打开 https://dashboard.composio.dev 注册/登录;
进入 Settings → API Keys 页面,复制 API Key;
后续所有 SDK/CLI 都用环境变量
COMPOSIO_API_KEY携带它;同时准备好模型侧的 Key(如OPENAI_API_KEY)。
# 建议写入项目根目录的 .env(示例)
COMPOSIO_API_KEY=your_composio_api_key
OPENAI_API_KEY=your_openai_api_key
5.2 Linux / macOS:安装 Python SDK 并跑通第一个 Agent
# 1. 准备 Python 3.11+ 环境(示例用 uv,也可用 venv)
uv venv .venv && source .venv/bin/activate
# 2. 安装 Composio + OpenAI Agents 适配器(官方 Quickstart 组合)
uv add python-dotenv composio composio-openai-agents openai-agents
# 注意:不要安装 composio-core,它是 v1 遗留包,与 sessions 不兼容
# 3. 新建 agent.py,写入下方代码
python agent.py
agent.py(官方 Quickstart 示例):
from dotenv import load_dotenv
from composio import Composio
from agents import Agent, Runner, SQLiteSession
from composio_openai_agents import OpenAIAgentsProvider
load_dotenv()
composio = Composio(provider=OpenAIAgentsProvider())
# 为你的用户创建会话;生产环境请换成你自己系统里的稳定 user_id
session = composio.sessions.create(user_id="user_123")
tools = session.tools()
agent = Agent(
name="Personal Assistant",
instructions=(
"Use Composio tools to complete the request. "
"If a connection is required, share its Connect Link and wait. "
"Ask for confirmation before creating, updating, or deleting data."
),
tools=tools,
)
memory = SQLiteSession("conversation")
while True:
user_input = input("You: ").strip()
if user_input.lower() == "exit":
break
result = Runner.run_sync(starting_agent=agent, input=user_input, session=memory)
print(f"{result.final_output}\n")
运行后输入 Summarize my unread emails from today,若 Gmail 未连接,Agent 会给出 Connect Link,浏览器打开授权后回到终端继续即可。
5.3 Linux / macOS:安装 TypeScript SDK
# Node 22+(nvm 示例)
nvm install 22 && nvm use 22
# 官方 Quickstart 组合
npm install @composio/core @composio/openai-agents @openai/agents
import { Composio } from "@composio/core";
import { OpenAIAgentsProvider } from "@composio/openai-agents";
import { Agent, run } from "@openai/agents";
const composio = new Composio({ provider: new OpenAIAgentsProvider() });
// 每个会话绑定一个你的用户
const session = await composio.create("user_123");
const tools = await session.tools();
const agent = new Agent({
name: "Personal Assistant",
instructions: "You are a helpful assistant. Use Composio tools to take action.",
tools,
});
const result = await run(agent, "Summarize my emails from today");
console.log(result.finalOutput);
提示:
@composio/core打包了源码与 SDK 文档(对编码 Agent 友好);若想要更小的安装体积、相同 API,可改用@composio/slim。
5.4 安装 CLI(Linux / macOS / WSL)
# 一键安装脚本:下载 release 到 ~/.composio,symlink 到 ~/.local/bin/composio
curl -fsSL https://composio.dev/install | sh
# 新开终端后登录(会打开浏览器完成 OAuth)
composio login
# 无人值守/CI 场景:不需要浏览器的 agent 登录
composio login --agent
# 验证
composio --version
常用安装变体(官方文档提供):
# 固定版本并跳过 agent 插件
curl -fsSL https://composio.dev/install | COMPOSIO_INSTALL_VERSION=0.3.1 COMPOSIO_INSTALL_PLUGINS=0 sh
# CI/Docker 场景:不改 shell 配置、不装插件
curl -fsSL https://composio.dev/install | COMPOSIO_INSTALL_SHELL=none COMPOSIO_INSTALL_PLUGINS=0 sh
5.5 Windows
官方 CLI 预编译包仅覆盖 Linux 与 macOS,官方未提供 Windows 原生安装方式;Windows 用户请启用 WSL2 后按 5.4 节操作:
# 管理员 PowerShell,安装 WSL2 + Ubuntu
wsl --install
# 进入 WSL 后
curl -fsSL https://composio.dev/install | sh && composio login
Python/TypeScript SDK 在 Windows 原生 Python/Node 上理论上可运行,但官方测试环境为 Linux/macOS,生产建议 WSL2 或 Linux 容器。
5.6 Docker
官方仓库未提供 Composio 后端的 Docker 镜像或 docker-compose(后端为官方托管服务),不存在"自托管 Composio 后端"的官方部署方式。官方 Docker 用法是把你的 Agent 应用(内嵌 Composio SDK)容器化,例如:
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt # requirements.txt 中包含 composio、composio-openai-agents 等
COPY . .
CMD ["python", "agent.py"]
docker build -t my-agent . && docker run --rm -it \
-e COMPOSIO_API_KEY=$COMPOSIO_API_KEY \
-e OPENAI_API_KEY=$OPENAI_API_KEY \
my-agent
若需在 CI 中安装 CLI,用 install-only 模式:curl -fsSL https://composio.dev/install | COMPOSIO_INSTALL_SHELL=none COMPOSIO_INSTALL_PLUGINS=0 sh。CLI 也支持 COMPOSIO_BASE_URL / COMPOSIO_ENVIRONMENT 覆盖后端地址,这是给官方多环境(生产/预发)用的,官方并未随仓库分发可自行启动的后端服务。
5.7 源码编译/本地开发仓库
git clone https://github.com/ComposioHQ/composio.git
cd composio
mise install # 安装 pin 好的 Node/Python/pnpm 工具链
pnpm install
pnpm build
pnpm test
# Python 子项目在 python/ 目录,见 python/README.md
六、配置文件全部参数解释
Composio 没有传统的单一配置文件,配置分散在「环境变量 + SDK 构造参数 + Dashboard 设置」三处。
6.1 环境变量(SDK 与 CLI 通用核心项)
6.2 .env 完整示例(带注释)
# ===== 必填 =====
COMPOSIO_API_KEY=cmp_xxxxxxxxxxxx # Composio 平台 Key
OPENAI_API_KEY=sk-xxxxxxxxxxxx # 模型侧 Key(按所用框架选择厂商)
# ===== 可选:后端与环境 =====
# COMPOSIO_BASE_URL= # 通常留空,使用官方托管后端
# COMPOSIO_ENVIRONMENT= # 通常留空
# ===== 可选:CLI 行为 =====
# COMPOSIO_DISABLE_TELEMETRY=1 # 关闭匿名遥测
# COMPOSIO_INSTALL_DIR=/opt/composio
# COMPOSIO_BIN_DIR=/usr/local/bin
6.3 SDK 关键构造参数(Python/TS 对应)
七、启动、后台常驻、开机自启、改端口
Composio 本身无守护进程(后端在云端),需要常驻的是你的 Agent 应用/脚本。
7.1 前台启动
python agent.py # Python
node dist/index.js # TypeScript(先 tsc build)
composio dev listen --toolkits gmail --table # 本地监听 Trigger
7.2 systemd 常驻 + 开机自启(Linux)
# /etc/systemd/system/composio-agent.service
[Unit]
Description=Composio Agent App
After=network-online.target
[Service]
Type=simple
User=deploy
WorkingDirectory=/opt/my-agent
EnvironmentFile=/opt/my-agent/.env
ExecStart=/opt/my-agent/.venv/bin/python agent.py
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now composio-agent
journalctl -u composio-agent -f # 查看日志
7.3 Supervisor(替代方案)
# /etc/supervisor/conf.d/composio-agent.conf
[program:composio-agent]
command=/opt/my-agent/.venv/bin/python agent.py
directory=/opt/my-agent
autostart=true
autorestart=true
environment=COMPOSIO_API_KEY="cmp_xxx",OPENAI_API_KEY="sk-xxx"
stdout_logfile=/var/log/composio-agent.log
sudo supervisorctl reread && sudo supervisorctl update && sudo supervisorctl start composio-agent
7.4 Windows(计划任务 / NSSM)
官方未提供 Windows 原生服务方案;WSL 内可继续用 systemd(WSL2 支持)或用 NSSM 把 wsl.exe -e bash -lc "python /opt/my-agent/agent.py" 包装为 Windows 服务。一般场景用"任务计划程序"在登录时运行脚本即可。
7.5 Docker Compose 自启
# docker-compose.yml
services:
agent:
build: .
restart: unless-stopped
env_file: .env
7.6 端口与反向代理
Composio SDK 本身不监听端口;若你的 Agent 应用带 HTTP 接口(如 FastAPI),改端口后用 Nginx 反代即可:
server {
listen 443 ssl;
server_name agent.example.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
CLI 的 composio dev listen --forward https://example.com/webhook 可把 Trigger 事件转发到你自己的 webhook 地址,这是本地事件接入的标准做法。
八、功能实操教程
8.1 用 CLI 搜索并直接执行一个工具
composio login # 首次先登录
composio search "summarize my unread gmail" # 自然语言找工具
composio execute <tool-slug> --get-schema # 先看该工具的 input schema
composio execute <tool-slug> -d '{"query":"is:unread"}' # 带参数执行
执行失败时 stdout 返回 {"successful": false, ...},诊断信息在 stderr;可用 composio dev logs tools --toolkit gmail --limit 20 查看服务端日志。
8.2 连接一个应用账号(Gmail 为例)
composio link gmail # 输出 Connect Link,浏览器打开完成 Google OAuth
composio connections list # 确认连接已 ACTIVE
在 Agent 场景里,无需 CLI:Agent 遇到未连接应用时会返回 Connect Link,用户授权后 Agent 继续执行(见 8.4)。
8.3 TypeScript:为用户创建会话并获取工具
import { Composio } from "@composio/core";
const composio = new Composio();
const session = await composio.create("user_123");
console.log(session.sessionId); // 存到你的数据库,下轮复用
const tools = await session.tools();
多轮复用:
const session = composio.use(savedSessionId);
8.4 Python + OpenAI Agents:带连接引导的完整对话
见 5.2 节 agent.py。关键体验:输入 List all open issues on the composio github repository;若是首次访问 GitHub toolkit,Agent 会输出 Connect Link,浏览器授权 GitHub 后回终端输入"继续"即可拿到结果。
8.5 CrewAI 接入(Python provider)
uv add composio composio-crewai crewai
from composio import Composio
from composio_crewai import CrewAIProvider
from crewai import Agent as CrewAgent, Task, Crew
composio = Composio(provider=CrewAIProvider())
session = composio.sessions.create(user_id="user_123")
tools = session.tools()
researcher = CrewAgent(
role="Researcher",
goal="Use Composio tools to gather repo info",
backstory="A diligent research assistant.",
tools=tools,
allow_delegation=False,
)
crew = Crew(agents=[researcher], tasks=[Task(
description="List open issues of ComposioHQ/composio",
expected_output="A markdown list of issues",
agent=researcher,
)])
print(crew.kickoff())
(LangChain / LangGraph / Anthropic / Vercel AI SDK 等同理:替换对应 provider 包名即可,完整对照见 README 的 Providers 表。)
8.6 把会话开成 MCP endpoint 给 Claude/Cursor 用
session = composio.sessions.create(user_id="user_123", mcp=True)
print(session.mcp.url) # 把这个 URL 填进 MCP 客户端配置
MCP 客户端连接该 URL 后,即可在 Claude、Cursor 中直接调用该用户的 Composio 工具。
8.7 用 composio run 写脚本化自动化
composio run '
const tools = await search("github list issues");
const r = await execute(tools[0].slug, { repo: "ComposioHQ/composio" });
console.log(r.data);
'
run 注入 execute()、search()、proxy()、result.prompt()、z 等能力,支持循环、并行 fan-out;也可 composio run --file ./workflow.ts -- --repo xxx 执行脚本文件并向后传参。
8.8 监听 Trigger 事件
# 表格视图监听 Gmail 事件
composio dev listen --toolkits gmail --table
# 收满 5 条 raw JSON 后停止
composio dev listen --trigger-slug GMAIL_NEW_GMAIL_MESSAGE --json --max-events 5
# 转发到自己的 webhook
composio dev listen --toolkits github --forward https://example.com/webhook

九、全套报错故障排查
十、升级、回滚与卸载
10.1 版本查看
composio --version
pip show composio
npm ls @composio/core
10.2 升级
# CLI
composio upgrade # 升到最新稳定版
composio upgrade 0.3.1 # 升到指定版本
composio upgrade --beta # 最新预发布
# Python SDK
uv add composio@latest # 或 pip install -U composio
# TypeScript SDK
npm install @composio/core@latest
10.3 回滚到指定版本
pip install composio==0.30.0
npm install @composio/core@<指定版本>
curl -fsSL https://composio.dev/install | COMPOSIO_INSTALL_VERSION=0.3.1 sh
建议在 requirements.txt / package-lock.json 中锁定版本后再发布。
10.4 完整卸载清单
# CLI(官方文档:默认卸载保留凭据/配置/缓存)
rm -f ~/.local/bin/composio
rm -rf ~/.composio # 彻底删除 CLI 全部状态(含凭据、analytics.json)
# 手动清理安装脚本写入的 "# Composio CLI" PATH block(~/.zshrc / ~/.bashrc)
# Python
pip uninstall composio composio-openai-agents
# TypeScript
npm uninstall @composio/core @composio/openai-agents
# 环境变量:从 .env / 系统环境中移除 COMPOSIO_API_KEY 等
# Dashboard:不需要时可在 dashboard.composio.dev 删除项目与连接
十一、商用许可与合规风险提示
License:Composio 仓库整体采用 MIT License(LICENSE:Copyright (c) 2025 Sampark Inc.)。MIT 允许商用、修改、闭源分发,义务仅为在分发副本中保留版权与许可声明。注意:托管后端(api.composio.dev、Dashboard)是平台服务,MIT 只覆盖仓库中的开源代码,不等于"平台服务免费商用"。
平台费用与额度:Composio 云服务按官方定价计划收费,免费档有额度限制;以 https://composio.dev 定价页为准。第三方 SaaS API(如 Gmail、Slack)各自的配额与计费也需自行评估。
API Key 与数据隐私:
COMPOSIO_API_KEY、用户 OAuth Token 属敏感凭据,务必用环境变量/密钥管理服务存储,不要硬编码或提交进 Git。工具调用的输入输出默认会记录在平台 Logs 中,涉及敏感数据的业务应评估日志保留策略(官方提供相关配置与"不存储数据"的选项,以官方文档为准)。数据出网:SDK/CLI 会与
api.composio.dev及各 SaaS API 通信,金融、医疗、政务等强合规场景需确认出网策略;由于当前版本依赖托管后端,无法完全离线运行。OAuth 责任边界:托管认证由 Composio 代管 Token,但用户授权的 scope 决定了 Agent 能做什么;给 Agent 的 instructions 中应保留"写操作前确认"等护栏,生产环境建议阅读官方 Production readiness 指南(https://docs.composio.dev/docs/production-readiness)。
商标:"Composio" 名称与 Logo 归 Sampark Inc. 所有,二次分发产品请勿使用官方品牌元素进行背书。
附录:命令速查
# ===== 安装 =====
curl -fsSL https://composio.dev/install | sh # 安装 CLI
pip install composio composio-openai-agents # Python SDK
npm install @composio/core @composio/openai-agents # TypeScript SDK
# ===== 登录与配置 =====
composio login # 浏览器登录
composio login --agent # 无人值守登录
composio orgs switch # 切换组织
composio --version
# ===== 工具搜索与执行 =====
composio search "summarize my unread gmail"
composio execute <slug> --get-schema
composio execute <slug> -d '{"key":"value"}'
composio execute <slug> --account <connected-account-id>
composio proxy <provider-url> --toolkit <toolkit>
# ===== 连接管理 =====
composio link gmail
composio connections list
composio dev auth-configs list --toolkits github,gmail
composio dev connected-accounts list --status ACTIVE
# ===== Trigger =====
composio dev listen --toolkits gmail --table
composio dev triggers list gmail
composio dev triggers enable <trigger-id>
# ===== 脚本与调试 =====
composio run --file ./workflow.ts -- --repo ComposioHQ/composio
composio dev logs tools --toolkit gmail --limit 20
composio generate ts --toolkits github,gmail # 生成工具类型
# ===== 升级/卸载 =====
composio upgrade
pip install -U composio
npm install @composio/core@latest
rm -rf ~/.composio # 彻底清除 CLI 状态