메인 콘텐츠로 건너뛰기
채널은 FIM One과 외부 메시징 플랫폼(Feishu(Lark), Slack, DingTalk, Teams 등) 간의 다리입니다. 채널을 통해 에이전트는 다음을 수행할 수 있습니다:
  • 아웃바운드 메시지 전송(상태 업데이트, 아티팩트, 보고서).
  • 인바운드 메시지 수신(사용자가 그룹 채팅에서 질문을 하면 에이전트가 답변).
  • 민감한 도구 호출을 인터랙티브 카드로 전달되는 인간 승인 뒤에 배치.
채널은 개별 사용자가 아닌 조직에 범위가 지정됩니다. 모든 조직 관리자는 채널을 생성, 편집 및 비활성화할 수 있습니다.

채널이 조직 범위인 이유

채널은 외부 IM 플랫폼에서 조직의 정체성입니다 — 개인의 핫라인이 아닙니다. 에이전트가 Feishu 그룹에 카드를 게시할 때, 메시지는 채널을 구성한 조직의 권한을 가집니다: 봇은 해당 조직의 Feishu 테넌트에 등록되고, 그룹 멤버는 해당 조직 내의 동료이며, 승인 / 감사 추적은 해당 조직에 속합니다. FIM One은 이 매핑을 일대일로 반영합니다:
FIM One외부 IM 플랫폼
조직Feishu 테넌트 / 엔터프라이즈 (및 관리자)
채널해당 테넌트가 소유한 봇 + 그룹 채팅
조직 멤버승인, 알림 수신 또는 카드에 반응할 수 있는 해당 테넌트 내의 사람
에이전트 (조직 게시)조직을 대신하여 행동하는 AI 워커
개인 에이전트 (미게시, 단일 사용자가 소유)는 의도적으로 채널에 접근할 수 없습니다. 개인 에이전트가 조직의 채널에 메시지를 보내는 것은 조직을 사칭하는 것입니다 — 감사 위험 및 거버넌스 위반입니다. 에이전트를 조직에 게시하는 것이 해당 에이전트가 채널을 통해 조직을 대신하여 말할 권리를 얻는 방법입니다. 이 제약은 균일하게 적용됩니다: FeishuGateHook (승인 라우팅)과 완료 알림 (에이전트 구성 채널) 모두 동일한 조직 정체성 경계를 존중합니다.

지원되는 플랫폼

PlatformStatusInboundOutboundApproval card
Feishu (Lark)GAYesYesYes (feishu_gate hook)
SlackPlanned
DingTalkPlanned

채널이 Hook과 상호작용하는 방식

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. 조직 소유자 또는 관리자로 로그인합니다.
  2. 조직 설정 → 채널 → 새 채널로 이동합니다.
  3. 채널 유형을 선택하고(예: Feishu), 자격 증명을 입력하고, 대상 채팅을 선택한 후 저장합니다.
  4. 테스트 메시지 전송을 클릭하여 양방향 연결을 확인합니다.
각 채널 유형은 고유한 자격 증명 형식과 이벤트 구독 프로세스를 가지고 있습니다. 정확한 단계는 플랫폼별 가이드를 따르세요:

보안 참고사항

  • 앱 시크릿과 암호화 키는 백엔드의 FERNET_SECRET_KEY를 사용하여 저장 시 암호화됩니다.
  • 콜백 엔드포인트(/api/channels/{id}/callback)는 이벤트에 대해 작동하기 전에 저장된 encrypt_key / verification_token에 대해 모든 서명을 검증합니다.
  • 대상 그룹 채팅의 멤버만 승인 카드를 승인하거나 거부할 수 있습니다 — FIM One은 메시징 플랫폼이 이미 부여한 것 이상의 추가 권한을 부여하지 않습니다.