> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fim.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# チャネル概要

> FIM One を外部メッセージングプラットフォームに接続して、通知、承認、双方向の智能体インタラクションを実現します。

**チャネル**は、FIM One と外部メッセージングプラットフォーム（Feishu (Lark)、Slack、DingTalk、Teams など）の間のブリッジです。チャネルにより、智能体は以下のことができます：

* **アウトバウンドメッセージの送信**（ステータス更新、成果物、レポート）。
* **インバウンドメッセージの受信**（ユーザーがグループチャットで質問を投稿し、智能体が回答）。
* **機密性の高いツール呼び出しをゲート**して、人間の承認の背後に置き、インタラクティブカードとして配信。

チャネルは**組織**にスコープされており、個別ユーザーにはスコープされていません。任意の組織管理者がチャネルを作成、編集、無効化できます。

## チャネルが組織スコープである理由

チャネルは組織の**アイデンティティ**であり、外部 IM プラットフォーム上の個人の直通電話ではありません。智能体が Feishu グループにカードを投稿する場合、メッセージはチャネルを設定した組織の権限を持ちます。ボットはその組織の Feishu テナントに登録され、グループメンバーはその組織内のピアであり、承認/監査証跡はその組織に属しています。

FIM One はこのマッピングを 1 対 1 で反映します。

| FIM One                   | 外部 IM プラットフォーム                     |
| ------------------------- | ---------------------------------- |
| **Organization**          | Feishu テナント / エンタープライズ（およびその管理者）   |
| **Channel**               | そのテナントが所有するボット + グループチャット          |
| **Org member**            | そのテナント内で承認、通知受信、またはカードへの反応ができるユーザー |
| **Agent (org-published)** | 組織を代表して行動する AI ワーカー                |

個人用智能体（未発行、単一ユーザーが所有）は意図的にチャネルへのアクセス権を持ちません。個人用智能体が組織のチャネルにメッセージを送信することは、組織になりすまし行為となり、監査上のリスクとガバナンス違反です。智能体を組織に発行することが、その智能体がチャネルを通じて組織を代表して発言する権利を得る方法です。

この制約は均一に適用されます。`FeishuGateHook`（承認ルーティング）と完了通知（智能体が設定したチャネル）の両方が、同じ組織アイデンティティ境界を尊重します。

## サポートされているプラットフォーム

| プラットフォーム                  | ステータス | インバウンド | アウトバウンド | 承認カード                   |
| ------------------------- | ----- | ------ | ------- | ----------------------- |
| [Feishu (Lark)](./feishu) | GA    | はい     | はい      | はい (`feishu_gate` hook) |
| Slack                     | 計画中   | —      | —       | —                       |
| DingTalk                  | 計画中   | —      | —       | —                       |

## チャネルとHooksの相互作用

`feishu_gate` hookはFeishuチャネルの主要なコンシューマーです。エージェントが `requires_confirmation: true` でマークされたツールを呼び出そうとするとき、hookは以下を実行します：

1. 組織のアクティブなFeishuチャネルを解決します。
2. ツール名と引数を含むインタラクティブな承認カードをレンダリングします。
3. カードを設定されたグループチャット（`chat_id`）に投稿します。
4. グループメンバーが **Approve** または **Reject** をタップするまで、ツール呼び出しを一時停止します。
5. 判定に基づいてツールを再開（または中止）し、SSEを通じて決定をストリーミングバックします。

`model_config_json.hooks.class_hooks = ["feishu_gate"]` でhookをエージェントにアタッチするか、エージェントエディターで切り替えます。

## チャネルの作成

1. **Org Owner** または **Admin** としてサインインします。
2. **Organization Settings → Channels → New Channel** に移動します。
3. チャネルタイプ（例：Feishu）を選択し、認証情報を入力し、ターゲットチャットを選択して、保存します。
4. **Send test message** をクリックして、双方向の配線を確認します。

各チャネルタイプには独自の認証情報の形式とイベント購読のプロセスがあります。正確な手順については、プラットフォーム固有のガイドに従ってください：

* [Feishu (Lark) setup](./feishu)

## セキュリティに関する注記

* アプリシークレットと暗号化キーは、バックエンドの `FERNET_SECRET_KEY` を使用して **保存時に暗号化** されます。
* コールバックエンドポイント (`/api/channels/{id}/callback`) は、イベントに対して処理を実行する前に、保存されている `encrypt_key` / `verification_token` に対して **すべてのシグネチャを検証** します。
* 承認カードを承認または却下できるのは、ターゲットグループチャットのメンバーのみです。FIM One はメッセージングプラットフォームが既に付与している権限を超えた追加の権限を付与しません。
