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.
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.
- 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
- 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.
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.phplhc_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
- github.com/LiveHelperChat/livehelperchat
- Apache-2.0 license
- Last commit Aug 31, 2026
- 2,242 stars
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.
Reach
Partial coverage. 6 of 10 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| List chats, messages, and departments | Reachable | doc.livehelperchat.com/docs/development/rest-api: list chats, departments, messages, get chat information |
| Send operator messages into a chat | Reachable | REST API doc: supports sending messages; message types visitor, operator, system, bot |
| Check operator and department online status | Reachable | REST API doc: online status checks for general, users, departments |
| Track online visitors | Reachable | REST API doc: logging online visitor activity |
| Close or transfer a chat | Reachable | Swagger: POST /restapi/setchatstatus (status 2 = closed) and PUT /restapi/chat/{chat_id} to update chat fields; no dedicated transfer endpoint |
| Build and edit bot flows | Not reachable | Swagger has POST/PUT/DELETE /restapi/bot for bot records, but trigger and flow editing is the back-office builder only |
| Canned messages | Not reachable | No canned-message path among the 48 Swagger paths at demo.livehelperchat.com/restapi/swagger |
| Chat statistics and agent performance | Reachable | Swagger: GET /restapi/agentstatistic |
| Connect Telegram, WhatsApp, Messenger, SMS | Not reachable | channel bridges are separate extensions configured in the back office |
| Voice and video calls | Not reachable | Jitsi/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
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README: lhc_web/index.php served by PHP; mobile and desktop apps are companions | 95% |
| executionModel | core chat is deterministic; bot builder calls ChatGPT, Ollama, Gemini or Rasa when configured | 80% |
| operability | Swagger 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% |
| effort | README points at settings.ini.default.php lines 13-16 and 86 for debug and webhook toggles; file has 'site' array with named keys | 85% |
| editions | README: bring live support to your site for free; no paid edition found | 85% |
| active | gh api: pushed 2026-08-31, 2242 stars | – |
| reach | 85% |
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
- github.com/LiveHelperChat/livehelperchat sourcing:support-bookkeeping:curated
- doc.livehelperchat.com/ sourcing:support-bookkeeping:curated
- doc.livehelperchat.com/docs/development/rest-api analysis