Slack 앱 ↔ 프로필 페어와이즈 매핑

Hermes-에이전트에서 멀티에이전트를 Slack에 동시 노출할 때 강제되는 1 Slack 앱 = 1 프로필 제약과 그 설계 의도.

제약 사실

“반드시 이 프로필 하나에 슬랙앱 하나씩 연결을 해서 사용을 하시는 거를 권장드리고요.” — 단테랩 단테

  • 하나의 Slack 앱에 여러 프로필 매핑은 불가
  • 4명의 회사원(페르소나)을 동시 운영하려면:
    • 4개 Slack 앱
    • 4개 Bot Token + 4개 App-Level Token + 4개 App ID
    • 4개 게이트웨이 (프로필별 별도)

왜 1:1로 강제하는가

1. 페르소나 정체성 보존

같은 채널에서 동시에 두 페르소나가 응답하면 사용자는 누가 누구인지 구별 불가. Slack의 봇 표시 단위는 “앱” → 앱이 곧 페르소나의 시각적 정체성.

2. 컨텍스트 격리

게이트웨이가 분리되면 각 프로필의 대화 컨텍스트가 서로 새지 않는다. 멘션 라우팅도 게이트웨이 단위 → 잡음 차단.

3. 토큰·권한 보안 단위

각 봇이 별도 OAuth 권한·토큰 → 한 봇이 탈취돼도 다른 페르소나로 확산 차단.

일반 채팅 모드의 제약

  • 일반 채팅(멘션·DM)에서는 단일 기본 프로필만 사용 가능
  • 다른 프로필을 쓰려면 명시적으로 변경해야 함 (자동 전환 X)
  • 여러 명을 동시에 활용하려면 게이트웨이 분리 필수

칸반 모드 예외

칸반에서는 어사인이 필드로 프로필 자동 선택 가능 → 단일 앱 안에서도 다중 프로필 활용 OK. 단, 채팅 응답 X, 보드 작업 단위로만 동작.

운영 가이드

셋업 자동화

hermes-skill 또는 Codex에 App Configuration Token을 전달하면 앱·게이트웨이를 자동 생성:

  • 앱 3개 추가 생성 (기본 1개 + 신규 3개)
  • 매니페스트 일괄 작성
  • 게이트웨이 4개 등록

수동 작업이 남는 부분

  • 각 앱의 Bot Token + App-Level Token 발급은 수동 (Slack UI 클릭 필요)
  • 앱별 이미지·이름 설정도 수동 (영상에서는 GPT Image 2로 캐릭터 이미지 생성)
  • 토큰을 채팅창에 직접 붙여넣는 것은 보안상 비권장 → .env 또는 즉시 회전

멘션 필수 설정

모든 게이트웨이가 동일 채널에 있을 때 무차별 응답을 막기 위해:

  • requireMention: true (도구 설정)
  • preResponseChannels에서 해당 채널 제거

비교: OpenClaw

OpenClaw에서도 페르소나는 별도 인스턴스로 운영 — 본질적으로 1:1 매핑은 멀티에이전트 운영의 보편적 패턴.

관련 노트

출처