Files
composiohq--composio/README.md
T
2026-07-13 10:31:01 +00:00

191 lines
9.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- WEHUB_ZH_README -->
> [!NOTE]
> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
> [English](./README.en.md) · [原始项目](https://github.com/ComposioHQ/composio) · [上游 README](https://github.com/ComposioHQ/composio/blob/HEAD/README.md)
> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
<p align="center">
<a href="https://composio.dev">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://brand.composio.dev/logos/Logomark-White.svg">
<img alt="Composio logo" src="https://brand.composio.dev/logos/Logomark-Black.svg" width="96">
</picture>
</a>
</p>
<p align="center">
<a href="https://composio.dev"><b>composio.dev</b></a> •
<a href="https://docs.composio.dev">文档</a> •
<a href="https://docs.composio.dev/docs/quickstart">快速入门</a>
</p>
<p align="center">
<a href="https://github.com/ComposioHQ/composio/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/ComposioHQ/composio?style=social" /></a>
<a href="https://www.npmjs.com/package/@composio/core"><img alt="npm" src="https://img.shields.io/npm/v/@composio/core?label=%40composio%2Fcore" /></a>
<a href="https://pypi.org/project/composio/"><img alt="PyPI" src="https://img.shields.io/pypi/v/composio?label=composio" /></a>
<a href="https://discord.gg/composio"><img alt="Discord" src="https://img.shields.io/badge/discord-community-5865F2?logo=discord&logoColor=white" /></a>
<a href="https://hvtracker.net/agents/composio/"><img alt="HVTrust" src="https://hvtracker.net/badge/composio.svg" /></a>
</p>
# Composio
Composio 为你的 AI 智能体提供 1000+ 个预认证工具包(toolkits)、按用户划分的会话(sessions)、身份认证、触发器(triggers)以及沙箱(sandbox),助你交付能将意图转化为行动的智能体。
这是 Composio SDK 的 monorepo,包含:
- **[`@composio/core`](ts/packages/core)**TypeScript SDK
- **[`composio`](python)**Python SDK
- **[`composio` CLI](ts/packages/cli)**:在 shell 中搜索、执行并用脚本编排工具
- **Provider 适配器**,适用于 OpenAI Agents、Claude Agent SDK、Vercel AI SDK、LangChain 等[更多框架](#providers)
## 快速入门
为用户创建会话,将其工具交给你的智能体,让智能体在 1000+ 个应用中执行操作。请先从[控制台](https://dashboard.composio.dev/settings))获取 `COMPOSIO_API_KEY`
### TypeScript
```bash
npm install @composio/core @composio/openai-agents @openai/agents
```
> `@composio/core` 有意打包其 TypeScript 源码和 SDK 文档,以便编程智能体可以检查已安装的包。若希望安装体积更小且 API 相同,请使用 [`@composio/slim`](ts/packages/slim)。
```typescript
import { Composio } from "@composio/core";
import { OpenAIAgentsProvider } from "@composio/openai-agents";
import { Agent, run } from "@openai/agents";
const composio = new Composio({ provider: new OpenAIAgentsProvider() });
// Each session is scoped to one of your users
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);
```
### Python
```bash
pip install composio composio-openai-agents openai-agents
```
```python
from composio import Composio
from composio_openai_agents import OpenAIAgentsProvider
from agents import Agent, Runner
composio = Composio(provider=OpenAIAgentsProvider())
# Each session is scoped to one of your users
session = composio.create(user_id="user_123")
tools = session.tools()
agent = Agent(
name="Personal Assistant",
instructions="You are a helpful assistant. Use Composio tools to take action.",
tools=tools,
)
result = Runner.run_sync(starting_agent=agent, input="Summarize my emails from today")
print(result.final_output)
```
默认情况下,会话会获得用于在运行时发现、认证并执行应用工具的 meta tools,因此你无需将数百个工具定义加载到上下文中。存储 `session.session_id`,并在多轮对话中通过 `composio.use()` 复用。请参阅[什么是会话](https://docs.composio.dev/docs/how-composio-works))和[配置会话](https://docs.composio.dev/docs/configuring-sessions)),以限制工具包、认证配置和已连接账户。
**更喜欢 MCP** 每个会话还会暴露一个托管 MCP 端点。将 `mcp: true` 传给 `composio.create()`,并让 Claude、Cursor 或任意 MCP 客户端指向 `session.mcp.url`。请参阅[通过 MCP 使用会话](https://docs.composio.dev/docs/sessions-via-mcp).)
## CLI
`composio` CLI 可在 shell 中运行 Composio,并为 Claude Code 等编程智能体提供本地工具接口。
```bash
curl -fsSL https://composio.dev/install | bash
composio login
```
使用 `composio search` 查找工具,`composio execute` 运行工具,`composio link` 连接账户,`composio run` 用 TypeScript 编写工作流脚本。请参阅 [CLI 文档](https://docs.composio.dev/docs/cli).)
## Providers
Provider 将 Composio 工具适配为你所用智能体框架的原生工具格式:
| Provider | TypeScript | Python |
|----------|:----------:|:------:|
| OpenAI | [`@composio/openai`](ts/packages/providers/openai) | [`composio-openai`](python/providers/openai) |
| OpenAI Agents | [`@composio/openai-agents`](ts/packages/providers/openai-agents) | [`composio-openai-agents`](python/providers/openai_agents) |
| Anthropic | [`@composio/anthropic`](ts/packages/providers/anthropic) | [`composio-anthropic`](python/providers/anthropic) |
| Claude Agent SDK | [`@composio/claude-agent-sdk`](ts/packages/providers/claude-agent-sdk) | [`composio-claude-agent-sdk`](python/providers/claude_agent_sdk) |
| Vercel AI SDK | [`@composio/vercel`](ts/packages/providers/vercel) | — |
| Google GenAI | [`@composio/google`](ts/packages/providers/google) | [`composio-gemini`](python/providers/gemini), [`composio-google`](python/providers/google) |
| Google ADK | — | [`composio-google-adk`](python/providers/google_adk) |
| LangChain | [`@composio/langchain`](ts/packages/providers/langchain) | [`composio-langchain`](python/providers/langchain) |
| LangGraph | via `@composio/langchain` | [`composio-langgraph`](python/providers/langgraph) |
| LlamaIndex | [`@composio/llamaindex`](ts/packages/providers/llamaindex) | [`composio-llamaindex`](python/providers/llamaindex) |
| Mastra | [`@composio/mastra`](ts/packages/providers/mastra) | — |
| Pi | [`@composio/experimental`](ts/packages/experimental)* | — |
| Cloudflare Workers AI | [`@composio/cloudflare`](ts/packages/providers/cloudflare) | — |
| CrewAI | — | [`composio-crewai`](python/providers/crewai) |
| AutoGen | — | [`composio-autogen`](python/providers/autogen) |
\* *[Pi provider](https://docs.composio.dev/docs/providers/pi)) 为实验性功能,由 `@composio/experimental` 发布。*
找不到你的框架?[构建自定义 Provider](https://docs.composio.dev/docs/providers/custom-providers),),或完全跳过 Provider,直接通过 [MCP](https://docs.composio.dev/docs/sessions-via-mcp).) 连接。
## 全部软件包
本仓库发布的所有内容:
| Package | 说明 |
|---------|-------------|
| [`@composio/core`](ts/packages/core) | TypeScript SDK |
| [`@composio/slim`](ts/packages/slim) | `@composio/core`,不含打包的源码或文档;API 相同,安装体积更小 |
| [`composio` CLI](ts/packages/cli) | 独立 CLI 二进制:`curl -fsSL https://composio.dev/install \| bash` |
| [`@composio/experimental`](ts/packages/experimental) | 实验性集成,包括 Pi provider |
| [`@composio/json-schema-to-zod`](ts/packages/json-schema-to-zod) | JSON Schema 转 Zod 转换 |
| `@composio/*` [provider adapters](#providers) | OpenAI、OpenAI Agents、Anthropic、Claude Agent SDK、Vercel、Google、LangChain、LlamaIndex、Mastra、Cloudflare |
| [`composio`](python) | Python SDK |
| `composio-*` [provider adapters](#providers) | OpenAI、OpenAI Agents、Anthropic、Claude Agent SDK、Gemini、Google、Google ADK、LangChain、LangGraph、LlamaIndex、CrewAI、AutoGen |
## 仓库结构
```text
ts/ TypeScript SDK workspace
packages/core/ @composio/core
packages/providers/ Provider adapters
packages/cli/ Composio CLI
python/ Python SDK and provider packages
docs/ Documentation site (docs.composio.dev)
```
TypeScript SDK 在 Node 22+ 上测试;Python SDK 支持 Python 3.10+。
## 开发
```bash
mise install # pinned toolchain (Node, Python, pnpm)
pnpm install
pnpm build
pnpm test
```
Python 命令从 `python/` 运行;详见 [`python/README.md`](python/README.md)。我们欢迎为两个 SDK 贡献代码;提交 pull request 前请先阅读 [贡献指南](CONTRIBUTING.md)。
## 支持
- [文档](https://docs.composio.dev)
- [Discord 社区](https://discord.gg/composio)
- [提交 Issue](https://github.com/ComposioHQ/composio/issues)
- [support@composio.dev](mailto:support@composio.dev)
## 许可证
MIT。详见 [LICENSE](LICENSE)。