KopiBot AI / Dokumentasi HTML
Semua Dokumen GitHub Repo Kembali ke Landing Page
☕ AI Agent Coffee Shop Commerce Platform

Platform AI untuk otomatisasi order, customer service, loyalty customer, Customer CRM, Customer Portal, dan manajemen multi cabang coffee shop.

🚀 Features

  • AI Chatbot Order Menu
  • WhatsApp / Telegram / Discord Integration
  • Multi Branch Management
  • AI Upselling & Promo Recommendation
  • Order via Website & Chat Apps
  • Variant Product & Topping Support
  • Loyalty Point, Customer CRM, dan Customer Portal
  • Multi Currency, Tax & Timezone
  • AI Customer Interaction Automation

💻 Tech Stack

PHP Native • MySQL • OpenAI • Anthropic
WhatsApp Gateway • REST API • LLM AI

☕ Suitable For

Coffee Shop • Cafe • Restaurant • Bakery • Beverage Store

Dibuat & Dikembangkan oleh

Kukuh TW

📧 Email: kukuhtw@gmail.com

📱 WhatsApp: wa.me/628129893706

🌄 Instagram: @kukuhtw

X/Twitter: @kukuhtw

Facebook: facebook.com/kukuhtw

LinkedIn: linkedin.com/in/kukuhtw

GitHub: github.com/kukuhtw/toko_kopi

🌐 Demo: botlelang.com/toko_kopi

© 2026 Kukuh TW. All rights reserved.

Markdown ke HTML

Dokumen ini menjelaskan alur end-to-end chat customer dan titik penerapan entity extraction, retrieval menu/promo, dan skill order.

Chatbot Flow And Entities

Dokumen ini menjelaskan alur end-to-end chat customer dan titik penerapan entity extraction, retrieval menu/promo, dan skill order.

Ringkasan

Diagram

flowchart TD
    A[Customer Message] --> B[ChatbotEngine]
    B --> C[Hook: chat.before_ai]
    C --> D[ChatEntityExtractor]
    C --> E[IntentDetector / LlmIntentDetector]
    D --> F[Context Builder]
    E --> F
    F --> G{Dispatch Skill}

    G --> H[MenuSkill]
    G --> I[PromoSkill]
    G --> J[CartSkill]
    G --> K[CheckoutSkill]

    H --> H1[MenuModel.searchRelevantByName]
    H --> H2[MenuRagResponder]
    H --> H3[Budget Filter by effective_price]

    I --> I1[PromoModel.getActiveForBranch]
    I --> I2[PromoRagResponder]

    J --> J1[Resolve product from extracted entities]
    J --> J2[Resolve variant]
    J --> J3[Resolve toppings]
    J --> J4[CartModel mutations]

    H1 --> L[(Menu + Variant + Topping Data)]
    H2 --> L
    I1 --> M[(Promo Data)]
    J4 --> N[(Cart Data)]

    N --> O[Reply Message]
    H --> O
    I --> O
    K --> O

Detail Entity Extraction

ChatEntityExtractor bekerja sebelum dispatch skill, lalu hasilnya dimasukkan ke context['entities'].

Contoh struktur:

[
  'products' => [
    [
      'name_candidate' => 'latte',
      'qty' => 2,
      'variant_label' => 'large',
      'mentioned_price' => 30000.0,
      'mentioned_currency' => 'IDR',
    ],
  ],
  'prices' => [
    ['amount' => 30000.0, 'currency' => 'IDR', 'raw' => 'Rp30.000'],
  ],
  'currencies' => [
    ['code' => 'IDR', 'source' => 'text'],
  ],
  'primary_currency' => 'IDR',
  'budget' => [
    'operator' => 'lte',
    'amount' => 30000.0,
    'currency' => 'IDR',
  ],
]

Titik Penerapan

1. Menu Retrieval

2. Promo Retrieval

3. Cart Mutation

Catatan Penting