AI assistant, agents, and documentation copilot for FlowRise HMS
Package info
github.com/Flowrise-HMS/Flowrise-Assistant
Type:laravel-module
pkg:composer/flowrise-hms/ai
Requires
- php: ^8.4
- flowrise-hms/core: dev-main
- laravel/ai: ^0.9
Suggests
- laravel/reverb: Required on the host app for expanded assistant realtime streaming over WebSockets.
This package is auto-updated.
Last update: 2026-08-02 12:19:56 UTC
README
FlowRise assistant (agents, tools, documentation copilot).
Status: Complete — see Module Status.
Depends on Core (flowrise-hms/core) and Laravel AI.
Assets (Laravel Modules + Vite)
This host uses the central Vite approach from Laravel Modules compiling assets (same as Core):
- Source CSS:
resources/assets/css/assistant-widget.css - Module
vite.config.jsexportspathsonly (picked up by rootvite-module-loader.js) - Filament loads that entry via
Vite::withEntryPointsonpanels::styles.after - Build with root
pnpm run buildorcomposer run dev
Do not also use a per-module build-ai / module_vite() pipeline — Modules docs say not to mix central and independent modes. Empty stub resources/assets/sass / js remain for future assets and are omitted from paths until used.
Realtime (Reverb)
Expanded chat streams tokens over Laravel Reverb + Filament Echo (not SSE). Compact and expanded both stream tokens progressively with a thinking/typing indicator.
Host contract (not AI source files)
The host Laravel app must provide broadcasting infrastructure—AI does not own Reverb package wiring:
BROADCAST_CONNECTION=reverb REVERB_APP_ID=flowrise REVERB_APP_KEY=local-reverb-key REVERB_APP_SECRET=local-reverb-secret REVERB_HOST=localhost REVERB_PORT=8080 REVERB_SCHEME=http VITE_REVERB_APP_KEY="${REVERB_APP_KEY}" VITE_REVERB_HOST="${REVERB_HOST}" VITE_REVERB_PORT="${REVERB_PORT}" VITE_REVERB_SCHEME="${REVERB_SCHEME}"
php artisan reverb:start php artisan queue:work
Filament Echo (module-owned defaults)
AI registers private channels from Modules/AI/routes/channels.php and, unless the host already set filament.broadcasting.echo.key, merges Echo client defaults from config('ai.broadcasting.echo') so window.Echo is available in Filament panels.
- Disable with
AI_CONFIGURE_FILAMENT_ECHO=falseorai.broadcasting.configure_filament_echo - Host Echo config with a key always wins
Protocol
- Turn endpoint:
POSTnamed routeai.assistant.turn→202{ turn_id, conversation_id } - Private channels:
ai.user.{id},ai.conversation.{id}(authorized againstCoreUser) - Events:
.assistant.turn.started,.assistant.token_chunk,.assistant.turn.completed,.assistant.turn.failed