← Back to Skills Marketplace
mupengi-bot

cs-autoresponder

by mupengi-bot · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
672
Downloads
0
Stars
1
Active Installs
2
Versions
Install in OpenClaw
/install cs-autoresponder
Description
Multi-channel customer service auto-responder with FAQ matching, escalation, and daily summaries.
README (SKILL.md)

🎧 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 매칭 점수 \x3C 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 연동이 필요합니다.

Usage Guidance
This skill appears internally consistent and operates as a local, mock-based CS responder. Before using in production: (1) review and replace the mock adapters in lib/channels.js with secure, well-audited integrations for Instagram/Kakao/Email; avoid hardcoded absolute paths (example paths in README are personal examples). (2) When enabling real integrations you will need credentials (API keys, email passwords, Discord webhook IDs) — store those in a secrets manager or environment variables and avoid committing them to repo. (3) Verify logfile location and filesystem permissions (config.logging.logDir) and ensure logs do not contain sensitive PII per the project's own warning. (4) Inspect any uncommented use of child_process/exec or external CLI you intend to enable; the shipped code has only commented exec examples, but enabling them could introduce command injection risks if user input is passed unsafely. (5) Run the monitor/respond scripts in a sandboxed environment (or test tenant) while you adapt channel adapters and validate behavior.
Capability Analysis
Type: OpenClaw Skill Name: cs-autoresponder Version: 1.0.1 The skill bundle contains patterns that facilitate Remote Code Execution (RCE) vulnerabilities. Specifically, 'lib/channels.js' and 'scripts/escalate.js' include commented-out examples and documentation suggesting the use of 'child_process.exec' to run local CLI tools (e.g., 'insta-cli/v2.js') using unsanitized user input from customer messages. While these are currently placeholders for 'Production' use, they provide a blueprint for a high-risk shell injection vulnerability. Additionally, the code contains hardcoded developer environment paths ('/Users/mupeng/...') and lacks input validation for data passed to shell-adjacent functions.
Capability Assessment
Purpose & Capability
Name/description (multi-channel FAQ responder, escalation, daily summaries) align with the provided scripts and libraries. Required binary (node) and the brew install of node are appropriate and proportional to the stated purpose.
Instruction Scope
SKILL.md and the CLI scripts limit actions to reading a local config/FAQ, polling mock channel adapters, generating responses, sending mock notifications, and writing local JSONL logs. The runtime instructions do not direct the agent to read unrelated system files or exfiltrate data. There are commented examples showing how to replace mocks with production integrations (external CLI, Kakao/Discord/Gmail APIs) — these are examples only and not executed by the shipped code.
Install Mechanism
Install spec only installs Node via Homebrew (well-known package manager). No downloads from unknown URLs or archive extraction are present. The project contains source files only and does not pull arbitrary remote code at install time.
Credentials
The skill declares no required environment variables or credentials. The codebase contains commented examples that reference potential env usage (e.g., EMAIL_PASSWORD in a commented nodemailer snippet), but these are not required by the shipped code. No unrelated credentials are requested.
Persistence & Privilege
The skill is not force-included (always:false) and model invocation is disabled (disable-model-invocation:true), so it will only run when the user explicitly invokes the CLI scripts. It does not modify other skills or system-wide configurations.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install cs-autoresponder
  3. After installation, invoke the skill by name or use /cs-autoresponder
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
보안: 실제 채널ID 제거, 플레이스홀더로 교체
v1.0.0
Initial release - 고객사용 스킬
Metadata
Slug cs-autoresponder
Version 1.0.1
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 2
Frequently Asked Questions

What is cs-autoresponder?

Multi-channel customer service auto-responder with FAQ matching, escalation, and daily summaries. It is an AI Agent Skill for Claude Code / OpenClaw, with 672 downloads so far.

How do I install cs-autoresponder?

Run "/install cs-autoresponder" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is cs-autoresponder free?

Yes, cs-autoresponder is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does cs-autoresponder support?

cs-autoresponder is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created cs-autoresponder?

It is built and maintained by mupengi-bot (@mupengi-bot); the current version is v1.0.1.

💬 Comments