Chatbase's core is retrieval over your own pages: crawl the site, split and embed the text, find the closest passages for each question and let a model answer from them in a chat bubble. That is a well-worn pattern an agent builds in one sitting on SQLite and any OpenAI-compatible API, with the widget served from a small VPS. The paid plans earn their price with the parts around it: hand-off to people, actions in Stripe or Shopify, WhatsApp and phone channels, analytics and someone else keeping it up.
Before you buildChatbase still has a small free plan behind the scenes, and a 7-day trial on paid plans; try it on your own site first to see which answers matter.
Build me a self-hosted support bot for my website to replace Chatbase. Requirements: - Node.js 22 + TypeScript with Fastify; `npm start` serves http://localhost:4900. - Ingest: crawl one site from a start URL or its sitemap.xml (same domain, respect robots.txt, 500 pages max), plus PDF (`pdf-parse`), Markdown and text uploads. Pull the main text with `@mozilla/readability` and `jsdom`, split it into ~800-token chunks with 100 tokens of overlap. - Storage: better-sqlite3 with the `sqlite-vec` extension in ./data/bot.db for sources, chunks, embeddings, conversations and Q&A overrides. - Answering: embed the question, take the 6 closest chunks and call an OpenAI-compatible chat model (base URL, key, chat and embedding model names in .env). The system prompt says to answer only from the sources, say "I don't know" otherwise, and cite the page URLs it used. Stream the reply over SSE. - Widget: one script tag (<script src="https://my-host/widget.js" data-bot="default">) that adds a chat bubble inside a shadow DOM, with my colour, greeting and three starter questions. - Admin at /admin behind a password from .env: sources with a re-crawl button, the conversation log with thumbs up/down, and a form to correct an answer; corrections are saved as Q&A pairs and checked before the vector search. - Limits: 20 messages per visitor IP per hour, 1,000 characters per message, a CORS allow-list of my domains, and a monthly token budget that switches the bot to a fallback message. - No visitor accounts, no telemetry; everything lives in one SQLite file. - Out of scope: WhatsApp and Messenger channels, voice, helpdesk hand-off, multiple workspaces. - README: setup, deploying behind HTTPS on a small VPS with Caddy, and the token cost per 1,000 messages for the model I pick.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Chatbase.
Add a human hand-off to the support bot in this folder. Requirements: - When the bot answers "I don't know" twice in a conversation, or the visitor clicks "Talk to a person", ask for an email address in the widget. - Send me the conversation so far by email through SMTP settings in .env (`nodemailer`), with a reply-to set to the visitor's address. - Mark the conversation as handed off in /admin, with a filter for open hand-offs. - Optional: post the same summary to a Slack incoming webhook if SLACK_WEBHOOK_URL is set. - Update the README.
Add lead capture to the support bot in this folder. Requirements: - When a question matches topics I list in /admin (for example pricing, demo, quote), the bot answers and then offers a short form inside the widget: name, email, one free-text field. - Validate the email, store leads in SQLite with the conversation id and the page URL. - A Leads page in /admin with date filters and CSV export. - Never ask twice in the same conversation; show a consent line with a link to my privacy page. - Update the README.
Add scheduled re-crawling to the support bot in this folder. Requirements: - Re-read the sitemap every night at 03:00 (node-cron), compare each page's text hash with the stored one, and re-embed only pages that changed; delete chunks of pages that disappeared. - Log what changed and show the last run in /admin. - A per-source switch to exclude paths such as /blog or /careers. - Update the README.
Add a Chatbase import to the support bot in this folder. Requirements: - A command `bot import-chatbase <file>` that reads the JSON or CSV conversation export from Chatbase (Activity > Chat logs > Export). Read the header or first record and print the field mapping before importing. - Store each conversation with its original timestamps, marked "imported". - List the 50 most frequent questions in /admin so I can write Q&A corrections for them. - Running it twice must not create duplicates. - Update the README.
Owners without a developer get a working bot on their site in minutes, with no server to run. Teams stay for what sits around the answers: escalation to a person, actions that look up orders or subscriptions, more channels than a website bubble, and reports that show what customers keep asking.
Estimate · A small VPS is the fixed cost. A few thousand answers a month on a small model cost single-digit dollars in tokens; a large model costs several times more. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Hobby | $40/workspace | $32/workspace | 700 message credits and 200 test credits a month, 1 AI agent, 5 AI actions, 10 MB of training content, 2 members. |
| Standard | $150/workspace | $120/workspace | 4,000 message credits a month, 1 AI agent, 8 AI actions, 20 MB of training content, 3 members; helpdesk, voice, API access, auto-resync. |
| Pro | $500/workspace | $400/workspace | 15,000 message credits a month, 1 AI agent, 12 AI actions, 40 MB of training content, 5 members, advanced analytics. |
| Enterprise | custom | — | Higher limits, SSO, HIPAA eligibility, white-labeling, SLAs. |
A free plan still exists (cancelled workspaces drop to it) but isn't shown on the pricing page; paid plans start with a 7-day trial.
Yes. An AI coding agent such as Claude Code, Codex or Cursor can build a usable personal version in one session with the prompt on this page, running on your own machine.
About $40 a month on the Hobby plan, $480 a year (checked 2026-10-13).
WhatsApp, Messenger, Instagram, Slack and phone channels; Built-in actions for Stripe, Shopify, Cal.com and helpdesk escalation; The helpdesk with human takeover, routing and CSAT surveys; Topic and sentiment analytics across conversations; Hosting, uptime and model updates handled for you. If any of those matter to you, keep paying.
Yes: AnythingLLM (open source), Dify (free), RAGFlow (open source).