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

  1. 提供された manifest-dev.yml からSlackアプリを作成し、ワークスペースにインストールします。
  2. 必要な環境変数(SLACK_APP_TOKEN、SLACK_BOT_TOKEN、OPENAI_API_KEY)を設定します。オプションの変数でモデル、温度などを選択できます。
  3. 依存関係をインストール(pip install -r requirements.txt)し、ボットを起動(python main.py)します。
  4. (オプション).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
  • プロジェクト
  • プロジェクト