크라우니AI 주도적 서비스 소개 백엔드 (2026-06-13)
개요
crowny.org:9852 크라우니AI에 "주도적으로 먼저 권유"하는 서비스 소개 기능을 추가했다.
기존에는 맥락에서만 언급했지만, 이제 첫 대화 시 자동 미리보기, 이후 의도 매칭 시 1~2개 권유.
작업 내용
1. 서비스 카탈로그 확장 (server.js:126~152)
SERVICES_DIR에 5개 추가 (기존 20개 → 25개):
- book (book.crowny.org:9931) — 책 쇼핑 & 하마성경 연동
- tiomta (tiomta.com:9878) — 크라우니월드 표준 브랜드
- ecosystem (ecosystem.crowny.org:9783) — 크라우니 생태계 통합 진입점
- trader (trader.crowny.org:7741) — 프랍 트레이딩 전문 플랫폼
- finance (finance.crowny.org:9754) — 금융 통합 대화 서비스
2. buildServiceIntro() 추가 (server.js, AGENTS 정의 직전)
INTENT_SERVICE_MAP: 의도→서비스ID 목록 매핑 (6 의도 카테고리)
AGENT_FEATURED: 에이전트별 기본 추천 3개
isGreeting(): 인사성 첫 메시지 감지 (60자 이하 + 패턴매칭)
buildServiceIntro(agentId, intent, domains, history):
histLen==0: 에이전트별 featured 3개 → 첫 소개 컨텍스트
histLen 1~4 + 의도 매칭: 관련 서비스 1~2개 → 연관 소개 컨텍스트
histLen>4: 빈 문자열 (반복 권유 금지)
기존 extras 4번째 항목으로 append:
jsconst serviceIntroCtx = buildServiceIntro(body.agent || 'friends', filt.intent, filt.domains, body.history);
const extras = [knowledgeContext..., humanCtx, semCtx, serviceIntroCtx].filter(Boolean).join('\n\n');
4. 한선씨 동반 파일 (서비스소개.한선)
- 서비스 카탈로그 25개 배열 정의
- 서비스인덱스() / 서비스줄() / 추천멘트() / 소개추천() 함수
- 컴파일 + 실행 검증 완료
관련 파일
- /Users/ef/crowny-ai/server.js (126~152: 카탈로그, 188~258: buildServiceIntro, 641: extras)
- /Users/ef/crowny-ai/서비스소개.한선 (신규, 컴파일 검증)
- /Users/ef/crowny-ai/CLAUDE.md (참조)
적용 시점
라이브 서버(uptime ~97837s)는 재시작 않음. 다음 자연 재기동 시 자동 반영.
현재 /api/services는 여전히 20개 (재기동 후 25개).
잔여 이슈
- 관성측정 isGreeting()이 JS에만 있고 의미어필터와 연동 안 됨 — 추후 semantic-filter.js에 merge 가능
- 프론트(public/index.html)에서 첫 메시지 전 서비스 미리보기 UI는 다른 세션 담당