← 목록
인테리어 2026-06-10 4KB 읽기 4분

interior.crowny.org — AI 챗 상담 + 모바일 고도화 (Phase 4)

개요

interior.crowny.org(:9741, crowny-interior)에 랜딩 이후 대화형 AI 상담을 추가하고 모바일 반응형을 고도화. 크라우니AI(9852, Gemini) 경유로 상담→트랙배정→견적→문의생성까지 대화로 진행. 죽어있던 서버를 부활시키고 게이트웨이 호환까지 검증 완료.

무엇을 했는지

0. 서버 부활 + 상태 관리

  • 시작 시 9741 죽음(로컬 000, 게이트웨이 503) → node server.js 재기동 → 200 복구
  • 게이트웨이 경로 확인: stunnel(8443 TLS) → crownyc 게이트웨이(8080). 443은 외부 매핑
  • 다른 세션 19+개는 crownyc/gateway/invest/aimed에 몰림 → interior 단독 작업(충돌 없음)

1. 울트라 병렬 빌드 (5 에이전트, 디스조인트 파일)

에이전트파일산출
server-proxyserver.js/api/consult 프록시 + 상담완료 파싱 + 문의생성
chat-jspublic/chat.js챗 컨트롤러 (전송/렌더/완료카드/XSS차단)
chat-csspublic/chat.css챗 UI 모바일퍼스트 (다크+골드 변수 재사용)
mobile-polishpublic/style.css기존 랜딩 모바일 반응형 보강
hanseon-engineengine/상담엔진.한선상담 로직 한선씨 동반 (컴파일 검증 2201큐브)

2. 게이트웨이 호환 리팩터 (핵심)

  • 문제: /api/consult가 28초 서버측 블로킹 폴링 → 게이트웨이 경유 시 503 (긴 응답 못 넘김)
  • 해결: AI 서버의 /api/ask 잡 패턴을 그대로 차용 → interior도 2단 잡 구조
  • POST /api/consult → 즉시 202 {jobId} 반환
  • GET /api/consult-result?id= → 1초 폴링 (프론트), 백그라운드 processConsultJob + 5분 TTL
  • 프론트 chat.js도 단일 fetch → 잡 제출+폴링으로 수정
  • 3. 통합 (index.html)

    • <head> chat.css, </body> 앞 chat.js 로드
    • hero CTA "프로젝트 시작" → "AI 상담 시작하기"(window.openAiChat) 전환, 보조 "직접 신청하기"
    • 우하단 런처 FAB + 챗 패널 마크업, viewport-fit=cover (safe-area)

    검증 결과 (실측)

    • 로컬 9741: 잡 제출 202 + jobId 즉시, 폴링 done ✓
    • 상담 동선: "34평 아파트" → 장희정/나비아키텍처 정확 매칭, 6단계 인지, 포네 1/7 ✓
    • 완료 동선: 정보 일괄 제공 → done:true, 문의 저장(source:ai-consult), 전문가 매칭 ✓
    • 마커 누출 0건, 빈/오류 입력 graceful fallback ✓
    • 게이트웨이(8443) 경유: 잡 제출 + 폴링 done, school→강민서/카이노스플러스 분류 ✓ (503 해소)
    • 정적 자산 chat.css/chat.js 200, CSS 중괄호 균형, 한선씨 컴파일+실행 통과

    관련 파일

    • /Users/ef/crowny-interior/server.js — consultJobs, finalizeConsult, processConsultJob, /api/consult(+result)
    • /Users/ef/crowny-interior/public/chat.js chat.css — 챗 프론트(신규)
    • /Users/ef/crowny-interior/public/style.css — 398행~ 모바일 보강 블록
    • /Users/ef/crowny-interior/public/index.html — 챗 통합
    • /Users/ef/crowny-interior/engine/상담엔진.한선 — 한선씨 동반(신규)
    • /Users/ef/crowny-interior/CLAUDE.md — Phase 4 문서화

    잔여 이슈

    • 모바일은 구조/CSS 검증 완료. 실기기 비주얼 최종 확인 권장(크라우니브라우저 우선)
    • 상담엔진.한선 crownycode-learn add는 intent 형식 검증으로 거부(비차단) — PostToolUse 훅이 자동 학습
    • 게이트웨이 443(외부) trident 헬스 캐시 복구는 gateway 세션 담당. 백엔드 LISTEN/8443 경유는 확인됨
    • 향후: 상담 중 디지털트윈 실시간 견적 카드 인라인 표시, 상담→track.html 추적 연결