pertanyaan dijawab, penjualan selamatchat-nya nggak butuh banner cookieanggota tim tanpa batasbalas dari slack atau app kami

/blog / panduan

tambahkan live chat ke situs buatan lovable, bolt, atau v0

· oleh kuba · 6 menit baca

Tumpukan bingkai website kecil yang disusun seperti balok mainan, dengan kucing Spookat duduk di puncaknya.

Kamu membangun situs dengan mendeskripsikannya, jadi tambahkan chat dengan cara yang sama. Panduan ini memberimu prompt untuk Lovable, Bolt, atau v0, menunjukkan di mana snippet seharusnya berada di kode yang mereka buat, dan cara mengecek di situs yang sudah dipublikasikan bahwa tidak ada yang dimuat sebelum klik.

apa yang dibuat alat-alat ini

Dari kotak chat-nya ketiga alat ini terlihat mirip, tapi mereka menulis jenis proyek yang berbeda, dan itulah yang menentukan di mana satu tag script ditaruh:

  • Lovable membuat aplikasi Vite dengan React. Ada index.html di root proyek; itulah halaman tempat setiap route dirender.
  • Bolt membuat apa pun yang kamu minta. Kebanyakan proyeknya aplikasi Vite dengan index.html; sebagian Next.js, Astro, atau HTML biasa (yang terakhir dibahas di panduan HTML biasa).
  • v0 membuat Next.js dengan app router. Halaman bersamanya adalah app/layout.tsx.

Chat butuh satu tag di setiap halaman. Di single-page app, artinya index.html. Di Next.js, root layout. Tidak di tempat lain.

sebelum mulai: domain

Spookat mengikat sebuah situs ke domainnya. Chat hanya terhubung dari domain itu dan subdomainnya, dan itu salah satu alasan tidak ada yang bisa menyalin snippet-mu ke situs mereka sendiri.

Dengan alat-alat ini hal itu penting, karena proyekmu tinggal di beberapa alamat:

  • preview di dalam alat, di domain milik alat itu
  • alamat publikasi yang diberikan alat, biasanya subdomain miliknya
  • domain sendiri, kalau kamu sudah menghubungkannya

Daftarkan situs dengan alamat yang akan dipakai pengunjung. Kalau itu domain sendiri, pakai itu; www dan subdomain lainnya ikut terhitung. Kalau kamu memublikasikan di subdomain milik alat, daftarkan subdomain lengkap itu, bukan domain utama alatnya. Di preview alat, launcher muncul, tapi chat tidak terhubung. Tes di situs yang sudah dipublikasikan.

prompt-nya

Pertama, kamu butuh site key. Di dashboard Spookat, tambahkan situs dengan domain yang benar; halaman instalasi menampilkan snippet-nya. Lalu tempel ini di chat alatnya, dengan key kamu di tempat YOUR_SITE_KEY:

Add this live chat script to every page of the site. It must be exactly one tag, loaded once, right before the closing </body> tag of the shared HTML (index.html in a Vite app, the root layout in Next.js). Keep the async attribute. Do not wrap it in a React component, do not add it to individual pages, do not preload anything.

<script src="https://cdn.spookat.com/s/YOUR_SITE_KEY.js" async></script>

Prompt-nya sengaja sespesifik itu. Alat-alat ini senang membantu, dan “tambahkan widget chat” bisa berubah jadi komponen React baru, tombol melayang buatan sendiri, atau tag yang ditempel di lima halaman. Satu tag di satu tempat sudah cukup untuk Spookat: launcher menggambar tombolnya sendiri.

tampilannya, di prompt yang sama

Tampilan widget diatur di dashboard Spookat dan terbawa di dalam launcher, jadi alat tidak perlu tahu apa-apa soal itu. Kalau kamu lebih suka menyimpannya di kode, tambahkan baris kedua di prompt:

Above that script, add: <script>window.Spookat = { style: "clean", accent: "#2F6FEB", side: "right" };</script>

Ada 8 style. accent adalah warna brand-mu dalam hex; warna teks di atasnya dipilih berdasarkan kontras. Dokumentasi mendaftar semua key.

di mana seharusnya berada

Buka tampilan kode dan cek. Di aplikasi Vite (Lovable, kebanyakan proyek Bolt), index.html seharusnya berakhir seperti ini:

    <div id="root"></div>
    <script type="module" src="/src/main.tsx"></script>
    <script src="https://cdn.spookat.com/s/YOUR_SITE_KEY.js" async></script>
  </body>
</html>

Di Next.js (v0, sebagian proyek Bolt), app/layout.tsx mendapat tag di dalam <body>, setelah {children}:

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        {children}
        <script src="https://cdn.spookat.com/s/YOUR_SITE_KEY.js" async></script>
      </body>
    </html>
  );
}

Kalau alatnya malah memakai next/script, itu juga tidak masalah, dengan strategy="afterInteractive" atau "lazyOnload". Yang tidak ingin kamu lihat:

  • tag di dalam komponen halaman, seperti Home.tsx atau app/page.tsx: chat hanya ada di halaman itu
  • useEffect yang membuat elemen script: berfungsi, tapi kodenya lebih banyak untuk tag yang sama
  • tombol atau panel chat yang digambar sendiri oleh alat: hapus, Spookat membawa miliknya sendiri

Kalau ada yang salah, bilang dalam satu kalimat: “Remove the chat code you added and put only the script tag in index.html.” Alat-alat ini cukup bagus memperbaiki hal seperti ini kalau instruksinya konkret.

publikasikan, lalu cek

Publikasikan situs dan buka alamat publikasinya di jendela private. Buka DevTools:

  1. Network, centang “Disable cache”, reload, lalu ketik spookat di filter. Kamu seharusnya melihat satu request: launcher dari cdn.spookat.com, sekitar 2 kb. Dua, keduanya dari cdn.spookat.com, kalau kodemu mengatur style di window.Spookat yang berbeda dari yang kamu publish. Tidak ada ke api.spookat.com.
  2. Application, cookie dan local storage: tidak ada dari Spookat.
  3. Klik launcher. Panel dimuat dari CDN. Tulis pesan tes. Kalau Slack atau Discord sudah terhubung, pesan muncul di sana; balas dan lihat balasannya sampai di widget.

Kalau launcher sama sekali tidak muncul, tag-nya tidak masuk ke build yang dipublikasikan. Cek lagi tampilan kodenya. Kalau launcher muncul tapi chat tidak bisa terhubung, domain di dashboard tidak cocok dengan alamat yang sedang kamu buka.

Panduan utama menjelaskan setiap pengecekan ini lebih detail.

hubungkan balasannya

Chat seharusnya menjangkaumu di tempat kamu sudah berada. Hubungkan Slack atau Discord di dashboard, pilih channel, dan setiap pengunjung mendapat thread sendiri. Panduan Slack dan panduan Discord membahas detailnya.

kenapa tidak biarkan alatnya membuat chat

Kamu bisa saja memintanya. Alat itu akan membuat panel cantik dengan kotak teks dalam hitungan menit. Lalu pertanyaan mulai berdatangan: ke mana pesannya pergi, siapa yang diberi notifikasi, bagaimana balasan sampai ke pengunjung yang sudah menutup tab, bagaimana dengan spam, siapa yang menjaganya tetap jalan. Itu berarti server, database, integrasi Slack, dan pipeline email, dan tidak ada satu pun yang merupakan produk yang sedang kamu bangun.

Spookat hanya satu tag, harganya $4.99 per bulan per situs di starter, dan trial-nya 14 hari tanpa kartu.

kalau kamu pakai claude code atau cursor

Ekspor proyek ke repo dan biarkan coding agent mengerjakannya dengan server MCP Spookat. Agent juga bisa menyesuaikan widget dengan warna situsmu dan mengatur semuanya tanpa kamu menyalin key. Panduan Claude Code membahasnya langkah demi langkah.

samakan tampilannya dengan situs hasil generate

Alat-alat ini cenderung menghasilkan gaya yang mudah dikenali: sans-serif yang bersih, bayangan lembut, kartu membulat, satu warna aksen. Widget-nya harus terlihat seperti bagian dari situs, bukan stiker dari situs lain.

  • Style. Untuk tampilan hasil generate yang umum, mulai dengan clean atau soft. Kalau situsmu lebih gelap dan teknis, coba terminal. Kalau kamu memberinya tampilan tegas dan datar, brutal atau swiss. Kamu bisa mengganti di dashboard dan melihat masing-masing di preview langsung sebelum memublikasikan.
  • Aksen. Pakai hex yang sama dengan tombolmu. Alatnya biasanya menyimpannya di config Tailwind atau variabel CSS; tanya saja “what is the primary color’s hex?”
  • Font. system tidak mengunduh apa pun dan cukup mirip dengan kebanyakan situs hasil generate. Kalau situsmu memakai font tertentu dan kami meng-host-nya, pilih font itu; font hanya dimuat setelah klik.
  • Sisi. Kalau alat menaruh tombol melayang miliknya sendiri di kanan bawah (panah kembali ke atas, ikon pengaturan cookie), taruh launcher di kiri.

yang dilihat pengunjungmu

Tombol kecil di pojok, dengan warnamu. Tidak ada yang terjadi sampai mereka mengklik. Lalu panel terbuka dengan sapaanmu dan satu baris yang bilang bahwa manusia yang membalas. Mereka mengetik, dan pesannya masuk ke thread Slack atau Discord kamu, atau ke inbox kami dan aplikasi ponselnya. Kalau mereka pergi sebelum kamu membalas, mereka bisa meninggalkan email; di pro, balasannya menyusul ke sana. Widget memakai bahasa browser mereka, salah satu dari 12, kecuali kamu menetapkan bahasanya.

setelah alat melakukan generate ulang

Alat-alat ini menulis ulang file. Perubahan besar di layout (“jadikan dashboard”, “ganti ke dark mode”) bisa diam-diam menghapus tag dari index.html atau root layout. Setelah generate ulang yang besar, buka situs yang dipublikasikan dan cek apakah launcher masih ada. Kalau hilang, prompt yang sama memasangnya lagi.

lebih dari satu proyek

Dengan alat-alat ini, memulai situs kedua dan ketiga itu murah. Di Spookat masing-masing adalah situs terpisah, dengan key, domain, tampilan, dan channel sendiri, jadi chat tidak pernah masuk ke thread proyek yang salah. Situs pertama di sebuah akun membayar harga penuh; setiap situs lain di akun yang sama yang kamu bayar lewat Spookat mendapat potongan 30%, di semua paket. Beberapa situs bisa berbagi satu channel Slack atau Discord kalau yang membalas orangnya sama, tapi kartu hanya menunjukkan path halaman, bukan dari situs mana chat itu datang. Beri setiap situs channel sendiri kalau kamu perlu membedakannya.

checklist

  • Situs terdaftar dengan alamat yang dipakai pengunjung.
  • Satu tag, async, di index.html atau root layout.
  • Tidak ada tombol atau komponen chat buatan alat itu sendiri.
  • Dites di situs yang dipublikasikan, bukan di preview.
  • Satu request sebelum klik (dua, keduanya dari cdn.spookat.com, kalau kodemu mengatur style yang tidak kamu publish), tanpa cookie.
  • Slack atau Discord terhubung.

Deskripsikan, publikasikan, cek. Lalu jawab pertanyaan pertama dari sebuah thread.

suka? masuk daftar tunggu.

undangan dikirim bertahap. begitu punyamu datang: gratis 14 hari, tanpa kartu.

kami cuma mengirim email soal undanganmu dan peluncuran. kamu bisa berhenti kapan saja. privasi