Human Steps Wizard——人工步骤向导
Effort: free — 编写纪律加一次静态语法检查;零模型调用。消除:每次运行都把同一条只有人能点的路径重新解释一遍,以及顺手把密钥粘进被 git 跟踪的文件。
有些步骤只有人能做:在第三方后台里点来点去、创建凭证、确认开通页面。手工做一遍很烦,每次重新解释一遍更烦。向导把它们变成一次有引导的运行:一个分阶段的交互式 shell 脚本,打开每个 URL、精确说清点什么、复制什么、接住值、写到它该在的地方。
什么时候用
- 一次配置需要人去操作 API 够不着的界面——后台、控制台、凭证页、CI secret 页、 一次性迁移、切换上线。
- 路径长到每次重新解释都嫌疼。
什么时候不用:API 能做这一步(那就自动化——向导是最后手段),或者流程只有一两步(直接用大白话告诉人就行)。
形状
一个脚本,两个部分:
- 顶部的辅助函数库——每个向导里完全相同,绝不手改。它提供:带进度的阶段标题
("第 3 步,共 7 步")、人话旁白、跨平台打开 URL、密钥的隐藏输入、幂等的
.env更新(键存在就更新,不存在就追加)、写入你 CI 服务商的 secret 存储、一个确认/暂停 步骤、以及结尾对所有已采集值的汇总。 - 标记线以下的阶段——你唯一要写的部分。每个人工步骤一个阶段:打开 URL、说清 点什么复制什么、接住值、写到目的地。把总阶段数设对,让进度显示诚实。
流程
- 圈范围。 读 env 示例文件、README、部署配置、CI workflow。它们引用的每个 secret 或变量都是向导必须产出的值。把阶段顺序和涉及的值提前亮给人看——确认了 计划再动笔。
- 画出每个阶段的路线。 每阶段一行:URL → 操作 → 值 → 目的地。人在开始之前就 看到整条路。
- 编写。 复制模板。只写阶段部分;绝不碰函数库。旁白用大白话——跑这个脚本的人 不一定是工程师。
- 静态验证。 语法检查(
bash -n、shellcheck)、加可执行权限,然后逐阶段人工 走查:每个 URL 对吗、每条指令清楚吗、每个写入目标正确吗?不要端到端跑——它会弹 浏览器并阻塞等人输入。
硬规则
- secret 绝不碰被跟踪的文件。 采集到的值只落进 gitignore 的
.env或 CI secret 存储。脚本本身只带占位符;真实值由人在运行时粘贴。写进脚本里的真实密钥、主机名 或个人信息,本身就是 bug。 - 每次远程写入都单发、有界。 写 secret 存储就是一次 API 调用:不搞重试循环、 不狂敲。大声失败,让人重跑这个阶段。
- 默认用完即弃。 向导为一次运行而建,跑完删掉。只有人明确要一条可重复的配置 路径时才提交——而且提交的向导依然只带占位符。
- 确认步骤是人自己的暂停键,不是一道门。 它存在是让人检查自己的操作——绝不是 给人加审批摩擦。
搭配使用
- session-handoff——运行被拆开时,记下哪些阶段已经跑过。
- human-voice——每个阶段旁白所用的语气。
- bounded-loops——远程写入背后的不狂敲规则。
Scaffold credit: Matt Pocock, wizard (mattpocock/skills). The composition and hard rules here are BACKS AIOS.