🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

cs-autoresponder

by @mupengi-bot

Multi-channel customer service auto-responder with FAQ matching, escalation, and daily summaries.

Versionv1.0.1
Downloads1,033
Installs1
TERMINAL
clawhub install cs-autoresponder

πŸ“– About This Skill


name: cs-autoresponder description: Multi-channel customer service auto-responder with FAQ matching, escalation, and daily summaries. homepage: https://github.com/openclaw/skills metadata: { "openclaw": { "emoji": "🎧", "requires": { "bins": ["node"] }, "install": [ { "id": "node-brew", "kind": "brew", "formula": "node", "bins": ["node"], "label": "Install Node.js (brew)", }, ], }, } disable-model-invocation: true

🎧 CS Auto-Responder

κ³ κ°μ‚¬μš© CS μžλ™μ‘λ‹΅ μŠ€ν‚¬. 멀티채널 고객 문의λ₯Ό μˆ˜μ‹ ν•˜κ³ , FAQ 기반 μžλ™ 응닡, μ—μŠ€μ»¬λ ˆμ΄μ…˜, 일일 μš”μ•½μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

핡심 κΈ°λŠ₯

1. 멀티채널 μˆ˜μ‹  β€” μΉ΄μΉ΄μ˜€ν†‘ μ•Œλ¦Όν†‘, μΈμŠ€νƒ€ DM, 이메일 λ“±μ—μ„œ 고객 문의 감지 2. FAQ λ§€μΉ­ β€” 고객사별 FAQ DB (JSON)μ—μ„œ 의미 기반 λ§€μΉ­ β†’ μžλ™ λ‹΅λ³€ 3. μ—μŠ€μ»¬λ ˆμ΄μ…˜ β€” λ³΅μž‘ν•œ 문의 / 뢈만 감지 μ‹œ 사μž₯λ‹˜ν•œν…Œ Discord/카톑 μ•Œλ¦Ό 4. 응닡 톀 μ»€μŠ€ν…€ β€” 고객사 λΈŒλžœλ“œ 톀에 맞좘 λ‹΅λ³€ 생성 5. 둜그 기둝 β€” λͺ¨λ“  CS λŒ€ν™” 둜그 μ €μž₯ (일별) 6. λŒ€μ‹œλ³΄λ“œ μš”μ•½ β€” 일일 CS μš”μ•½ (총 문의수, μžλ™μ²˜λ¦¬μœ¨, μ—μŠ€μ»¬λ ˆμ΄μ…˜ 건수)

초기 μ„€μ •

1. 고객사 μ„€μ • 파일 생성

cd {baseDir}
cp config/template.json config/고객사λͺ….json

