Download the PHP package excelle-insights/ai-assistant without Composer

On this page you can find all versions of the php package excelle-insights/ai-assistant. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package ai-assistant

Excelle Insights — AI Assistant Package

Standalone Composer package: one trainable AI core for WhatsApp auto-reply, in-app user guidance, diagnosis support and business analysis — same install pattern as excelle-insights/whatsapp, working with any LLM provider (OpenAI, OpenRouter, Ollama, Together, vLLM…), not just OpenAI.

Name history: folder/repo are now ai-assistant; own tables are ai_assistant_*. The composer name excelle-insights/ai-assistant and the PHP namespace ExcelleInsights\AiAssistant\… are kept until hosts migrate (then they become excelle-insights/ai-assistant / …\AiAssistant\…).

No edits to vendor/excelle-insights/whatsapp required.

Full step-by-step guides live in docs/ (install, connect, knowledge, WhatsApp channel, one-AI router, config, troubleshooting, LLM providers + table rename).


Features


Requirements


Installation

1. Require via Composer

Or for local dev add to host composer.json:

2. Run package migrations (own phinx.php, like whatsapp package)

Creates (prefix from TablePrefix::get(), default ai_assistant):

Upgrading from ai_whatsapp_*? Migration 20260922000000 renames old → new, data preserved — see docs/08-llm-providers-and-rename.md §3.

No company_id column added to vendor whatsapp_* tables.

3. Hook inbound (host adds 2 lines, no vendor edit)

In api/whatsapp/callback.php and api/src/Controllers/WhatsappController.php::webhookProcess() after WhatsappService::processWebhookPayload($payload):

$results is the array returned by processWebhookPayload (['type'=>'message', 'wa_message_id'=>..., 'conversation_id'=>...]).

4. Provide system context (host implements interface)

Pass to manager (any LlmClientInterface accepted — use LlmFactory::make() for env-driven provider selection):

If you don't provide openAI, the package builds one via LlmFactory::make() reading LLM_* (fallback OPENAI_*) from host .env.

Any app works here: any PDO, any SystemContextProviderInterface implementation, any LlmClientInterface (LlmFactory::make() or your own) — ExcelleCore\* above is just the MaintainA example.

4b. Receive booking requests (host implements interface)

When a customer asks to book ("I want to book…", "nataka miadi…"), the package detects the intent, extracts the service + preferred date from the conversation, and hands a Support\BookingIntent to the host. The package never writes app tables — the host persists it however its domain requires (booking row, ticket, CRM lead).

Register it where you hook inbound (constructor or setter — both work):

Notes:

5. Train

Or via service:

File import: POST https://host/api/integrations/whatsapp/ai-knowledge/import (CSV; see docs/03-knowledge-training.md).


Configuration

config/ai-assistant.php (publish to host config/ if needed):


How It Works

  1. Inbound POST /api/integrations/whatsapp/webhook (router flattened {field,value}) → WhatsappService::processWebhookPayload() inserts whatsapp_messages direction=inbound + whatsapp_conversations + events.
  2. Hook calls AiAssistantService::onInboundMessages() for each new wa_message_id.
  3. Context via SystemContextProvider + Knowledge via KnowledgeService::search($companyId, $messageBody, 5).
  4. Prompt built and sent via the configured LLM (LlmClientInterface::chat(), default model from LlmFactory::defaultModel()).
  5. Reply via WhatsappApi::sendTextMessage($from, $reply) if isSessionActive() else enqueue to whatsapp_queue with template.

Same core answers guide/diagnosis/analysis requests — the host routes per intent (see docs/05-one-ai-router.md).


Pushing Changes

(Cutting over to composer name excelle-insights/ai-assistant happens as a separate versioned step once hosts are ready.)


References


All versions of ai-assistant with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
ext-json Version *
ext-pdo Version *
guzzlehttp/guzzle Version ^7.0
vlucas/phpdotenv Version ^5.7
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package excelle-insights/ai-assistant contains the following files

Loading the files please wait ...