seratch/ChatGPT-in-Slack
Swift demonstration of how to build a Slack app that enables end-users to interact with a ChatGPT bot
ChatGPT‑in‑Slack
What it is – Slackアプリのオープンソース実装で、OpenAIのChatGPT(およびDALL‑E 3)をSlackから直接利用できるようにします。3つの方法で動作します:チャンネルスレッド内、1対1のDM、またはHomeタブのモーダルから。ボットはスレッド内に会話の文脈を保持するため、ChatGPTのWebサイトと同様にプロンプトを微調整できます。
Key features
- Threaded conversations – ボットを1回メンションしてスレッドを開始;以降のメッセージは自動的にChatGPTに送信され、文脈が保持されます。
- Private DM support – メンションなしでボットに個別に質問できます。
- Home‑tab UI – プルーフリーディング、自由なプロンプト、画像生成(DALL‑E 3)向けのクイックアクセスダイアログで、モバイルでも動作します。
- Configurable OpenAI settings – モデル、温度、システムプロンプト、言語翻訳、Markdown変換、マスキング、画像ファイル共有は環境変数で切り替え可能。
- Docker & Socket Mode – 自社のファイアウォールの後ろにデプロイ可能;SlackのSocket Modeを使用するため、パブリックURLは不要です。
- Azure OpenAI compatibility – オプションの環境変数で、アプリをAzureのOpenAIエンドポイントに接続できます。
- Function‑calling demo – OpenAIの関数呼び出しをテストモジュール経由で実験的にサポートしています。
How to run it locally
- 提供された
manifest-dev.ymlからSlackアプリを作成し、ワークスペースにインストールします。 - 必要な環境変数(
SLACK_APP_TOKEN、SLACK_BOT_TOKEN、OPENAI_API_KEY)を設定します。オプションの変数でモデル、温度などを選択できます。 - 依存関係をインストール(
pip install -r requirements.txt)し、ボットを起動(python main.py)します。 - (オプション)
.env.exampleを.envにコピーして、ローカル開発をより簡単にします。
Deploying for a company
- 提供された
Dockerfileをビルドします。コンテナはSocket Modeで動作するため、SlackおよびOpenAIへのアウトバウンド接続のみが必要です。 - コードはMITライセンスのため、自社インフラ上でホスト可能で、機密データを自社の制御下に保つことができます。
Typical use cases
- Slackから直接メール、レポート、その他のテキストの下書きや校正を行う。
- チャットから離れることなく、DALL‑E 3で画像を素早く生成する。
- コラボレーション中に即座にコードスニペット、説明、アイデアのブラッシュアップを得る。
- チームメンバーが公開スレッドで参照できる共有「AIアシスタント」を提供する。
Related projects
iwamot/collmbo– LiteLLMを介して他のLLMプロバイダーをサポートするフォーク。
License – MIT.
関連
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト