Customer Engagement Platform for Email, Push Notifications, & SMS
The world's leader for mobile push notifications, web push, SMS, email and in-app messaging. Trusted by 2 million+ businesses to send 12 billion+ messages per…
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
SiteBot — Website AI Assistant (Portfolio Demo)
Small businesses get the same repetitive questions on their website: hours, pricing, insurance, booking. SiteBot is a embeddable chat assistant that answers only from the company’s own documents, cites the source, and captures leads when it cannot help or detects buying intent.
Sample business: Bright Smile Dental Clinic — entirely fictional sample data for this demo.
• Visitors leave when they cannot find answers quickly.
• Owners cannot staff live chat 24/7.
• Generic chatbots invent facts; SiteBot is doc-grounded and refuses to guess.檢視完整 README ↗Small businesses get the same repetitive questions on their website: hours, pricing, insurance, booking. SiteBot is a embeddable chat assistant that answers only from the company’s own documents, cites the source, and captures leads when it cannot help or detects buying intent.
Sample business: Bright Smile Dental Clinic — entirely fictional sample data for this demo.
| Area | Behavior |
|---|---|
| Knowledge | Ingest Markdown, PDF, HTML, and plain text into a local retrieval index |
| Answers | Offline BM25-style search (MiniSearch) + templated excerpts with source citations |
| LLM (optional) | Set LLM_BASE_URL, LLM_API_KEY, LLM_MODEL for OpenAI-compatible APIs |
| Honesty | Low-confidence or missing docs → “I don’t know” + lead form |
| Leads | Name, email, need; email validation; SQLite + CSV by default |
| Integrations | Pluggable Google Sheets and HubSpot adapters (disabled by default) |
| Embed | One script tag adds a chat bubble |
| Admin | Conversations, leads, re-index, edit greeting & handoff email (HTTP Basic when ADMIN_PASSWORD is set) |
| Safety | Rate limits, injection-resistant LLM system prompt, no secrets in widget, CORS allowlist |
| Demo site + widget | Answered question | Lead fallback | Admin |
|---|---|---|---|
<script src="https://YOUR-DEPLOYED-HOST/widget.js" data-bot-id="bright-smile-demo"></script>
Locally:
<script src="http://localhost:3000/widget.js" data-bot-id="bright-smile-demo"></script>
npm install
npm run demo
npm run demo builds the retrieval index and starts Next.js. No API keys required.
ADMIN_PASSWORD | Behavior |
|---|---|
| Unset (default for public demo) | /admin is read-only demo mode: sample leads/conversations only, no settings or re-index writes |
| Set | /admin and /api/admin/* require HTTP Basic auth (any username, password = ADMIN_PASSWORD); real leads and writes enabled |
Do not expose a password-protected admin on the public internet without TLS (Vercel provides HTTPS).
npm test
npx playwright install chromium
npm run screenshots
data/bots/bright-smile-demo.json to a new bot id (e.g. my-shop.json).docsPath at your folder of .md, .txt, .html, .pdf files.BOT_ID=my-shop npm run ingest.data-bot-id="my-shop".allowedOrigins in the bot JSON (or set ALLOWED_ORIGINS env var).Re-index from the admin UI or:
curl -X POST http://localhost:3000/api/admin/reindex -H 'Content-Type: application/json' -d '{"botId":"bright-smile-demo"}'
export LLM_BASE_URL=https://api.openai.com/v1
export LLM_API_KEY=sk-...
export LLM_MODEL=gpt-4o-mini
npm run demo
Answers still use retrieved passages in the prompt; the system instructions forbid hallucination.
Default: data/leads.db (SQLite) and append-only data/leads.csv.
Google Sheets (off by default): see docs/integrations/google-sheets.md
HubSpot (off by default): see docs/integrations/hubspot.md
vercel.json included).ADMIN_PASSWORD unset for the portfolio demo (read-only admin with sample data).ALLOWED_ORIGINS to your customer sites (comma-separated URLs). Vercel preview/production URLs are added automatically..env.example.https://<project>.vercel.app/widget.js in the embed snippet.Vercel notes:
npm run build runs ingest and commits/updates data/index/ — search works on serverless without runtime writes.persistenceNote explaining this. For production, enable Sheets/HubSpot sinks or a hosted database.public/widget.js — embeddable bubble (no secrets)data/sample-business/ — fictional Bright Smile docsdata/index/ — generated retrieval index (created by npm run ingest)src/app/api/ — chat, leads, widget config, admin APIssrc/lib/ — ingestion, retrieval, offline/LLM answering, lead storeMIT (portfolio demo).