# composio
**Repository Path**: mmoapg/composio
## Basic Information
- **Project Name**: composio
- **Description**: Composio 为 AI 代理提供可用于生产的工具集,提供: 支持多个类别的 250 多种工具: GitHub、Notion、Linear、Gmail、Slack、Hubspot
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: https://www.oschina.net/p/composio
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2025-03-12
- **Last Updated**: 2025-03-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
英语 | 中国人 | 日本人
适用于 AI 代理的生产就绪工具集
什么是Composio?
Composio 为 AI 代理提供可用于生产的工具集,提供:
- 支持多个类别的 250 多种工具:
- GitHub、Notion、Linear、Gmail、Slack、Hubspot、Salesforce 等软件工具 &
更多
- 操作系统操作, 包括文件工具、shell 工具、代码分析工具 &
更多
- 通过 Google、Perplexity、Tavily 和 Exa 实现搜索功能 &
更多
- 全面的框架支持,包括 OpenAI、 Groq、Claude、LlamaIndex、Langchain、CrewAI、Autogen、Gemini 以及更多
- 支持多种协议 (OAuth、API 密钥、Basic JWT) 的托管身份验证
- 通过优化设计将工具调用准确率提高高达 40%
- 用于后端集成的白标解决方案
- 支持自定义工具和扩展的可插拔架构
## 📋 目录
- [Python 入门](#开始使用-python)
- [1. 安装](#1-安装)
- [2. 创建代理并执行工具](#2-创建代理并执行工具)
- [JavaScript 入门](#javascript-入门)
- [1. 安装](#1安装)
- [2.创建代理并执行工具](#2-创建代理并执行工具-1)
- [示例](#示例)
- [Python 示例](#python-示例)
- [JavaScript 示例](#javascript-示例)
- [Star 历史](#星号历史)
- [获取帮助](#获取帮助)
- [贡献](#贡献)
- [请求功能](#请求功能)
- [感谢所有贡献者](#感谢所有贡献者)
## 开始使用 Python
### 1. 安装
首先安装软件包
```bash
pip install composio-core
```
安装“composio”包及其 openai 插件 `pip install composio-openai`.
### 2. 创建代理并执行工具
让我们使用 OpenAI 创建 AI 代理,并使用 Composio 的 GitHub 工具为 GitHub 存储库加注星标
> [!NOTE]
> 在您的环境变量中设置您的 COMPOSIO_API_KEY 和 OPENAI_API_KEY.
将你的 GitHub 帐户连接到 Composio
```bash
composio add github # Run this in terminal
```
```python
from openai import OpenAI
from composio_openai import ComposioToolSet, App, Action
openai_client = OpenAI(api_key="{{OPENAIKEY}}")
# 初始化 Composio 工具集
composio_tool_set = ComposioToolSet()
# 获取预先配置的 GitHub 工具
actions = composio_tool_set.get_actions(
actions=[Action.GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER]
)
my_task = "Star a repo composiodev/composio on GitHub"
# 设置 openai 助手
assistant_instruction = "You are a super intelligent personal assistant"
assistant = openai_client.beta.assistants.create(
name="Personal Assistant",
instructions=assistant_instruction,
model="gpt-4-turbo",
tools=actions,
)
# 创建线程
thread = openai_client.beta.threads.create()
message = openai_client.beta.threads.messages.create(
thread_id=thread.id, role="user", content=my_task
)
# 使用集成执行代理
run = openai_client.beta.threads.runs.create(
thread_id=thread.id, assistant_id=assistant.id
)
# 执行函数调用
response_after_tool_calls = composio_tool_set.wait_and_handle_assistant_tool_calls(
client=openai_client,
run=run,
thread=thread,
)
print(response_after_tool_calls)
```
## JavaScript 入门
要开始使用 JavaScript 中的 Composio SDK, 请按照以下步骤操作:
### 1.安装:
```bash
npm install composio-core
```
### 2. 创建代理并执行工具
让我们使用 OpenAI 创建一个 AI 代理,并使用 Composio 的 GitHub 工具来加注 GitHub 存储库
> [!NOTE]
> 在您的环境变量中设置您的 COMPOSIO_API_KEY 和 OPENAI_API_KEY。
将你的 GitHub 帐户连接到 Composio
```bash
composio add github # 在终端中运行
```
```javascript
import { OpenAIToolSet } from "composio-core";
import OpenAI from "openai";
const toolset = new OpenAIToolSet({ apiKey: process.env.COMPOSIO_API_KEY });
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const tools = await toolset.getTools({ actions: ["GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER"] });
async function createGithubAssistant(openai, tools) {
return await openai.beta.assistants.create({
name: "Github Assistant",
instructions: "You're a GitHub Assistant, you can do operations on GitHub",
tools: tools,
model: "gpt-4o"
});
}
async function executeAssistantTask(openai, toolset, assistant, task) {
const thread = await openai.beta.threads.create();
const run = await openai.beta.threads.runs.create(thread.id, {
assistant_id: assistant.id,
instructions: task,
tools: tools,
model: "gpt-4o",
stream: false
});
const call = await toolset.waitAndHandleAssistantToolCalls(openai, run, thread);
console.log(call);
}
(async () => {
const githubAssistant = await createGithubAssistant(openai, tools);
await executeAssistantTask(
openai,
toolset,
githubAssistant,
"Star the repository 'composiohq/composio'"
);
})();
```
## 示例
### [Python 示例](https://docs.composio.dev/guides/python/)
### [JavaScript 示例](https://docs.composio.dev/guides/javascript/)
## 星号历史
[](https://star-history.com/#composiohq/composio&Date)
## 获取帮助
- 阅读 docs.composio.dev 上的文档
- 在 discord 上发布您的问题
## 贡献
我们是一个开源项目,欢迎贡献。请阅读贡献指南了解更多信息,并在开始之前查看我们的行为准则。
## 请求功能
- 如果您有功能请求,请打开问题,
发出拉取请求,或在我们的功能请求频道中提交。
- 如果您有改进想法,也可以在我们的 GitHub 存储库中发起讨论。
## 感谢所有贡献者