Self-hosted AI customer support

Sentinel Chat: customer support AI you actually own

The self-hosted AI support widget that never leaves a customer hanging. Works with any AI provider, learns from your PDFs, and speaks English and Bahasa Melayu.

Sentinel Chat AI support widget answering visitor questions on a company website

1

Python process

1

<script> tag to embed

50+

Built-in help topics

2

Languages: English and Bahasa Melayu

What it is

One Python process. One file.

Three things working together to put a support assistant on any website, with nothing to provision and no external services to keep alive.

Admin panel

A login-gated web UI in English and Bahasa Melayu: set up the AI, manage rules, documents and staff. Built-in help.

Chat API

A public POST /api/chat endpoint that powers the widget and answers visitor questions.

Embeddable widget

A vanilla-JS chat bubble you add to any site with a single script tag. No framework, no build step.

The feature nobody else ships

Graceful fallback: your bot keeps answering even when the AI can't

Zero-downtime answers, controllable costs (switch to non-AI mode any time), and no scary error messages in front of customers.

1. Visitor asks

A message hits /api/chat from the widget or your backend.

2. AI answers

Claude or your chosen provider answers with your system prompt.

3. If the AI can't

Key missing, no credit, rate-limited, an empty reply, or AI switched off.

4. Fallback answers

Your rules and uploaded documents answer. No error is shown.

New

Answers straight from your documents

Upload the PDFs and Word files you already have. No keywords to write, no vector database.

1. Drop in a file

PDF, Word (.docx) or text, up to 20 MB. Text is extracted on upload.

2. Split into paragraphs

Each file becomes paragraphs you can view, replace or switch off.

3. Best match answers

Each question picks the closest paragraphs, for the AI or as a direct answer.

Sentinel Chat knowledge source settings and uploaded PDF documents
Your knowledge source

Rules, documents or both

  • Rules, documents or both: one switch picks what the bot draws on.
  • Costs stay flat: only matching paragraphs reach the AI.
  • Works without AI: in fallback mode the best paragraphs answer directly.
  • See what it sees: view the exact text the bot can find in each file.
Everything in the box

Serious capability, zero operational drag

AI with a safety net

Answers with Claude or any LLM. If the AI fails or runs out of credit, your knowledge base answers instead.

Bring any LLM provider

Claude, OpenAI, or your own server (Ollama, vLLM, LM Studio, LiteLLM and more). Switch from one dropdown.

Learns from your files

Upload PDF, Word or text files. Each question pulls only the best-matching paragraphs, so costs stay low.

One-line website embed

Paste one script tag. Set name, greeting, quick questions, brand colour, corner and language.

English and Bahasa Melayu

The whole admin panel, help section and widget in both languages, switched with one click.

You own the data

Database, documents and keys live in one folder on your server. No per-seat billing, no third party.

Built for the team that runs it

No developer needed after setup

Staff manage answers, check changes and fix problems from the browser, in English or Bahasa Melayu.

  • Built-in help: over 50 searchable topics, from first login to troubleshooting.
  • Test the LLM connection: one click names the problem: bad key, no credit, wrong model.
  • Demo console: try the live widget and see whether the AI or the fallback answered.
  • Test a question: see which rules and paragraphs match before a change goes live.
  • Roles for your team: staff maintain the knowledge base; only admins see keys and limits.
  • Fixes apply instantly: correct a rule, file or prompt and live chats use it on the next message.
Sentinel Chat test a question: matching paragraphs from an uploaded PDF
Why teams choose it

Sentinel Chat vs. the SaaS bots

Same drop-in convenience. None of the lock-in, metered billing or hard failures.

Never errors out

AI-then-fallback keeps the bot answering even when the LLM is down or unfunded.

No vendor lock-in

Hosted or self-hosted models, swapped from a dropdown. No per-seat billing.

Runs anywhere

One process, one SQLite data file. Your own domain, a sub-path of your site, or Docker.

Secure by default

Encrypted keys, HTTPS-only cookies, an origin allowlist and per-visitor rate limits.

Two ways to integrate

A client-side JS widget, or an asynchronous, signed server-to-server webhook.

Deploy in minutes

No config files or environment variables. Secrets generate themselves on first boot.

Live in three steps

Live on your site in three steps

  • Install and run: one Python process (pip install, then uvicorn), or the Docker image.
  • Configure once: log into the admin panel, pick your provider and model, add your API key (encrypted at rest), add rules or upload documents, and set allowed origins.
  • Paste one tag: add the script tag to any page and set bot name, greeting, quick actions, brand colour, corner and language through data-attributes.
<script src="https://chat.yourserver.com/static/widget.js"
  data-endpoint="https://chat.yourserver.com/api/chat"
  data-bot-name="Assistant"
  data-theme="#4f8cff"
  data-lang="ms"></script>

Prefer server-to-server? A signed, asynchronous webhook integration ships in the box too.

Own your support AI

One process, one folder, one script tag. Ask us for a demo on your own website, in English or Bahasa Melayu.

Request a demoEmail us