원챗 OneChat 연동 아키텍처

iamserver의 onechat.kiam.kr 와 실벗을 잇는 다리

24
전략 요약: 실벗의 "AI 말벗"과 "AI 비서"는 자체 LLM을 호출하지만, 대화 세션·이력·실시간 채팅 인프라는 OneChat 서버를 백엔드로 활용합니다. 실벗 = 시니어 UI 레이어 / 원챗 = 채팅 엔진.

통합 아키텍처

┌─────────────────────────────────────────────────────────────┐
│  [시니어 단말]  sb.kiam.kr  (PWA, 카메라/마이크/GPS 권한)   │
└──────────┬──────────────────────────┬───────────────────────┘
           │ HTTPS / WSS              │ WebRTC
           ▼                          ▼
┌─────────────────────┐  ┌─────────────────────────────────┐
│  실벗 서버           │  │  원챗 OneChat 서버              │
│  sb.kiam.kr         │←→│  onechat.kiam.kr                │
│  - 사용자/회원       │  │  - 채팅 세션 관리                │
│  - 건강/약/SOS       │  │  - WebSocket 라우팅              │
│  - 가족/일정         │  │  - 메시지 영속성 (장기 메모리)   │
│  - 결제/구독         │  │  - 1:1, 그룹, AI 봇 대화         │
│  Apache+PHP+MariaDB │  │                                 │
└─────────┬───────────┘  └──────┬──────────────────────────┘
          │                     │
          ▼                     ▼
      ┌───────────────────────────────┐
      │   DeepSeek LLM API            │
      │   (AI 말벗 / AI 비서 / 자서전) │
      └───────────────────────────────┘
    

역할 분담 (Responsibility)

기능실벗 sb.kiam.kr원챗 onechat.kiam.kr
UI✅ 시니어 친화 UI-
회원/인증✅ JWT 발급/관리SSO 검증
AI 말벗 (음성 대화)UI + STT/TTS✅ 채팅 세션 저장
가족 1:1 채팅UI✅ 메시지 라우팅
가족 그룹 채팅UI✅ 그룹 룸 관리
WebRTC 영상UI✅ Signaling 서버
장기 메모리✅ 사용자 프로필✅ 대화 로그
건강·약·SOS✅ 전담-

SSO 통합 (Single Sign-On)

// 실벗에서 원챗 인증 흐름
async function connectOneChat(){
  // 1) 실벗에서 short-lived 토큰 발급
  const r = await fetch('/api/v1/auth/onechat-token', {
    headers: {'Authorization':'Bearer '+silbeotToken}
  });
  const { onechat_token } = await r.json();
  
  // 2) WebSocket 연결
  ws = new WebSocket(`wss://onechat.kiam.kr/aimessage/onechat/ws?token=${onechat_token}`);
  ws.onmessage = e => renderMessage(JSON.parse(e.data));
  
  // 3) 메시지 송신
  function sendMessage(text){
    ws.send(JSON.stringify({
      type:'chat', room:'silbeot_user_'+userId, content:text
    }));
  }
}

데이터 동기화

📤 실벗 → 원챗

  • 사용자 가입/탈퇴 동기화 (Webhook)
  • 가족 관계 그래프 동기화
  • SOS 이벤트 → 가족 채팅방 자동 알림

📥 원챗 → 실벗

  • 대화 요약 (일/주) → 실벗 사용자 프로필 업데이트
  • 외로움/우울 감지 지표 → 실벗 알림 트리거
  • 미답 메시지 → 푸시 발송

시니어 UX에서 원챗 활용

API 연동 예시

POST /api/v1/onechat/sync-user
{
  "silbeot_user_id": 12345,
  "name": "김순자",
  "role": "senior",
  "family_ids": [67890, 67891]
}
// → 원챗이 자동으로 가족 그룹채팅방 생성

POST /api/v1/onechat/relay-message
{
  "from": "silbeot_ai_companion",
  "to_room": "family_67890_67891",
  "text": "어머니가 오늘 약을 모두 드셨어요 😊",
  "type": "auto_report"
}