🤖 Laravel Vibes

🤖 Laravel Vibes

site icon
2025.04.16 3
PHPAI 集成实时通信工具系统开发效率
Laravel Vibes 是一个强大的 Laravel 包,用于实现机器控制协议(MCP)服务器,使开发者能够在应用程序中无缝集成 AI 代理。它提供了工具注册系统、实时通信(SSE)、API 端点等功能,支持 PHP 8.2+ 和 Laravel 12.x。
View on GitHub

Overview

基本能力

产品定位

Laravel Vibes 是一个用于在 Laravel 应用中实现 MCP 服务器的包,旨在帮助开发者构建智能、交互式的功能,通过与 AI 代理的集成来增强应用的能力。

核心功能

  • 工具注册系统:定义、注册和暴露工具供 AI 代理使用
  • 服务器发送事件(SSE):通过事件流与 AI 代理进行实时通信
  • API 端点:为 MCP 协议实现提供即用型端点
  • 原始处理器:可扩展的系统,支持各种 MCP 原始类型
  • 自动发现:自动发现代码库中的工具实现
  • 类型安全:完整的 PHP 8.2+ 类型提示和返回类型声明
  • 未来准备:为即将推出的 MCP 功能(资源、提示、样本和根)提供基础框架

适用场景

  • 构建需要与 AI 代理交互的智能应用
  • 实现实时通信功能
  • 开发可扩展的工具系统
  • 集成多种 AI 服务

工具列表

  • WeatherTool:获取指定位置的天气信息
  • CalculatorTool:执行基本数学运算
  • ExternalApiTool:与外部 API 交互
  • TextAnalysisTool:执行文本分析
  • DataFetchTool:获取和处理数据

常见问题解答

  • 如何注册工具?:可以通过服务提供者的 boot 方法或配置文件注册工具
  • 如何定义自定义工具?:创建一个继承自 VibeTool 的类并实现 handle 方法
  • 如何使用 SSE?:通过 /mcp/sse 端点建立 SSE 连接
  • 如何处理 AI 代理消息?:通过 /mcp/sse/messages 端点接收和处理消息

使用教程

使用依赖

  • PHP 8.2+
  • Laravel 12.x

安装教程

composer require projectsaturnstudios/laravel-vibes

发布配置文件:

php artisan vendor:publish --tag="vibes"

调试方式

测试工具是否注册成功:

$tool = app('the-agency')->getTool('weather');
$this->assertNotNull($tool);

测试 SSE 连接:

$response = $this->get('/mcp/sse');
$response->assertStatus(200);

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。