用途
Wizard 是一个 bash 脚本,用于引导用户一步步完成那些手动执行起来很繁琐、每次向 AI 重新解释也同样繁琐的流程。它适用于配置第三方服务、设置凭证或 CI、运行一次性迁移,或把项目从一种状态迁移到另一种状态。
主要能力
向导能够逐个打开 URL,明确指示用户点击和复制什么内容,捕获输入值,将值写入其应属的位置(.env、GitHub secrets),在每个阶段进行确认,并显示还剩多少个阶段。模板 template.sh 已提供现成的交互体验:分阶段进度、确认门、跨平台 URL 打开(包括 WSL)、隐藏密钥输入、幂等 .env 更新、gh secret/gh variable 写入以及结束摘要。
使用方式
向导的构建遵循一套流程:
- 界定流程:先阅读仓库(如 .env、.env.example、.env.、README、docker-compose、框架配置、.github/workflows/* 中的 secrets.* / vars.* 引用),找出所有人工步骤以及沿途捕获的每个值。然后向用户展示按顺序排列的阶段列表及每个阶段产生的值,并确认用户可以添加、删除或重新排序。
- 映射每个阶段的路径:为每个阶段写出用户遵循的精确路径,包括打开哪个 URL、在那里做什么、值显示在哪里、填入哪个变量。若不清楚当前 UI 或确切命令,应说明并询问用户或查阅文档,不可凭空编造步骤。
- 编写向导:将 template.sh 复制到目标路径,用每个步骤对应的阶段替换示例阶段,按依赖顺序排列。使用库提供的辅助函数:stage、say/step、open_url、ask/ask_secret、write_env、set_secret/set_var、pause/confirm。将 TOTAL_STAGES 设置为所写阶段的数量。每个阶段会清屏,因此一个阶段应只聚焦一个任务。不要改动标记之上的库部分。
- 验证与交付:运行 bash -n 检查脚本语法,如有 shellcheck 则运行它;执行 chmod +x 赋予可执行权限。不要自己端到端运行(因为会打开浏览器并阻塞等待人工输入),而是静态检查:步骤 1 中的每个值都被捕获并落到步骤 1 指定的位置,每个 set_secret 名称与 CI 中的 secrets.* 引用完全匹配。最后告知用户如何运行。如果是可重复的安装路径,则提交并从 README 链接,以便下一个人直接运行脚本而非询问 AI。
适用场景
适用于配置第三方服务、设置凭证或 CI、运行一次性迁移,或需要将项目从一种状态迁移到另一种状态的场景。
限制
Wizard 默认是临时的:为一次运行而构建,保存到临时路径或 scripts/ 路径,任务完成后即可删除。只有当用户希望拥有一个应留在仓库中的可重复安装路径时才应提交。不要端到端自行运行,因为它会打开浏览器并阻塞等待人工输入。公共分类、收费、价格、平台、效果等具体信息暂未提供。