EasyChat

{_wp('Live chat for the website and Android operator app. Chat data is stored in the Webasyst database and protected wa-data folder.')}

{_wp('Core status')} {if $installed} {_wp('Installed')} {else} {_wp('Installation required')} {/if}
{_wp('Storefront widget')} {if $enabled} {_wp('Enabled')} {else} {_wp('Disabled')} {/if}
{_wp('EasyChat URL')} {if $https_ready} HTTPS {else} HTTP {/if}
{if $last_error}
{_wp('EasyChat could not be installed automatically.')}
{$last_error|escape}
{/if}
{$wa->csrf()}
{_wp('Storefront widget')}

{_wp('The widget code is added automatically through the Shop-Script storefront event. The endpoint is served by Webasyst routing without direct access to plugin files.')}

{_wp('AI and external services')}

{_wp('EasyTokens, OpenAI and Gemini are not used automatically during installation. AI activation, API key entry and the EasyTokens gift request are handled manually in the EasyChat admin. When AI is enabled, request text and selected context may be sent to the selected provider.')}

{_wp('Saved')}
{_wp('Background tasks')}
{assign var=queue_counts value=$queue_status.counts} {if $queue_status.last_error}

{$queue_status.last_error|escape}

{/if}

{_wp('For stable AI, indexing and messenger processing, add a hosting cron task every minute:')}

* * * * * {$queue_status.cron_command|escape} >> /dev/null 2>&1
{_wp('EasyChat admin')}

{_wp('Use the protected button below. Webasyst verifies your settings rights and creates a one-time sign-in, so you do not need the generated EasyChat password.')}

{$wa->csrf()}
{_wp('Check widget endpoint')}
{_wp('Diagnostics')}