整理说明:本文是 2026 年 10 月 1 日一次真实卡点的整理,不是今天新跑的测试。所写经过与结果均来自当时的记录;原始报错原文没有留痕,本文不补写。
背景
完整版 v1.0 打包那天,Windows CI 工作流已经就绪,Lite 公开仓也已经建好,里面是 3 条命令、引流 README、MIT 协议。下一步是把 .github/workflows/test-install.yml 推上 Lite 仓,让 CI 真跑一次。
结果卡住了:workflow 文件推不上去。当时复查仓里,.github/workflows 是 404,文件根本没落仓。
症状与误判
这个卡点容易误判成脚本问题:既然是 CI 没跑,第一反应往往是去改 install.sh、install.ps1。但当时文件还没进仓,CI 连跑的机会都没有,改脚本改不到点子上。
先分清两层:第一层是文件有没有进仓,第二层才是进仓后 CI 跑不跑得过。当时卡在第一层。18:40 那轮复查,.github/workflows 仍是 404,说明问题不在脚本,在推送这一环。
查权限:token 缺 workflow scope
当时记录的原因是:gh token 缺 workflow scope。GitHub 对 workflow 文件有单独的权限门:没有这个 scope 的 token,推 .github/workflows 下的文件会被挡住,其他普通文件照常能推。这就解释了为什么仓能建、README 能推,偏偏 workflow 文件上不去。
排查顺序应该是:先查你用的 token / 授权有没有 workflow 权限,再去怀疑脚本和网络。如果 token 是别人给的、或者是很早以前生成的,先确认它的 scope 清单,而不是默认它什么都能推。
换打法:网页端补文件
当时走的打法是派浏览器任务走网页端添加 workflow 文件并触发 CI,不再跟缺 scope 的 token 死磕。时间线要如实写:17:28 发现卡点并派了网页端任务,18:40 复查时文件仍未落仓,19:40 复查时文件已在仓内,CI 序列才开始跑(18:45、18:50 两次失败是脚本问题,见花括号规则篇;18:54 三系统全绿)。
中间哪一步最终打通的,当时的记录没有逐一留痕,本文不编一个确定的说法。能确定的是两点:第一,缺 scope 的 token 推不上去是真实卡点;第二,文件落仓是 CI 能跑的前提,文件没进仓之前,谈 CI 绿不绿没有意义。
权限提醒:别为了省事乱给 scope
workflow 权限敏感,因为工作流可以接触仓库的 secret 和自动化能力。不要因为一次推不上去,就给一个长期共用的 token 顺手加上所有权限。更稳妥的做法是:只给确实需要推 workflow 的那次授权、或者走网页端这类不依赖该 token 的路径,用完再看权限清单里还剩什么。
不用场景
token 本来就有 workflow 权限、或者仓库根本不用 GitHub Actions 时,这一篇用不上。这篇只解决一种情况:普通文件能推、workflow 文件推不上去,先查权限,别先改脚本。
价格口径
中文 AI 编程 CLI 工作流包完整版:早鸟 ¥9.90(限前 100 份),正式 ¥19.90。Lite 版免费版已含 /test、/review、/commit 3 条命令与安装脚本,完整版为 10 条全量,不把 Lite 已含命令写成完整版独占。