# 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.

Alternative to: Intercom, LiveChat, Zendesk Chat

- Capabilities: adaptable, operable
- Vertical: support-bookkeeping
- Shape: business-app
- Form factor: web-app
- Execution model: hybrid
- Provenance: human-written (recorded, never ranked)
- Repo: https://github.com/LiveHelperChat/livehelperchat (Apache-2.0), 2242 stars, last commit 2026-08-31
- Last activity: 2026-08-31
- Page: apps/LiveHelperChat--livehelperchat.html
- JSON: apps/LiveHelperChat--livehelperchat.json

## 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

## Editions

- Free (self-hosted): Free, open source
  - source: https://github.com/LiveHelperChat/livehelperchat
  - binary: https://github.com/LiveHelperChat/livehelperchat/releases
  - container: https://github.com/LiveHelperChat/docker-standalone
  - one-click: https://marketplace.digitalocean.com/apps/live-helper-chat/

## Adaptable: make it yours

Effort: config-only (2 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'll need: OpenAI, Gemini, or an Ollama host (optional, for bot replies); Telegram, Meta, or Twilio accounts for channel bridges (optional)

## Operable: what an agent can drive

Operability: official. Interface: api at https://demo.livehelperchat.com/restapi/swagger (published by the builder, local).

### Reach (partial coverage)

- 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: PHP, JavaScript
- Frameworks: React (widget and back office)
- Package manager: composer, npm
- Database: MySQL, MariaDB
- Hosting target: self-host, Docker (LiveHelperChat/docker-standalone), DigitalOcean marketplace

## Model stack

- Providers: OpenAI (optional), Ollama (optional), Google Gemini (optional), Rasa (optional)
- Models: none
- Keys you need (names only): none
- Prompts live in: bot builder (UI)
- Tools: none

## Evidence and confidence

- formFactor: README: lhc_web/index.php served by PHP; mobile and desktop apps are companions (confidence 0.95)
- executionModel: core chat is deterministic; bot builder calls ChatGPT, Ollama, Gemini or Rasa when configured (confidence 0.8)
- 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. (confidence 0.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 (confidence 0.85)
- editions: README: bring live support to your site for free; no paid edition found (confidence 0.85)
- active: gh api: pushed 2026-08-31, 2242 stars
- reach:  (confidence 0.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

- https://github.com/LiveHelperChat/livehelperchat (sourcing:support-bookkeeping:curated)
- https://doc.livehelperchat.com/ (sourcing:support-bookkeeping:curated)
- https://doc.livehelperchat.com/docs/development/rest-api (analysis)
