以官方 SDK 风格使用
这个包也支持复刻官方 SDK 使用方式的纯 PHP 风格。
在此基础上还提供 Laravel 风格的开发体验。
本页说明「由于在 Facade 内部复刻了官方 SDK,因此可以采用相同的使用方式」。
通常推荐使用 Facade 的方式。
use Revolution\Copilot\Client;
use Revolution\Copilot\Session;
use Revolution\Copilot\Types\SessionEvent;
$client = new Client([
'cli_path' => 'copilot',
'cli_args' => [],
'cwd' => base_path(),
'log_level' => 'info',
'env' => null,
]);
$client->start();
/** @var Session $session */
$session = $client->createSession([
'model' => 'gpt-5',
]);
$done = $session->on(function (SessionEvent $event) {
if($event->isAssistantMessage()) {
echo $event->content();
}
});
$session->send(prompt: 'Tell me something about Laravel.');
$session->wait(timeout: 60.0); // 在 True async 正式实现之前,用 wait() 等待。
$done();
$session->disconnect();
$client->stop();