跳转到主要内容

简介

laravel/agent-detector 是一个轻量级工具包,用于检测 PHP 代码是否运行在 AI 智能体或自动化开发环境中。它于 2026 年 4 月作为 Laravel 官方包正式发布。 随着 AI 智能体深度融入开发现场,了解代码本身运行在什么环境中变得越来越重要。根据请求来自 AI 智能体还是人类,来切换日志详细度、调整限流策略、或返回专门为智能体准备的响应,这些实际开发中的需求正在不断出现。

安装

需要 PHP 8.2 或以上版本。

基本用法

调用 AgentDetector::detect() 会返回一个 AgentResult 对象。
也可以使用独立函数的写法。

AgentResult 的属性

支持的智能体一览

检测的优先级依次为:AI_AGENT 环境变量 → 已知环境变量 → 文件系统。

配置自定义智能体

将任意值设置到 AI_AGENT 环境变量,即可作为自定义智能体被检测到。

实用案例

在中间件中检测 AI 智能体

在 Laravel 中间件中判断运行环境,并对智能体进行分支处理。

在 AI 智能体环境下输出详细日志

对来自 AI 智能体的请求应用限流

通过根据智能体检测结果切换 ThrottleRequests 中间件的键,可以为智能体和人类设置不同的限流规则。

在控制台命令中切换行为

以下示例展示当智能体执行 Artisan 命令时,输出更详细的进度信息。

总结

laravel/agent-detector 是一个把简单的环境变量检查和文件系统探测整合到一起的包。不需要复杂配置,只要调用 AgentDetector::detect() 就能使用。 在 AI 智能体正在成为开发流程一部分的当下,了解”代码是被谁(什么)驱动运行的”会越来越重要。日志、限流、响应的定制化等各种场景中,你都可以用到这个包。

laravel/agent-detector 仓库

源代码和最新支持的智能体列表请查看这里。
最后修改于 2026年7月18日