Masuk

Dashboard internal pemakaian AI Oya Creative

{{ loginError }}
Akses terbatas untuk tim internal
{{ crumb }}

WhatsApp Gateway

Bot {{ botLabel }} · pemindaian QR dan percakapan pelanggan

{{ wp.status==='connected' ? 'Terhubung' : (wp.status==='connecting' ? 'Menghubungkan' : 'Terputus') }}
QR Code WhatsApp

Scan QR ini lewat WhatsApp → Perangkat Tertaut

Ringkasan Statistik AI

Snapshot {{ fmtSnap(stats.meta.generated_at) }} · {{ stats.services.length }} layanan terpasang

Pemakaian token dan biaya layanan AI

{{ statsError }}
Request
{{ fmtN(stats.totals.requests) }}
{{ fmtN(stats.totals.errors) }} error
Token
{{ fmtTok(stats.totals.promptTokens + stats.totals.completionTokens) }}
prompt {{ fmtTok(stats.totals.promptTokens) }} · completion {{ fmtTok(stats.totals.completionTokens) }}
Token cache
{{ fmtTok(stats.totals.cachedTokens) }}
{{ pct(stats.totals.cachedTokens, stats.totals.promptTokens) }}% dari prompt
Biaya
{{ fmtRp(stats.totals.cost) }}
${{ Number(stats.totals.cost).toFixed(4) }} · kurs {{ fmtN(usdIdr) }}

Token per Hari

Total prompt + completion, 30 hari terakhir (WIB)
{{ (d.prompt+d.completion)>0 ? fmtTok(d.prompt+d.completion) : '—' }}
{{ d.day.slice(8,10) }}/{{ d.day.slice(5,7) }}
Belum ada data
Statistik muncul setelah router mencatat pemakaian.

Token per 3 Jam

Prompt + completion · {{ token3hRange === '24h' ? '24 jam terakhir' : '7 hari terakhir' }} (WIB) · geser grafik →
{{ b.total>0 ? fmtTok(b.total) : '—' }}
{{ b.label }}
Belum ada data
Snapshot 3 jam terisi otomatis tiap 5 menit.
Prompt Completion

WhatsApp Masuk

Pesan masuk per hari · 7 hari terakhir (WIB)
{{ fmtN(waToday) }} hari ini
{{ d.total>0 ? fmtN(d.total) : '—' }}
{{ waLabel(d.day) }}
Belum ada data
Data diambil dari database chat bot WhatsApp.
Total pesan masuk (WA 1 + WA 2)

Status VPS

{{ extra.system.hostname }} · {{ extra.system.cores }} vCPU · sampel langsung
Online
CPU {{ fmtPct(extra.system.cpu_percent) }}
Load {{ extra.system.load.join(' / ') }} · {{ extra.system.cores }} core
RAM {{ fmtPct(extra.system.ram_percent) }}
{{ fmtBytes(extra.system.ram_used) }} / {{ fmtBytes(extra.system.ram_total) }}
Disk {{ fmtPct(extra.system.disk_percent) }}
{{ fmtBytes(extra.system.disk_used) }} / {{ fmtBytes(extra.system.disk_total) }}
Uptime {{ fmtUptime(extra.system.uptime) }}
Server aktif sejak boot terakhir

Layanan AI

Pemakaian per layanan pada rentang {{ rangeLabel }}

Daftar Layanan

{{ layanan.services.length }} layanan terpasang
LayananRequestPromptCompletionCacheBiayaStatus
{{ s.name }}
{{ s.kind === 'node' ? 'node kustom' : 'konektor' }}
{{ fmtN((layanan.svcWin[s.provider]||{}).req) }} {{ (layanan.svcWin[s.provider]||{}).errors }} err {{ fmtTok((layanan.svcWin[s.provider]||{}).prompt) }} {{ fmtTok((layanan.svcWin[s.provider]||{}).completion) }} {{ fmtTok((layanan.svcWin[s.provider]||{}).cached) }} {{ fmtRp((layanan.svcWin[s.provider]||{}).cost) }} {{ s.active ? 'aktif' : 'nonaktif' }}
Belum ada layanan

Model & Combo

Model yang terpakai beserta rantai fallback yang aktif di router

Model Terpakai

{{ models.models.length }} model · 30 hari terakhir
ModelLayananReqTokenBiaya
{{ m.model }} {{ models.svcName[m.provider] || m.provider }} {{ fmtN(m.req) }} {{ fmtTok(m.prompt + m.completion) }} {{ fmtRp(m.cost) }}
Belum ada model

Combo & Routing

{{ models.combos.length }} combo · rantai fallback router
{{ c.name }} · {{ c.models.length }} model
{{ mm }}
Belum ada combo
Combo dibuat di router, lalu muncul di sini.

Kunci API

Pemakaian per kunci · nilai disamarkan oleh router

Daftar Kunci

{{ kunci.keys.length }} kunci terdaftar
NamaKunciReqBiayaStatus
{{ k.name }} {{ k.k }} {{ fmtN(k.requests) }} {{ fmtRp(k.cost) }} {{ k.active ? 'aktif' : 'nonaktif' }}
Belum ada kunci

100 Request Terakhir

Langsung dari router, bukan angka agregat

Log Request

{{ log.recent.length }} baris terakhir
WaktuLayananModelKunci PromptCompletionCacheBiayaStatus
{{ fmtWib(r.ts) }} {{ log.svcName[r.provider] || r.provider }} {{ r.model }} {{ r.key_name }} {{ fmtTok(r.prompt) }} {{ fmtTok(r.completion) }} {{ fmtTok(r.cached) }} {{ fmtRp(r.cost) }} {{ r.status }}
Belum ada log