チャネルの接続

チャネルはThemisを外部サービスに接続します。すべてのチャネル認証情報は、スペースのオーナーまたはマネージャーによってスペースごとに設定されます。

利用可能なチャネル

チャネル機能認証
GitHubPRのレビュー、CIステータスの確認、コードの閲覧、イシューの作成GitHub Appインストール
Linearイシューの作成と管理、プロジェクトの追跡、バグのトリアージスペース単位のAPIキー
Sentryエラーの監視、アラートのトリアージ、イシューステータスの更新スペース単位のAPIトークン
Metabaseデータベースのクエリ、チャートの生成、ビジネスデータの分析スペース単位のAPIキー
Google Drive共有ドライブからのドキュメント検索と読み取りユーザーごとのOAuth
Google Calendarイベントの確認と管理、空き時間の確認、不在通知とフォーカスタイムユーザーごとのOAuth
Gmail読み取り、検索、ラベル付け、アーカイブ(送信機能なし)ユーザーごとのOAuth
Google AnalyticsGA4プロパティへのクエリ、カスタムレポート、リアルタイム指標スペース単位のサービスアカウント
Google Mapsジオコーディング、場所、経路、距離行列、天気、大気質スペース単位のAPIキー
Flight SearchGoogle Flightsでのフライトと柔軟な日付検索認証情報不要(オプトイン)
Microsoft TeamsTeamsチャネルとDMでのチャットスペース単位のボットアプリ
TelegramTelegramボット経由でのチャット、音声メッセージの送信スペース単位のボットトークン

チャネルの設定

  1. スペース設定(サイドバーのギアアイコン)に移動
  2. チャネルを選択
  3. 接続したいサービスを選択
  4. 必要な認証情報(APIトークン、シークレット)を入力
  5. 保存 — Themisが接続を検証します

各チャネルには、必須フィールドとオプションフィールドが、それらの取得場所に関するヒントとともに表示されます。認証情報は暗号化されて保存され、保存後はマスクされた値として表示されます。

GitHub

Themisは Themis AI Agent GitHub Appを使って認証します。Personal Access Tokenは不要です。チャネル設定で Install GitHub App をクリックし、インストール完了後にスペースがinstallation_idを保存し、トークンはオンデマンドで発行されます。デプロイメント単位の登録については GitHub App Setup を参照してください。

ボットエイリアス(オプション。自己メンションフィルタリングに使用):

フィールド用途
Bot AliasesThemisをトリガーすべき追加のGitHubログイン名。@メンションとPRレビュアー指定で照合されます。カンマ区切り。Appのボット自体は既に含まれているため、代替ハンドル(例:ステージング環境のインストール)からもトリガーしたい場合にのみ必要です。

コード生成コミットは、トリガーしたユーザーのgitアイデンティティ(プロフィールで設定)で作成者情報が付与され、GitHub Appがプッシャーとなります。

Linear

Linear設定 > APIからのAPIキーを使用します。Linear MCPサーバーはLinearがホスティングしています。ローカルへのインストールは不要です。

Linear設定:

フィールド用途
Organization SlugLinear組織スラグ(例:my-org)。PRの説明と受信トレイでissueのURLを構築するために使用されます。THEMIS_LINEAR_ORG_SLUG にフォールバックします。空のままにすると、Linearリンクは通知なしで省略されます。
Bot Display Namesこのボットを識別するカンマ区切りのLinear表示名またはメールアドレスの断片(例:Themis,themis@)。自己返信防止と、issueがボットに割り当てられたときの検出に使用されます。エージェントの表示名にフォールバックします。

Bot Display Namesのいずれかに一致するユーザーにLinear issueを割り当てると、そのissueでコード生成がトリガーされます。

Sentry

プロジェクトとイシューの権限を持つ認証トークンが必要です。オプションで、スコープ付きアクセスのための組織スラグを設定できます。

Metabase

