> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# 事件

> 说明如何将 Laravel Copilot SDK 发出的 Laravel 事件用于日志收集、调试和异步处理。

## Laravel 事件

由于在 [Events](https://github.com/invokable/laravel-copilot-sdk/tree/main/src/Events) 的各处都埋入了事件类，因此可以将其用于日志和调试。

用 [钩子](/zh/packages/laravel-copilot-sdk/hooks) 也可以做类似的事情，但事件也可以埋入没有钩子的位置。

```text theme={null}
src/
├── Events/
│   ├── Client/
│   │   ├── ClientStarted.php
│   │   ├── ToolCall.php
│   │   └── PingPong.php
│   ├── JsonRpc/
│   │   ├── MessageReceived.php
│   │   ├── MessageSending.php
│   │   └── ResponseReceived.php
│   ├── Process/
│   │   └── ProcessStarted.php
│   └── Session/
│       ├── CreateSession.php
│       ├── MessageSend.php
│       ├── MessageSendAndWait.php
│       ├── SessionEventReceived.php
│       └── ResumeSession.php
```

例如可以把耗时较长的处理放到队列或 `defer` 中执行。这时 `Copilot::run()` 的结果无法直接获取，但可以通过 `MessageSendAndWait` 事件的监听器来获取。

```php theme={null}
dispatch(fn() => Copilot::run(''));
```

```php theme={null}
use function Illuminate\Support\defer;

defer(fn() => Copilot::run(''));
```

<Info>
  最新信息请参考 [GitHub 仓库](https://github.com/invokable/laravel-copilot-sdk)。
</Info>


## Related topics

- [邮件验证（Email Verification）](/zh/verification.md)
- [Laravel Reverb](/zh/reverb.md)
- [Laravel Passkeys 初步调查(passkeys-server + @laravel/passkeys)](/zh/blog/passkeys-introduction.md)
- [流式事件](/zh/packages/laravel-copilot-sdk/streaming-events.md)
- [事件与监听器](/zh/events.md)