config/고객사λͺ….json νŽΈμ§‘:

  • clientId: 고유 ID
  • name: 고객사 이름
  • channels: 연동할 채널 (kakao, instagram, email)
  • tone: 응닡 톀 (formal, friendly, casual)
  • escalationTarget: Discord 채널 ID λ˜λŠ” 카톑 번호
  • faqPath: FAQ DB 파일 경둜
  • 2. FAQ DB 생성

    cp config/faq-template.json config/고객사λͺ…-faq.json
    

    FAQ ν•­λͺ© μΆ”κ°€ (JSON λ°°μ—΄):

    [
      {
        "id": "faq001",
        "question": "μ˜μ—…μ‹œκ°„μ΄ μ–΄λ–»κ²Œ λ˜λ‚˜μš”?",
        "keywords": ["μ˜μ—…μ‹œκ°„", "λͺ‡μ‹œ", "μ–Έμ œ", "운영"],
        "answer": "μ €ν¬λŠ” 평일 10:00-22:00, 주말 12:00-20:00 μ˜μ—…ν•©λ‹ˆλ‹€.",
        "category": "μš΄μ˜μ •λ³΄"
      }
    ]
    

    μ‚¬μš©λ²•

    채널 λͺ¨λ‹ˆν„°λ§ μ‹œμž‘

    node {baseDir}/scripts/monitor.js --config config/고객사λͺ….json
    

    λ°±κ·ΈλΌμš΄λ“œ μ‹€ν–‰ (pm2 ꢌμž₯):

    pm2 start {baseDir}/scripts/monitor.js --name cs-mufi -- --config config/고객사λͺ….json
    pm2 logs cs-mufi
    

    μˆ˜λ™ 응닡 ν…ŒμŠ€νŠΈ

    node {baseDir}/scripts/respond.js \
      --config config/고객사λͺ….json \
      --channel instagram \
      --user "iam.dawn.kim" \
      --message "μ˜μ—…μ‹œκ°„ μ•Œλ €μ£Όμ„Έμš”"
    

    일일 λŒ€μ‹œλ³΄λ“œ μš”μ•½

    node {baseDir}/scripts/dashboard.js --config config/고객사λͺ….json --date 2026-02-18
    

    좜λ ₯ μ˜ˆμ‹œ:

    πŸ“Š CS λŒ€μ‹œλ³΄λ“œ - MUFI ν¬ν† λΆ€μŠ€ (2026-02-18)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    총 문의수: 47건
    μžλ™ 처리: 38건 (80.9%)
    μ—μŠ€μ»¬λ ˆμ΄μ…˜: 9건 (19.1%)

    μΉ΄ν…Œκ³ λ¦¬λ³„: β€’ μš΄μ˜μ •λ³΄: 18건 β€’ 가격/μ˜ˆμ•½: 15건 β€’ 기술문제: 9건 β€’ 뢈만/ν™˜λΆˆ: 5건

    채널별: β€’ Instagram DM: 28건 β€’ μΉ΄μΉ΄μ˜€ν†‘: 13건 β€’ 이메일: 6건

    평균 μ‘λ‹΅μ‹œκ°„: 3.2초 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    μ—μŠ€μ»¬λ ˆμ΄μ…˜ μˆ˜λ™ λ°œμ†‘

    node {baseDir}/scripts/escalate.js \
      --config config/고객사λͺ….json \
      --channel instagram \
      --user "angry_customer" \
      --message "ν™˜λΆˆ μš”μ²­ν•©λ‹ˆλ‹€" \
      --reason "ν™˜λΆˆ μš”μ²­"
    

    디렉토리 ꡬ쑰

    cs-autoresponder/
    β”œβ”€β”€ SKILL.md
    β”œβ”€β”€ scripts/
    β”‚   β”œβ”€β”€ monitor.js       # 채널 λͺ¨λ‹ˆν„°λ§ 메인 루프
    β”‚   β”œβ”€β”€ respond.js       # FAQ λ§€μΉ­ & μžλ™ 응닡
    β”‚   β”œβ”€β”€ escalate.js      # μ—μŠ€μ»¬λ ˆμ΄μ…˜ μ•Œλ¦Ό
    β”‚   └── dashboard.js     # 일일 μš”μ•½ λŒ€μ‹œλ³΄λ“œ
    β”œβ”€β”€ lib/
    β”‚   β”œβ”€β”€ channels.js      # 채널 μ–΄λŒ‘ν„° (mock API)
    β”‚   β”œβ”€β”€ matcher.js       # 의미 기반 FAQ λ§€μΉ­
    β”‚   └── logger.js        # λŒ€ν™” 둜그 기둝
    β”œβ”€β”€ config/
    β”‚   β”œβ”€β”€ template.json    # 고객사 μ„€μ • ν…œν”Œλ¦Ώ
    β”‚   └── faq-template.json # FAQ DB ν…œν”Œλ¦Ώ
    └── logs/
        └── YYYY-MM-DD/      # 일별 λŒ€ν™” 둜그 (clientId별)
    

    채널 μ–΄λŒ‘ν„° (Mock)

    ν˜„μž¬λŠ” mock API둜 λ™μž‘. Production 연동 μ‹œ lib/channels.js μˆ˜μ •:

  • μΉ΄μΉ΄μ˜€ν†‘: Kakao Alimtalk API
  • Instagram: tools/insta-cli/v2.js ν™œμš©
  • 이메일: himalaya λ˜λŠ” Gmail API
  • 의미 기반 λ§€μΉ­ 둜직

    lib/matcher.jsλŠ” κ°„λ‹¨ν•œ ν‚€μ›Œλ“œ 맀칭을 μ‚¬μš©: 1. 고객 문의λ₯Ό μ†Œλ¬Έμžλ‘œ λ³€ν™˜ 2. FAQ ν‚€μ›Œλ“œμ™€ 비ꡐ (λΆ€λΆ„ 일치) 3. λ§€μΉ­ 점수 계산 (μ—¬λŸ¬ ν‚€μ›Œλ“œ λ§€μΉ­ μ‹œ κ°€μ€‘μΉ˜ 증가) 4. μž„κ³„κ°’(0.6) 이상이면 μžλ™ 응닡, 미만이면 μ—μŠ€μ»¬λ ˆμ΄μ…˜

    Production μ‹œ OpenAI Embeddings λ˜λŠ” Claude ν™œμš© ꢌμž₯.

    μ—μŠ€μ»¬λ ˆμ΄μ…˜ 쑰건

    λ‹€μŒ 쑰건 쀑 ν•˜λ‚˜λΌλ„ ν•΄λ‹Ήν•˜λ©΄ μ—μŠ€μ»¬λ ˆμ΄μ…˜:

  • FAQ λ§€μΉ­ 점수 < 0.6
  • λΆ€μ • ν‚€μ›Œλ“œ 감지 (ν™˜λΆˆ, 뢈만, 화남, 싀망, μ΅œμ•…)
  • 고객이 "λ‹΄λ‹Ήμž", "μ‚¬λžŒ", "사μž₯λ‹˜" μš”μ²­
  • 연속 3회 이상 동일 고객 문의
  • 둜그 ν˜•μ‹

    logs/YYYY-MM-DD/{clientId}.jsonl:

    {"timestamp":"2026-02-18T12:34:56.789Z","channel":"instagram","user":"iam.dawn.kim","message":"μ˜μ—…μ‹œκ°„?","response":"평일 10-22μ‹œ μ˜μ—…ν•©λ‹ˆλ‹€","faqId":"faq001","score":0.85,"escalated":false}
    {"timestamp":"2026-02-18T12:40:11.123Z","channel":"kakao","user":"010-1234-5678","message":"ν™˜λΆˆν•˜κ³  μ‹Άμ–΄μš”","response":null,"faqId":null,"score":0.0,"escalated":true,"reason":"ν™˜λΆˆ ν‚€μ›Œλ“œ"}
    

    μ£Όμ˜μ‚¬ν•­

  • 톀 일관성: 고객사별 톀 섀정을 μ€€μˆ˜ν•˜μ„Έμš”
  • κ°œμΈμ •λ³΄: λ‘œκ·Έμ— λ―Όκ°ν•œ 정보(주민번호, μΉ΄λ“œλ²ˆν˜Έ) μ €μž₯ κΈˆμ§€
  • 응닡 속도: FAQ 맀칭은 3초 이내 응닡 λͺ©ν‘œ
  • μ—μŠ€μ»¬λ ˆμ΄μ…˜ ν”Όλ‘œ: λ„ˆλ¬΄ λ§Žμ€ μ—μŠ€μ»¬λ ˆμ΄μ…˜μ€ ν”Όλ‘œκ° 유발 β†’ FAQ 지속 보강
  • ν™•μž₯ κ°€λŠ₯μ„±

  • [ ] OpenAI Embeddings 기반 의미 λ§€μΉ­
  • [ ] λŒ€ν™” μ»¨ν…μŠ€νŠΈ μœ μ§€ (μ„Έμ…˜ 관리)
  • [ ] A/B ν…ŒμŠ€νŠΈ (응닡 톀 μ‹€ν—˜)
  • [ ] λ©€ν‹°ν„΄ λŒ€ν™” 지원
  • [ ] μžλ™ FAQ ν•™μŠ΅ (κ³ λΉˆλ„ 질문 감지)
  • [ ] 고객 λ§Œμ‘±λ„ μ„€λ¬Έ (응닡 ν›„ 별점)

  • Note: 이 μŠ€ν‚¬μ€ mock API둜 μ œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€. Production ν™˜κ²½μ—μ„œλŠ” μ‹€μ œ 채널 API 연동이 ν•„μš”ν•©λ‹ˆλ‹€.