MetabaseのインスタンスURLAPIキーが必要です(Metabase管理者 > 設定 > 認証 > APIキー)。Metabase MCPサーバーはホストにインストールされ、アプリケーションのPATH上に配置されている必要があります(必要に応じて METABASE_MCP_COMMAND で上書き)。

Teams

アプリID、パスワード、テナントIDを含むBot Frameworkアプリ登録が必要です。セットアップについてはMicrosoft Teams Bot Frameworkのドキュメントを参照してください。

Telegram

@BotFatherからのボットトークンが必要です。Themisにはwebhookの設定と検証を自動的に行うボタンが用意されています。ボットが応答するグループを制限するために、許可されたチャットIDリストを設定してください。

Google Drive、Google Calendar、Gmail

3つのGoogle Workspaceチャネルは、単一のユーザーごとのOAuthフローを共有します。各ユーザーがプロフィール > 接続から自分のGoogleアカウントを接続します。スペースレベルの認証情報は不要で、各チャネルは独自のスコープとツールセットを持ちます:

チャネルスコープツール
Google Drive読み取り専用検索、一覧、ファイル内容の読み取り、権限、共有リンク
Google Calendar読み取り+書き込みカレンダー一覧、イベントの読み取り/作成/更新/削除、空き時間、不在通知、フォーカスタイム
Gmail整理(読み取り+ラベル+アーカイブ、送信不可)検索、メッセージの読み取り、ラベル管理、アーカイブ、ゴミ箱

スペースで各チャネルを有効化し、各ユーザーに自分のプロフィールから認可してもらいます。発言者がGoogleアカウントを接続している場合にのみ、チャットで各チャネルが利用可能になります。

Google Analytics

GCP サービスアカウントJSON が必要です。同じプロジェクトでAnalytics Admin APIとAnalytics Data APIを有効化してください。GA4の管理画面で、クエリしたいプロパティにサービスアカウントのメールアドレスを閲覧者として追加してください。

フィールド用途
Service Account JSONサービスアカウントキーのJSONボディ全体。暗号化して保存され、MCPサーバー起動時にのみディスクに書き出されます(内容のSHAハッシュをキーとして使用)。
GCP Project ID(オプション)MCPプロセスの GOOGLE_CLOUD_PROJECT を設定します。

GA4のアカウント検出、プロパティの詳細、カスタムディメンション/メトリクス、コアレポート、リアルタイムレポートを提供します。

Google Maps

Maps Platform APIs(Places、Geocoding、Directions、Distance Matrix、Elevation、Time Zone、Weather、Air Quality)が有効化された Google Cloud APIキー が必要です。GCPコンソールでキーを生成してチャネルに貼り付けてください。

近隣検索+テキスト検索、場所の詳細、ジオコーディング(正方向/逆方向/バッチ)、経路、距離行列、ルート計画、標高、タイムゾーン検索、天気、大気質を提供します。トークン消費量の多い複合ツールはデフォルトで無効化されています。

認証情報は不要です。MCPサーバーはGoogle Flightsの公開APIにアクセスします。ただし、このチャネルは必要のないコンテキストでトークンを消費しないよう、スペースで明示的に有効化する必要があります。search_flights(特定日)とsearch_dates(柔軟な日付カレンダー)を提供します。結果はデフォルトで20件に制限されており(FLI_MCP_MAX_RESULTS)、チャットコンテキストを簡潔に保ちます。

Webhook

リアルタイムのイベントを受信するには、外部サービスにwebhook URLを登録してください:

サービスWebhook URLイベント
GitHubhttps://yourhost/webhooks/githubプルリクエスト、イシュー、コメント、プッシュ
Linearhttps://yourhost/webhooks/linearイシュー、コメント
Sentryhttps://yourhost/webhooks/sentryイシューアラート
Teamshttps://yourhost/webhooks/teamsチャネルメッセージ
Telegramhttps://yourhost/webhooks/telegramメッセージ、ボイスノート

Webhook認証は自動的に処理されます。GitHubはHMAC署名、LinearはJWT、Telegramは署名付きリクエストを使用します。Themisはwebhookシークレットを照合してターゲットスペースを解決します。