据 Joe Tannenbaum(Laravel 官方工程师)分享,直接把 CLI 爱好者们看呆了:
“我们做 Cloud CLI 时搞出一堆新交互组件,索性直接塞进 Prompts 里了!”
一句话总结:
Laravel 把命令行从“上世纪 DOS 时代”直接拉到了 2026 年的现代 Web 体验。
不再是干巴巴的输入框、静态文字、等半天没反馈的进度条,而是动画、实时日志、桌面通知、流式输出、动态预览全都有了。
核心一览
下面直接上 7 个最常用也是最常痛的功能,看完你大概率会想立刻去造一个命令行应用。
-
task() —— 长任务终于有“活的”进度条 + 实时日志
以前跑迁移、部署、数据同步,只能info('处理中...')干等。
现在task()一出,终端瞬间变身现代应用:- 转圈 spinner 实时转
- 日志一行一行滚上去(像 npm install 那样)
- 成功/失败消息永久固定在底部
- 过程中还能动态改标题
视频效果看一次就上头:日志像瀑布一样流,最后绿色的“部署成功!”静静躺在那,太治愈了。
-
stream() —— AI 响应逐字打字,丝滑到爆炸
配合 Laravel AI SDK,AI 生成内容不再是“等半天突然全吐出来”。
stream()支持淡入动画、自动换行、ANSI 颜色,完美模拟“AI 在你眼前实时思考打字”。想象一下:
$stream = stream();
foreach ($agent->generate() as $chunk) {
$stream->append($chunk);
}
$stream->commit(); // 最后提交,完美收尾
写个 AI 辅助的代码审查命令,终端里 AI 一句一句给你分析 bug,爽到飞起。
-
autocomplete() + 动态 info 面板
输入时实时提示,还能允许自由输入。
最绝的是:Select / Multiselect / Search 现在支持info闭包,选中哪个选项,右侧立刻弹出价格、描述、ID、预览图等动态信息。用户边看边选,体验直接起飞。以前要么纯文本,要么自己写 ncurses,现在一行代码就行。
-
notify() —— 原生桌面通知 + 声音
部署完去刷手机?没问题。
后台任务跑完,macOS 直接弹窗 + 声音提示“部署成功!”
Linux 还支持自定义图标。
这功能一出,CLI 彻底从“后台黑盒”变成“能跟你互动的现代应用”。 -
title() —— 实时改终端窗口标题
后台跑任务时,终端标题自动变成“部署中… 45%” → “测试通过” → “上线成功”。
切出去看代码时一眼就能看到进度,太人性化了。 -
Form 导航 + CTRL+U 返回修改
多步表单现在支持上下切换、CTRL+U 清空当前字段返回上一步。
体验和现代 Web 表单几乎一模一样。 -
内置测试支持 + Pest/PHPUnit 友好
所有提示都能被 mock,写测试时再也不用手动模拟输入了。
为什么这次更新这么香?
以前写 CLI 总觉得“原始”“丑”“没反馈”。
现在 Laravel Prompts 把浏览器里好用的交互(占位符、实时验证、动态提示、流式输出、桌面通知)全部搬到命令行。
尤其是配合 Laravel 13 的 AI SDK,你现在可以轻松写出:
- AI 驱动的部署工具(实时日志 + 通知)
- 智能配置向导(动态预览 + autocomplete)
- 带流式输出的代码审查脚本
- 实时监控 + 桌面弹窗的运维命令
一句话总结:
Laravel 把 CLI 做成了现代应用该有的样子。
快速上手(Laravel 13 已内置)
# Laravel 项目直接用
php artisan make:command MyAwesomeCommand
# 非 Laravel 项目
composer require laravel/prompts
Joe 在最后说:“我们想让大家能轻松构建强大、智能的 CLI 应用,有什么需求尽管提!”
完整文档(强烈建议看视频示例):https://laravel.com/docs/13.x/prompts
原推: https://x.com/joetannenbaum/status/2034297219612914169