这个Skill是干嘛的
做过Mastra项目的人都懂那种痛——每次新建项目要手动配环境、跑服务、再一个个页面点过去验证有没有问题,光这套流程就能消耗掉半小时。smoke-test这个Skill就是专门来解决这个问题的:它能自动用create-mastra脚手架创建新项目,然后驱动Chrome浏览器对Mastra Studio做全流程冒烟测试,从Agents到Workflows再到Observability,一条命令全搞定。
核心功能
smoke-test的核心逻辑分两段走:第一段是项目创建,支持npm、yarn、pnpm、bun四种包管理器,支持openai、anthropic、groq、google、cerebras、mistral六种LLM提供商,通过显式传参避免CLI交互式询问,整个过程全自动。
第二段是Studio冒烟测试,覆盖范围相当完整:
- Agents页面加载与对话验证
- Network Mode多智能体协作测试(自动创建planner-network)
- Tools页面执行weatherTool并验证JSON输出
- Workflows可视化图谱与执行结果验证
- Scorers列表与详情页加载
- Observability追踪链路时序查看
- Settings、Templates、Processors等辅助页面
每个测试节点都会自动截图,最终输出通过/失败汇总报告,排查问题有图有真相。
适用平台
smoke-test作为一个标准的Mastra Skill文件,可以无缝接入主流AI编程助手。无论你用的是Cursor、GitHub Copilot、Claude Code,还是OpenAI Codex、Gemini Code Assist,甚至国内的文心快码、腾讯云CodeBuddy、华为云CodeArts,都可以直接加载这个Skill,让AI助手理解完整的测试流程上下文,执行时不再需要你反复解释步骤。它相当于给这些IDE装了一个专属的Mastra测试外挂,上下文理解能力直接拉满。
实操代码示例
调用方式非常简洁,最小化参数只需三个:
# 最简调用
/smoke-test -d ~/projects -n my-test-app -t latest
# 完整参数指定
/smoke-test --directory ~/projects --name my-test-app --tag alpha --pm pnpm --llm anthropic
# 指定具体版本号
/smoke-test -d ./projects -n smoke-test-app -t 0.10.6 -p bun -l openai
Skill内部会自动处理参数校验,如果必填项缺失会直接报错并展示用法说明,不会让你在执行到一半时才发现问题。创建项目时使用的命令示例如下:
# pnpm方式创建,包含所有组件和示例代码
pnpm create mastra@latest my-test-app -c agents,tools,workflows,scorers -l anthropic -e
其中-c agents,tools,workflows,scorers确保所有组件都被包含,-e标志会生成示例代码,让冒烟测试有实际内容可以跑。
优势分析
市面上的测试自动化工具大多需要你先有一个跑起来的项目才能介入,而smoke-test把项目创建和测试验证合并成了一个原子操作。这对于CI/CD流水线里验证新版本脚手架是否正常工作特别有价值——你不需要维护一个专门的测试项目,每次都从零创建,测完即弃,结果更可靠。
另一个亮点是环境变量的智能处理策略:先检查全局环境变量,有就直接用,没有再查项目.env文件,最后才询问用户。这个顺序设计避免了在CI环境里反复输入密钥的尴尬。
Network Mode的自动配置也值得一提。Mastra的多智能体网络需要同时满足agents属性和memory配置两个条件,这个细节很容易踩坑,smoke-test直接帮你把activity-agent和planner-network的模板代码生成好,不用自己查文档摸索。
应用场景
场景一:Mastra新版本发布验证。每次create-mastra发布新tag,用smoke-test跑一遍,5分钟内知道Studio各页面是否正常,比人工点击快10倍。
场景二:多LLM提供商兼容性测试。同一个项目分别用openai和anthropic跑一遍,对比Agent响应是否正常,排查提供商特定的兼容问题。
场景三:团队新成员环境验证。新人入职,一条命令验证本地开发环境是否配置正确,截图报告直接发给mentor确认,省去来回沟通。
场景四:PR合并前的回归测试。在GitHub Actions里集成smoke-test,每次PR合并前自动跑一遍冒烟,有问题截图直接附在CI日志里。
最佳实践
版本tag管理:建议在CI环境里固定使用具体版本号(如0.10.6)而不是latest,避免因脚手架更新导致测试结果不稳定。本地开发验证新版本时再用latest或alpha。
项目目录清理:smoke-test每次都会创建新项目目录,建议在CI流水线里加一个清理步骤,或者给项目名加上时间戳(如smoke-test-20250101),避免目录冲突。
端口冲突处理:Mastra Studio默认跑在4111端口,如果本地已有其他服务占用,需要提前释放。可以在Skill调用前加一步lsof -ti:4111 | xargs kill -9确保端口干净。
截图存档策略:测试产生的截图建议按日期归档,配合Observability页面的追踪数据,能形成完整的测试历史记录,方便后续问题复现。
如果你在团队里维护多个Mastra项目,把smoke-test和其他工程化Skill统一管理会省很多事。Skill优仓上有大量类似的工程自动化Skill资源,可以按需组合使用,搭建属于自己团队的Skill工具箱。









暂无评论内容