<p>
  <a href="https://github.com/ComposioHQ/composio/blob/master/README.md">EN</a> | <a href="https://github.com/ComposioHQ/composio/blob/master/README-CN.md">CN</a> | <a href="https://github.com/ComposioHQ/composio/blob/master/README-JP.md">JP</a>
</p>

<p align="center">
  <a href="https://composio.dev//#gh-dark-mode-only">
    <img src="./python/docs/imgs/composio_white_font.svg" width="318px" alt="Composio ロゴ" />
  </a>
  <a href="https://composio.dev//#gh-light-mode-only">
    <img src="./python/docs/imgs/composio_black_font.svg" width="318px" alt="Composio ロゴ" />
  </a>
</p>
<p align="center">
  <a href="https://github.com/composiodev/composio/actions/workflows/common.yml">
  <img alt="テスト" src="https://img.shields.io/github/actions/workflow/status/composiodev/composio/common.yml?label=Tests&style=plastic&logo=github&color=blue&cacheSeconds=60">
  </a>
  <a href="https://pypi.org/project/composio-core/">
  <img alt="PyPI" src="https://img.shields.io/pypi/v/composio_core?label=最新&style=plastic&logo=pypi&color=blue&cacheSeconds=60&logoColor=white">
  </a>
  <a href="https://pypi.org/project/composio-core/">
  <img alt="ダウンロード" src="https://img.shields.io/pypi/dm/composio-core?label=ダウンロード&style=plastic&logo=github&color=blue&cacheSeconds=60">
  </a>
</p>

<h2 align="center"><i>
  AIエージェントのためのプロダクションレディツールセット
</i></h2>

<h4 align="center">認証、精度、信頼性を心配することなく、エージェントに高品質のツールと統合を1行のコードで装備しましょう！
</h4>

<div align="center">
<p>
<a href="https://docs.composio.dev" rel="dofollow"><strong>ドキュメントを探索 »</strong></a>
</p>

<p>
<a href="https://app.composio.dev">ダッシュボードで試す</a> <b>|</b>
<a href="https://www.composio.dev">ホームページ</a> <b>|</b>
<a href="https://docs.composio.dev/sdk">SDK</a> <b>|</b>
<a href="https://docs.composio.dev/api-reference/">API</a> 
</p>
</div>

<hr>
<div align="center">
<p >
    <b>✨ ソーシャル >></b>
    <a href="https://dub.composio.dev/JoinHQ">Discord</a> <b>|</b>
    <a href="https://www.youtube.com/@Composio">Youtube</a> <b>|</b>
    <a href="https://twitter.com/composiohq">Twitter</a> <b>|</b>
    <a href="https://www.linkedin.com/company/composio-dev">LinkedIn</a>
</p>
<p align="center">
    <b>⛏️ 貢献 >></b>
    <a href="https://github.com/composiodev/composio/issues/new?assignees=&labels=type%3A+bug&template=bug_report.yml&title=%F0%9F%90%9B+Bug+Report%3A+">バグを報告</a> <b>|</b>
    <a href="https://github.com/composiodev/composio/issues/new?assignees=&labels=feature&template=feature_request.yml&title=%F0%9F%9A%80+Feature%3A+">機能をリクエスト</a> <b>|</b>
    <a href="https://github.com/composiodev/composio/blob/master/CONTRIBUTING.md">貢献する</a>
</p>
</div>

## 📋 目次

