SitiWeb f939133fe0 Add admin views for quick replies, settings, and ticket details
- Created `quick-replies.blade.php` for managing quick replies.
- Added `settings.blade.php` for admin settings management.
- Implemented `ticket-show.blade.php` to display ticket details.
- Introduced `timeline-card.blade.php` component for displaying timeline information.

Enhance quick reply management functionality

- Developed `quick-reply-manager.blade.php` for creating and editing quick replies.
- Integrated Livewire for dynamic interaction and validation.

Implement settings page for AI configuration

- Created `settings-page.blade.php` for managing AI settings, including prompts and provider instances.
- Added functionality for managing models and embeddings.

Add ticket show functionality with real-time updates

- Implemented ticket details view with processing status and tool call logs.
- Added support for displaying article suggestions and error messages.

Create unit tests for AI classifier and domain info tool

- Added `AIClassifierServiceTest.php` to validate AI classifier functionality.
- Implemented `DomainInfoToolTest.php` for domain parameter validation.
- Created `OxxaClientTest.php` to test API interactions and password hashing.
2026-04-30 01:50:21 +02:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00
2026-04-28 17:28:33 +00:00

TicketAssistant (Laravel 13 + pgvector + external Ollama)

AI-powered customer support ticket system using semantic retrieval + LLM re-ranking.

Requirements

  • Docker Desktop
  • Docker Compose v2
  • Ollama running on a reachable network server

Quick Start (Docker)

  1. Create environment file
cp .env.docker.example .env
  1. Set the external Ollama URL in .env
OLLAMA_BASE_URL=http://<OLLAMA_SERVER_IP_OR_HOSTNAME>:11434
  1. Build and start containers
docker compose up -d --build
  1. Install PHP dependencies in app container
docker compose exec app composer install
  1. Generate app key and run database setup
docker compose exec app php artisan key:generate
docker compose exec app php artisan migrate --seed

API base URL: http://localhost:8090/api Admin dashboard: http://localhost:8090/admin/dashboard

Admin Dashboard (Blade + Livewire)

  • /admin/dashboard: KPI cards + recente tickets + recente AI decisions
  • /admin/articles: artikel aanmaken + artikeloverzicht
  • /admin/tickets: tickets met AI-classificatie-overzicht

Business logic is isolated in service classes:

  • App\Services\AdminDashboardService
  • App\Services\AdminArticleService
  • App\Services\AdminTicketService

Services

  • web: Nginx (public endpoint)
  • app: PHP-FPM Laravel runtime
  • worker: queue worker for async jobs
  • postgres: PostgreSQL 17 + pgvector

Notes

  • No external AI APIs are used.
  • Ollama runs outside Docker on your network.
  • Set QUEUE_EMBEDDINGS=true for async article embedding generation.

Helpdesk Scraper Command

Importeer artikelen vanaf InternetToday Helpdesk (categorieen + subcategorieen):

docker compose exec app php artisan helpdesk:import

Opties:

# test zonder schrijven
docker compose exec app php artisan helpdesk:import --dry-run

# verwerk alleen eerste N artikelen
docker compose exec app php artisan helpdesk:import --limit=25

# custom base-url
docker compose exec app php artisan helpdesk:import --base-url=https://www.internettoday.nl/helpdesk
Description
No description provided
Readme 265 KiB
Languages
PHP 57%
Blade 42.7%
JavaScript 0.1%