定制 datashaman/claude-agent-laravel 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

datashaman/claude-agent-laravel

Composer 安装命令:

composer require datashaman/claude-agent-laravel

包简介

Laravel companion package for datashaman/claude-agent-sdk

README 文档

README

Laravel companion package for datashaman/claude-agent-sdk.

Requirements

  • PHP 8.2+
  • Laravel 12+
  • Claude CLI installed on the server

Installation

composer require datashaman/claude-agent-laravel

The service provider and facade are auto-discovered. To publish the config:

php artisan vendor:publish --tag=claude-config

Configuration

config/claude.php:

return [
    'model' => env('CLAUDE_MODEL', 'sonnet'),
    'permission_mode' => env('CLAUDE_PERMISSION_MODE', 'default'),
    'system_prompt' => env('CLAUDE_SYSTEM_PROMPT', ''),
    'max_turns' => env('CLAUDE_MAX_TURNS', 0),
    'allowed_tools' => [],
    'queue' => env('CLAUDE_QUEUE'),
    'streaming' => [
        'enabled' => true,
        'route_prefix' => 'claude',
        'middleware' => ['web'],
    ],
];

Usage

Facade

use DataShaman\Claude\AgentLaravel\Facades\Claude;

// Stream messages from a query
foreach (Claude::query('Explain dependency injection') as $message) {
    echo $message->getTextContent();
}

// Get a client with session persistence
$client = Claude::client(['model' => 'opus']);
foreach ($client->send('Hello') as $message) {
    echo $message->getTextContent();
}

// List sessions
$sessions = Claude::listSessions();

// Get session history
$messages = Claude::getSessionMessages('session-id');

Artisan Commands

# Send a query
php artisan claude:query "Explain SOLID principles"

# With options
php artisan claude:query "Continue" --model=opus --session=abc123

# List sessions
php artisan claude:sessions:list

# Show session history
php artisan claude:sessions:show abc123

Queue Integration

use DataShaman\Claude\AgentLaravel\Jobs\ClaudeQueryJob;
use DataShaman\Claude\AgentLaravel\Events\ClaudeQueryCompleted;
use DataShaman\Claude\AgentLaravel\Events\ClaudeQueryFailed;

// Dispatch a query as a background job
ClaudeQueryJob::dispatch('Summarize this document');

// With overrides
ClaudeQueryJob::dispatch('Hello', ['model' => 'opus']);

// Listen for results in a listener or EventServiceProvider
// ClaudeQueryCompleted: $event->prompt, $event->response, $event->sessionId, $event->timestamp
// ClaudeQueryFailed: $event->prompt, $event->error, $event->exception

Queue timeout: Agent queries can take significant time. Configure your queue worker timeout accordingly:

php artisan queue:work --timeout=300

Consider using a dedicated queue for Claude jobs:

CLAUDE_QUEUE=claude

SSE Streaming

The package registers a POST /{prefix}/stream endpoint for Server-Sent Events streaming.

const response = await fetch('/claude/stream', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content,
    },
    body: JSON.stringify({ prompt: 'Hello Claude' }),
});

const reader = response.body.getReader();
const decoder = new TextDecoder();

while (true) {
    const { done, value } = await reader.read();
    if (done) break;

    const text = decoder.decode(value);
    // Parse SSE events from text
}

Proxy buffering: If using nginx, disable proxy buffering for the stream endpoint:

location /claude/stream {
    proxy_buffering off;
    proxy_cache off;
}

Livewire Component

Include the chat component in any Blade template (requires livewire/livewire):

<livewire:claude-chat />

<!-- With props -->
<livewire:claude-chat model="opus" system-prompt="You are helpful." session-id="abc123" />

To customize the view:

php artisan vendor:publish --tag=claude-views

Testing

composer test

License

MIT

datashaman/claude-agent-laravel 适用场景与选型建议

datashaman/claude-agent-laravel 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 25 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 datashaman/claude-agent-laravel 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 datashaman/claude-agent-laravel 我们能提供哪些服务?
定制开发 / 二次开发

基于 datashaman/claude-agent-laravel 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 19
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-25