lastdino/echochat
Composer 安装命令:
composer require lastdino/echochat
包简介
A workspace and channel based real-time chat functionality package for Laravel.
README 文档
README
EchoChatは、Laravelアプリケーションにワークスペースおよびチャンネルベースのリアルタイム・チャット機能を追加するためのLaravelパッケージです。
特徴
- ワークスペース: ユーザーが所属できる分離された環境を構築。
- チャンネル: ワークスペース内のパブリック/プライベートな会話スペース。
- リアルタイムメッセージング: Laravel Reverb/Pusherを通じたリアルタイム通信。
- スレッド機能: メッセージに対する返信とスレッド一覧。
- AI要約: GeminiやOllamaを使用したチャンネルメッセージの要約機能。
- リアクション: 絵文字によるメッセージへのリアクション機能。
- 添付ファイル: メッセージへのファイル添付機能(Spatie MediaLibrary連携)。
- Livewire Volt連携: モダンな単一ファイルコンポーネントによるUI提供。
依存関係
このパッケージは以下の主要なライブラリに依存しています:
- Laravel Framework (v12.0+): コアフレームワーク。
- Livewire & Volt: インタラクティブなUIコンポーネント。
- Spatie Laravel MediaLibrary: 添付ファイルの管理。
- Laravel Reverb/Pusher: リアルタイムイベント放送用(ホスト側で設定が必要)。
インストール方法
1. パッケージの追加
Composerを使用してパッケージをインストールします:
composer require lastdino/echochat
2. モデルの設定
User モデルに HasWorkspaces インターフェースと InteractsWithWorkspaces トレイトを実装し、さらに HasMedia (MediaLibrary) を設定します。
use EchoChat\Contracts\HasWorkspaces; use EchoChat\Traits\InteractsWithWorkspaces; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; class User extends Authenticatable implements HasMedia, HasWorkspaces { use InteractsWithMedia, InteractsWithWorkspaces; // ... }
3. マイグレーションの実行
パッケージのテーブルをデータベースに作成します:
php artisan migrate
4. 設定とアセットの公開(任意、一部必須)
設定ファイル、ビュー、カスタムアイコンなどをカスタマイズしたい場合に公開します:
# 設定ファイル php artisan vendor:publish --tag=echochat-config # ビューファイル php artisan vendor:publish --tag=echochat-views # カスタムアイコン(必須:リアクション追加ボタン等に使用) php artisan vendor:publish --tag=echochat-flux-icons
設定方法
ブロードキャストの設定
パッケージ内の routes/channels.php は、EchoChatServiceProvider によって自動的に読み込まれます。
ただし、Laravel 11 以降では、アプリケーション側でブロードキャストを有効にするために以下の準備が必要です。
-
ブロードキャストのインストール(未実施の場合):
php artisan install:broadcasting
-
環境変数の設定:
.envファイルでブロードキャストドライバー(例:reverbやpusher)を適切に設定してください。 -
認証ユーザーの型定義: パッケージのチャンネル認証では
auth()->check()を使用しています。ユーザーがログインしていることを確認してください。
アセット(CSS)の読み込み
プロジェクトに Tailwind がすでにインストールされている場合は、resources/css/app.css ファイルに次の構成を追加するだけです。
@import '../../vendor/lastdino/echochat/dist/echochat.css';
ルーティング
パッケージはデフォルトで以下のルートを提供します(config/echochat.php の path 設定で変更可能):
/echochat/workspaces: ワークスペース一覧/echochat/{workspace_slug}/{channel_id?}: チャット画面
設定ファイル config/echochat.php で以下の設定が可能です:
table_prefix: データベーステーブルの接頭辞(デフォルト:echochat_)path: EchoChat のルートパス(デフォルト:echochat)
開発とテスト
テストの実行
php artisan test packages/lastdino/echochat
ライセンス
MIT License.
lastdino/echochat 适用场景与选型建议
lastdino/echochat 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 198 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 01 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「chat」 「laravel」 「realtime」 「workspace」 「channel」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 lastdino/echochat 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 lastdino/echochat 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 lastdino/echochat 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Talk is a Laravel based realtime messaging, chatting and conversation system. It helps to develop users messaging, chatting and conversations in easy way.
This simple PHP class allows you to easily generate Smartsupp.com JS chat code.
Client for the REST API plugin of the OpenFire Server
The Yii2 extension module to chat registered users.
A Pusher bridge for Laravel 5+
统计信息
- 总下载量: 198
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 26
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-08