mothermachine

Browse / Support and bookkeeping

Live Helper Chat

Apache-licensed live chat and bot platform with a settings.ini.php surface and a Builder-published REST API.

AdaptableOperable Business appWeb app Hybrid PHPJavaScript API License: Apache-2.0

Live Helper Chat is a PHP live-support system that runs at sites handling 10,000+ chats a day: web widget, departments, canned messages, transfers, a bot builder that plugs into ChatGPT, Ollama, Gemini, Rasa or any REST API, plus Telegram, WhatsApp, Messenger and SMS bridges. Configuration lives in lhc_web/settings/settings.ini.php and the Builder publishes a REST API with Swagger docs.

Use it when
  • we want a free live chat widget on our site with a bot that answers from ChatGPT or Ollama and hands off to a human
  • we run support on Telegram or WhatsApp and want every channel in one operator console we host
Gotchas
  • Composer install needed on a git clone; releases ship without it
  • Webhooks are off by default in settings.ini and extensions depend on them
  • PHP 8.2 minimum; a separate Laravel rewrite exists and may split future effort
  • REST API uses Basic auth with an API key or back-office login; scope it to a dedicated operator

Last activity Aug 31, 2026. Fit: adaptable 3, operable 2.

Editions

Free (self-hosted) · Free open source

For agents: JSON · Markdown

Adaptable: what is yours to change

Make it yours

Config only2 things to edit

Copy lhc_web/settings/settings.ini.default.php to settings.ini.php and set site_admin_email, locale, theme, time_zone, site_address, webhooks.enabled, disable_rest_api_by_user, and redis/memcache servers. Bot flows, departments, canned messages, and the AI provider keys are entered in the back office, not files. Theme changes use the template override system; that is the only place code edits come in.

Env vars
none
Config files
lhc_web/settings/settings.ini.php lhc_web/settings/settings.ini.default.php
Prompt files
none
Accounts you need
OpenAI, Gemini, or an Ollama host (optional, for bot replies)Telegram, Meta, or Twilio accounts for channel bridges (optional)

Source

Operable: what an agent can drive

Interface

OfficialAPIpublished by the builderlocal

How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.

Docs
demo.livehelperchat.com/restapi/swagger

Reach

Partial coverage. 6 of 10 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
List chats, messages, and departmentsReachabledoc.livehelperchat.com/docs/development/rest-api: list chats, departments, messages, get chat information
Send operator messages into a chatReachableREST API doc: supports sending messages; message types visitor, operator, system, bot
Check operator and department online statusReachableREST API doc: online status checks for general, users, departments
Track online visitorsReachableREST API doc: logging online visitor activity
Close or transfer a chatReachableSwagger: POST /restapi/setchatstatus (status 2 = closed) and PUT /restapi/chat/{chat_id} to update chat fields; no dedicated transfer endpoint
Build and edit bot flowsNot reachableSwagger has POST/PUT/DELETE /restapi/bot for bot records, but trigger and flow editing is the back-office builder only
Canned messagesNot reachableNo canned-message path among the 48 Swagger paths at demo.livehelperchat.com/restapi/swagger
Chat statistics and agent performanceReachableSwagger: GET /restapi/agentstatistic
Connect Telegram, WhatsApp, Messenger, SMSNot reachablechannel bridges are separate extensions configured in the back office
Voice and video callsNot reachableJitsi/Agora integrations are widget features

Code stack

Languages
PHPJavaScript
Frameworks
React (widget and back office)
Package manager
composer, npm
Database
MySQLMariaDB
Hosting target
self-hostDocker (LiveHelperChat/docker-standalone)DigitalOcean marketplace
Built
Human-written (recorded, never ranked)

Model stack

Providers
OpenAI (optional)Ollama (optional)Google Gemini (optional)Rasa (optional)
Models
none
Keys you need
none
Prompts live in
bot builder (UI)

Evidence and confidence

FieldWhere it was seenConfidence
formFactorREADME: lhc_web/index.php served by PHP; mobile and desktop apps are companions95%
executionModelcore chat is deterministic; bot builder calls ChatGPT, Ollama, Gemini or Rasa when configured80%
operabilitySwagger 2.0 spec at demo.livehelperchat.com/restapi/swagger (linked from api.livehelperchat.com): 'Create API key in Live Helper Chat back office. During authorization provide operator username and key instead of password'; securityDefinitions login type basic; 48 paths under /restapi/ for chats, messages, users, departments, bots, files, surveys, webhooks, statistics. doc.livehelperchat.com/docs/development/rest-api confirms Basic auth and the .htaccess Authorization passthrough.95%
effortREADME points at settings.ini.default.php lines 13-16 and 86 for debug and webhook toggles; file has 'site' array with named keys85%
editionsREADME: bring live support to your site for free; no paid edition found85%
activegh api: pushed 2026-08-31, 2242 stars–
reach85%

Open questions

  • Is there a transfer-to-department endpoint, or is updatechatattributes/PUT /restapi/chat the intended route?
  • Whether any paid support or hosting edition exists beyond donations

Sources