CopilotKit/OpenTag
OpenTag: The Channels SDK starter application, a self-hosted AI on-call triage bot for Slack and Microsoft Teams, built with AG-UI and LangGraph. Fork it and ship your own.
OpenTag – Slack および Teams 向けの自己ホスト型 AI 知的作業アシスタント
何であるか – OpenTag は即時実行可能なオープンソースの「知的作業エージェント」です。LangGraph を使用して構築された大規模言語モデル駆動の Python エージェントを、CopilotKit の Channels SDK を介して Slack および Microsoft Teams に接続します。このリポジトリには、完全な Node + Python スタック、Slack/Teams 内部にレンダリングされる UI コンポーネント、Railway または AWS 用のデプロイスクリプトが含まれています。
主要構成要素
| 構成要素 | 役割 |
|---|---|
agent/ (Python) |
OpenAI とやり取りし、ウェブ調査を行い、オプションのツール(GitHub、Linear、Notion など)を呼び出す LangGraph ディープエージェント |
app/ (Node/TS) |
CopilotKit ランタイム。マネージドチャネルをホストし、AG-UI プロトコルを Slack/Teams に変換し、チャート、テーブル、承認カードをレンダリング |
| Channels SDK | Slack/Teams アダプタを抽象化し、配信、状態、再接続を処理するライブラリ |
| デプロイ構成 | Railway(.railway/railway.ts)および AWS ECS-Fargate 設定、Docker イメージ opentag-agent と opentag-runtime |
動作方法
- チャネル作成 – CopilotKit CLI(
channels setupまたはchannels add)を実行して、CopilotKit Intelligence にマネージドチャネルを登録します。これにより、CopilotKit のホストされたリクエスト URL を指す Slack アプリマニフェストが作成されます。 - ランタイム起動 –
pnpm devを実行すると Node ランタイムと Python LangGraph エージェントが起動します。ランタイムは CopilotKit Intelligence へのアウトバウンド WebSocket を開き、Slack メッセージはこの接続経由で転送されます。 - ユーザーとの対話 – Slack/Teams でユーザーが
@OpenTagをメンションするか、スラッシュコマンドを使用します。ランタイムは AG-UI プロトコル経由でメッセージを Python エージェントに転送します。 - エージェントの応答 – エージェントは以下のいずれかを実行できます:
- テキスト回答を生成する
- アップロードされた CSV からネイティブな Slack チャートを生成する
- Linear イシューまたは Notion ページを作成する(確認カード付き)
- 並列でウェブ調査を実行し、出典付きのテーブルを返す
- レンダリング – Node 側で結果を Slack ブロックまたは Teams カードにフォーマットし、チャート、テーブル、またはインタラクティブな承認ボタンを表示します。
主な機能
- ネイティブな Slack UI – チャート、テーブル、インタラクティブカードがスレッド内に直接表示されます。
- 書き込み確認 – 外部ツール(Linear、Notion)を変更する操作は、ユーザーの承認ボタンを待ってから実行されます。
- ツール連携 – GitHub、PostHog、Linear、Notion、Composio ツールキットのオプション接続が可能。
- 自己ホスト型 – Python エージェントと Node ランタイムは自前で実行します。CopilotKit サーバー上にコードは存在せず、マネージドチャネルの構成のみが含まれます。
- デプロイ可能 – 1クリックで Railway にデプロイ可能、または AWS Fargate のレシピを使用。Docker イメージは GitHub Container Registry に公開されています。
導入方法
- Node 22+、pnpm、Python 3.12、および
uvをインストール。 pnpm installを実行。- CopilotKit CLI でマネージドチャネルを作成する(または独自の Channels SDK ランナーを使用)。
.env.exampleを.envにコピーし、OpenAI キー、CopilotKit API キー、Slack 認証情報を入力。pnpm devを実行して両方のサービスを起動。Slack で/invite @OpenTagでボットを招待。
カスタマイズ – 多くの側面が単一のファイルまたはディレクトリで構成されます:
- パーソナおよびシステムプロンプト →
agent/prompts/system.py - エージェントロジック →
agent/agent.py - ツール →
agent/tools.py - UI コンポーネント →
app/components/ - チャネルトリガー →
app/channel.tsx - デプロイトポロジー →
.railway/railway.ts
対象ユーザー – データと認証情報を自社で管理したいチームで、日常的な知的作業(スプレッドシートの要約、調査情報の取得、チケット作成)を自動化するためのオンプレミス AI アシスタントを必要とする人向け。
関連
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト