← 返回 Skills 市场
mupengi-bot

cs-autoresponder

作者 mupengi-bot · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
672
总下载
0
收藏
1
当前安装
2
版本数
在 OpenClaw 中安装
/install cs-autoresponder
功能描述
Multi-channel customer service auto-responder with FAQ matching, escalation, and daily summaries.
使用说明 (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 연동이 필요합니다.

安全使用建议
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.
功能分析
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.
能力评估
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.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install cs-autoresponder
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /cs-autoresponder 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
보안: 실제 채널ID 제거, 플레이스홀더로 교체
v1.0.0
Initial release - 고객사용 스킬
元数据
Slug cs-autoresponder
版本 1.0.1
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 2
常见问题

cs-autoresponder 是什么?

Multi-channel customer service auto-responder with FAQ matching, escalation, and daily summaries. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 672 次。

如何安装 cs-autoresponder?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install cs-autoresponder」即可一键安装,无需额外配置。

cs-autoresponder 是免费的吗?

是的,cs-autoresponder 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

cs-autoresponder 支持哪些平台?

cs-autoresponder 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 cs-autoresponder?

由 mupengi-bot(@mupengi-bot)开发并维护,当前版本 v1.0.1。

💬 留言讨论