需手动安装think-ai-expert扩展并配置api地址、密钥与超时参数,注册中间件并确保执行顺序正确,方可启用专家模式;支持代码调用、模板标签及api请求三种诊断方式。

你需要在ThinkPHP项目中启用专家模式,让141位AI顾问实时响应专业问题,比如模型验证失败原因、路由解析异常、Db类事务回滚失效等具体报错场景。这个模式不是官方内置功能,而是通过第三方扩展包+定制化服务端代理实现的轻量级AI集成方案,必须手动配置服务地址、密钥和请求拦截规则才能生效。
安装专家模式核心扩展包
执行命令安装think-ai-expert扩展:composer require topthink/think-ai-expert:dev-master。
安装完成后检查vendor/topthink/think-ai-expert/src/目录是否存在ExpertMode.php文件——【缺少该文件说明安装未完成,后续所有配置将无效】。
这一步操作起来很简单,直接把命令复制进终端回车就行。
配置AI服务端连接参数
打开config/ai_expert.php文件,在return数组中填入以下三项:
'api_url' => 'https://api.thinkphp-ai.com/v1/expert/query',
'api_key' => 'sk-xxx-your-32char-secret-key',
'timeout' => 8。
注意:api_key必须是32位小写字母+数字组合,从控制台复制时容易多带空格或换行符,建议粘贴后用strlen()函数校验长度是否为32。
注册专家模式中间件并启用拦截
第一步:在app/middleware.php中追加中间件声明:
'think\ai\ExpertModeMiddleware' => \think\ai\ExpertModeMiddleware::class,
第二步:打开app/middleware.php中的全局中间件数组,将上面注册的键名加入到数组开头位置;
第三步:在app/http/Kernel.php的$middleware属性中,确保ThinkPHP默认的ValidateMiddleware排在ExpertModeMiddleware之后——【顺序颠倒会导致验证错误被AI提前拦截,返回结果缺失字段校验上下文】。
触发专家诊断的三种方式
方法一:在控制器任意位置调用\think\facade\AI::diagnose($e),其中$e必须是Throwable实例,例如捕获到DbException后立即传入。
方法二:在模板中使用{__AI_DIAGNOSE__}标签,该标签仅在调试模式下生效,生产环境自动忽略。
方法三:向/api/ai/expert端点发起POST请求,body需为JSON格式,包含code(错误码)、message(原始报错信息)、context(当前Request参数快照),响应体将返回141位AI顾问的共识结论与修复建议列表。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











