engine-bot berjalan sebagai dua process di lokal: app (app.js) dan worker (scheduler/worker/worker.js). Worker hanya wajib jika fitur follow-up dipakai.
Prasyarat
Sudah selesai Setup Environment? Pastikan:
config/env.jsada denganenv.env = 'local'- MongoDB lokal berjalan di
127.0.0.1:27017(DBdazo) - Redis lokal di
127.0.0.1:6379(opsional, untuk follow-up) apiKey(OpenAI) terisi — orchestrator akan gagal tanpa ini
Menjalankan app
npm run devScript ini menjalankan nodemon app.js. Server listen di port 1313 (dari env.port saat env.env === 'local').
Verifikasi:
curl http://localhost:1313/healthResponse harus berisi status: "ok" dan redis.healthy: true (jika Redis aktif).
Menjalankan worker
node scheduler/worker/worker.jsWorker mengonsumsi queue followUpAi dari Redis dengan concurrency 10. Tanpa Redis berjalan, worker gagal konek dan follow-up tidak diproses — tapi app tetap berjalan.
PM2 (opsional)
File ecosystem.config.js mendefinisikan app untuk PM2:
pm2 start ecosystem.config.js
pm2 logs engine-botTesting endpoint
Health
curl http://localhost:1313/healthAuth smoke test
curl -X GET http://localhost:1313/api/test \
-H "Authorization: Bearer <jwt>"JWT harus diterbitkan dazoapp dengan jwtSecret yang sama — lihat Auth & JWT.
Chatbot reply
curl -X POST http://localhost:1313/api/chatbot-api \
-H "Authorization: Bearer <jwt>" \
-H "Content-Type: application/json" \
-d '{
"store_id": "store-1",
"customer_id": "628123456789",
"agent_id": "agent-1",
"question": "Halo",
"time_reply": 2
}'Detail endpoint ada di API Reference.
Yang tidak bisa diuji lokal
| Fituri | Keterbatasan |
|---|---|
| Instant payment | Butuh dazoapp + DOKU reachable — base_url harus production atau staging |
| WhatsApp delivery | Butuh messaging API (BASE_URL_SEND_MESSAGE) + device terdaftar |
| RajaOngkir | Butuh apiKey_RajaOngkirV2 valid |
Socket.IO newMessage | Bisa connect, tapi tidak ada auth/tenant room — lihat Conventions |
Setelah mengubah kode JavaScript
Tidak ada test suite. Jalankan minimal:
node --check <file-yang-berubah>Prompt reload
Prompt Markdown di prompt/ dibaca dari filesystem saat agent dibangun (per request). Perubahan prompt berlaku pada request berikutnya — restart tidak diwajibkan oleh loader saat ini.
Langkah berikutnya
- Akan deploy? Baca Deployment.
- Cara kerja agent? Baca Agent Architecture.
- Detail endpoint? Baca API Reference.