- [📋 目次](#-目次)
- [🤔 なぜComposio？](#-なぜcomposio)
- [🔥 主要機能](#-主要機能)  
- [🚀 Pythonでの始め方](#-pythonでの始め方)
  - [1. インストール](#1-インストール)
  - [2. Composioの実践テスト](#2-composioの実践テスト)
- [🚀 Javascriptでの始め方 ](#-javascriptでの始め方) 
  - [1. Composio SDKのインストール](#1-composio-sdkのインストール)
  - [2. OpenAIとComposioツールセットの設定](#2-openaiとcomposioツールセットの設定)
- [💡 例](#-例)
  - [競合研究者](#競合研究者) 
  - [ToDoリストからカレンダーへ](#todolistからカレンダーへ)
  - [GithubからTrelloへ](#githubからtrelloへ)
- [📋 行動規範を読む](#-行動規範を読む) 
- [🤗 貢献](#-貢献)
- [🔗 リンク](#-リンク)
- [🛡️ ライセンス](#️-ライセンス)
- [💪 すべての貢献者に感謝](#-すべての貢献者に感謝)

## 🤔 なぜComposio？

私たちはAIベースのエージェント/ワークフローが未来であると信じています。
Composioは、AIエージェントを最高のエージェントツールに統合し、それらを使用してタスクを完了するための最良のツールセットです。

<img alt="イラスト" src="./docs/imgs/banner.gif" style="border-radius: 5px"/>

## 🔥 主要機能

- **100+ ツール**：さまざまなカテゴリをサポート
  - **ソフトウェア**：GitHub、Notion、Linear、Gmail、Slack、Hubspot、Salesforceなど90以上のプラットフォームで何でも実行できます。
  - **OS**：どこでもクリック、何でも入力、クリップボードにコピーなど。
  - **ブラウザ**：スマート検索、スクリーンショット、MultiOn、ダウンロード、アップロードなど。
  - **検索**：Google検索、Perplexity検索、Tavily、Exaなど。 
  - **SWE**：Ngrok、データベース、Redis、Vercel、Gitなど。
  - **RAG**：即時に任意のデータタイプに対するエージェントRAG！

- **フレームワーク**：**OpenAI、Claude、LlamaIndex、Langchain、CrewAI、Autogen、Gemini、Julep、Lyzr**などのエージェントフレームワークでツールを1行のコードで使用できます。
- **管理された認証**：6つの異なる認証プロトコルをサポート。_アクセストークン、リフレッシュトークン、OAuth、APIキー、JWTなど_を抽象化して、エージェントの構築に集中できます。
- **精度**：より良いツール設計により、ツール呼び出しのエージェント精度が_最大40%向上_します。
- **埋め込み可能**：アプリケーションのバックエンドにホワイトラベルを付け、すべてのユーザーとエージェントの認証と統合を管理し、一貫したエクスペリエンスを維持します。
- **プラグ可能**：追加のツール、フレームワーク、認証プロトコルを簡単に拡張できるように設計されています。

## 🚀 Pythonでの始め方

### 1. インストール

始めるには、ターミナルに以下のコマンドを入力します。

```bash
pip install composio-core
```

'composio'パッケージをopenaiプラグインと一緒にインストールしたい場合は：`pip install composio-openai`。

### 2. Composioの実践テスト

Composioを使用して、GitHubリポジトリにスターを付けるAIエージェントを作成しましょう。

```bash
composio add github # GitHubを接続 - ターミナルで実行
```

```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_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER]
)

my_task = "GitHubでcomposiodev/composioリポジトリにスターを付ける"

# openaiアシスタントを設定
assistant_instruction = "あなたは非常に知的なパーソナルアシスタントです"

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. **Composio SDKのインストール**：
   ```bash
   npm install composio-core
   ```

### 2. **OpenAIとComposioツールセットの設定**：
   ```javascript
   import { OpenAI } from "openai";
   import { OpenAIToolSet } from "composio-core";

   const toolset = new OpenAIToolSet({
       apiKey: process.env.COMPOSIO_API_KEY,
   });

   async function setupUserConnectionIfNotExists(entityId) {
       const entity = await toolset.client.getEntity(entityId);
       const connection = await entity.getConnection('github');

       if (!connection) {
           // このエンティティ/ユーザーがまだアカウントを接続していない場合
           const connection = await entity.initiateConnection(appName);
           console.log("次のURLでログインしてください: ", connection.redirectUrl);
           return connection.waitUntilActive(60);
       }

       return connection;
   }

   async function executeAgent(entityName) {
       const entity = await toolset.client.getEntity(entityName)
       await setupUserConnectionIfNotExists(entity.id);

       const tools = await toolset.get_actions({ actions: ["github_issues_create"] }, entity.id);
       const instruction = "リポジトリ - himanshu-dixit/custom-repo-breakingにサンプルタイトルのissueを作成する"

       const client = new OpenAI({ apiKey: process.env.OPEN_AI_API_KEY })
       const response = await client.chat.completions.create({
           model: "gpt-4-turbo",
           messages: [{
               role: "user",
               content: instruction,
           }],
           tools: tools,
           tool_choice: "auto",
       })

       console.log(response.choices[0].message.tool_calls);
       await toolset.handle_tool_call(response, entity.id);
   }

   executeAgent("your-entity-name");
   ```

### 3. **スクリプトを実行**：
   ```bash
   node your_script.js
   ```

これにより、Composio SDKが設定され、提供された指示を使用してGitHubのissueを作成するエージェントが実行されます。

詳細については、[Composio SDKドキュメント](https://docs.composio.dev/)を参照してください。

## 💡 例

### [競合研究者](https://docs.composio.dev/guides/examples/CompetitorResearcher)

### [ToDoリストからカレンダーへ](https://docs.composio.dev/guides/examples/todo-to-calendar) 

### [GithubからTrelloへ](https://docs.composio.dev/guides/examples/github-trello)

## Star履歴

[![Star History Chart](https://api.star-history.com/svg?repos=composiohq/composio&type=Date)](https://star-history.com/#composiohq/composio&Date)

## 📋 行動規範を読む
  
私たちのオープンソースコミュニティの一員として、私たちは自分自身と他の貢献者に高いコミュニケーション基準を求めています。このプロジェクトの参加者および貢献者として、あなたは私たちの[行動規範](https://github.com/composiodev/composio/blob/master/CODE_OF_CONDUCT.md)に従うことに同意します。

## 🤗 貢献

Composioはオープンソースであり、貢献を歓迎します。リポジトリをフォークし、機能のための新しいブランチを作成し、機能や改善を追加し、プルリクエストを送信してください。

始める前に、[貢献ガイドライン](https://github.com/composiodev/composio/blob/master/CONTRIBUTING.md)と[行動規範](https://github.com/composiodev/composio/blob/master/CODE_OF_CONDUCT.md)をお読みください。

## 🔗 リンク

- [ホームページ](https://composio.dev?utm_campaign=github-readme) 
- [貢献ガイドライン](https://github.com/composiodev/composio/blob/master/CONTRIBUTING.md)
- [ドキュメント](https://docs.composio.dev/?utm_campaign=github-readme)

## 🛡️ ライセンス

ComposioはElasticライセンスの下でライセンスされています - 詳細については[LICENSE](https://github.com/composiodev/composio/blob/master/LICENSE)ファイルを参照してください。

## 💪 すべての貢献者に感謝

<a href="https://composio.dev/contributors?utm_source=github">
  <img src="https://contributors-img.web.app/image?repo=composiodev/composio" alt="貢献者のリスト"/>
</a>
