pixelworxio/laravel-ai-action
Composer 安装命令:
composer require pixelworxio/laravel-ai-action
包简介
AI-powered actions for Laravel — a clean integration layer built on laravel/ai
README 文档
README
What does this package do?
This package offers an architectural pattern that sits on top of laravel/ai to provide a consistent, structured, and testable way to execute AI actions in your Laravel app.
laravel/ai |
laravel-ai-action |
|
|---|---|---|
| Abstraction level | Agents, tools, streaming primitives | Single-responsibility action classes |
| Context passing | Manual | AgentContext DTO (record, meta, user instruction) |
| Output handling | Raw response objects | Typed AgentResult with token tracking |
| Structured output | StructuredAnonymousAgent |
HasStructuredOutput + mapOutput() |
| Streaming | Iterator + event handling | HasStreamingResponse callbacks |
| Queue support | None built-in | RunAgentActionJob (unique, queueable) |
| Testing | Mock the SDK | FakeAgentAction + fluent assertions |
| Artisan scaffolding | None | php artisan make:ai-action |
If you're wiring AI calls directly into controllers or service classes, you're reinventing this. laravel-ai-action gives every AI capability in your app a consistent, discoverable home — the same way laravel/actions does for business logic.
Requirements
| Dependency | Version |
|---|---|
| PHP | ^8.4 |
| Laravel | ^12.0 || ^13.0 |
laravel/ai |
^0.1 |
Installation
composer require pixelworxio/laravel-ai-action
Publish the config to customise defaults:
php artisan vendor:publish --tag=ai-action-config
Quick Start
php artisan make:ai-action SummarizePost
// app/Ai/Actions/SummarizePost.php final class SummarizePost implements AgentAction { use InteractsWithAgent; public function instructions(AgentContext $context): string { return 'You are a concise technical writer. Summarize in three sentences.'; } public function prompt(AgentContext $context): string { return sprintf("Summarize:\n\n%s", $context->record->body); } public function handle(AgentContext $context): AgentResult { return app(RunAgentAction::class)->execute($this, $context); } }
// In a controller or job $context = AgentContext::fromRecord($post); $result = $this->runner->execute(new SummarizePost(), $context); echo $result->text; // "This post covers..." echo $result->inputTokens; // 320
MCP Bridge (opt-in)
Expose any AgentAction as a Laravel MCP tool — reachable from Claude Desktop, Cursor, and any MCP-aware client — with a few additional methods and one env flag.
composer require laravel/mcp
AI_ACTION_MCP_ENABLED=true
php artisan make:ai-action SummarizeInvoice --mcp
// In your AppServiceProvider::boot(): use Pixelworxio\LaravelAiAction\Mcp\Facades\AiActionMcp; AiActionMcp::tool(\App\Ai\Actions\SummarizeInvoice::class);
See docs/mcp.md for the full guide including auth scoping, annotation forwarding, auto-discovery, and custom response formatting.
Documentation
- Actions — creating actions, contracts, and execution modes
- Context —
AgentContextreference and usage - Results —
AgentResultreference and usage - Testing —
FakeAgentActionand fluent assertions - Configuration — all config keys and environment variables
- Queue — background execution with
RunAgentActionJob - MCP Bridge — exposing actions as MCP tools (opt-in)
Changelog
See CHANGELOG.md.
License
MIT — see LICENSE.
统计信息
- 总下载量: 322
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 3
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-02-22