191 lines
9.1 KiB
Markdown
191 lines
9.1 KiB
Markdown
<!-- 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)。
|