说明:本文是整理,不是新实测。内容来自完整版自带的安装脚本原文(scripts/install.sh、scripts/install.ps1)与 2026-10-01 的实测记录:install.sh 在 Linux 下实测通过、install.ps1 经 pwsh 端到端跑通、GitHub Actions 三系统安装测试在修掉花括号问题后全绿。安装脚本不在本文讨论范围之外编造新测试。
- 变量后面紧跟中文,全角字符会把变量名吃掉
macOS 自带 bash 3.2 下,$var 后面紧跟中文或全角字符时,变量名边界解析会出问题,set -u 下会报 unbound variable。修法只有一个:变量后面凡是紧跟非 ASCII 字符,一律写成 ${var} 花括号形式。
完整版 install.sh 里就是这么写的:变量在拼接中文提示语时一律用花括号形式。2026-10-01 的 CI 序列也印证了这一点:两次失败之后,改成“全角字符前的变量一律加花括号”才全绿。
自查方法:对脚本跑一遍正则,找 $变量名 后面直接跟非 ASCII 字符的地方,全部改成花括号。
- set -u 下,命令替换赋值先给变量占个位
install.sh 开头是 set -euo pipefail。验证段里有一个 got=0 的预初始化,注释写明了原因:老版本 bash(如 macOS 自带 bash 3.2)对命令替换赋值的处理有怪癖,不先占位会在 set -u 下误报 unbound variable。
这不是为了好看,是实测里踩出来的:验证段要先后统计 Claude 目录文件数和 Codex 的 SKILL.md 数,got 会被两次命令替换赋值,不预初始化就可能在老 bash 上误报。
- 旧版 Codex 会静默失败,脚本里直接写了版本警告
install.sh 结尾有 codex 版本检查:如果检测到的 codex 是 0.149.x,会直接打印警告,提示这是已知会静默失败的旧版,请升级到 0.159+。装完命令调不出来时,先看这行警告,比反复重装省时间。
对应的实测结论写在脚本注释里:旧版 0.149.0 会静默失败,见测试记录-D2.md。
- 两个 CLI 的安装位置本来就不一样,别按一个路径找
Claude Code:~/.claude/commands/.md,扁平文件,原样复制。Codex CLI:~/.codex/skills//SKILL.md,目录结构,frontmatter 只留 name 和 description,自定的 cli: 行会被去掉。
install.sh 和 install.ps1 都是这个逻辑:先按 CLI 分流,再做 frontmatter 机械转换(只处理文件开头的第一个 --- ... --- 块,块外正文原样保留)。装完只在一个 CLI 里找、另一个里没有,多半是按错路径查了。
Windows 侧对应的是 install.ps1(PowerShell 5.1 / 7+),同样支持只装一个 CLI 的参数,并且要求用 UTF-8 with BOM 保存,否则 PowerShell 5.1 下中文显示会出问题。
- 安装脚本自带的验证,别跳过
install.sh 装完会自己数一遍:Claude 目录文件数、Codex 的 SKILL.md 数,与命令文件数对不上就判失败;还会抽查一个转换结果,确认 frontmatter 里不再有 cli: 行。
脚本可重复执行、幂等:重复安装会覆盖旧文件,不会产生重复。装完验证的方法很简单:新开一个终端会话,输入 /review(或任意 command 名),再说一句“/onboard 介绍一下这个目录”,看它是否按中文流程工作。
不用这套安装脚本的场景
只想先读 3 条 Lite 版命令看看,不想装完整版:直接按 Lite 版的说明装,不用跑完整版脚本。已经手动把命令文件放到了正确位置且验证通过:不用再跑一遍脚本覆盖。
价格与链接
完整版中文 AI 编程 CLI 工作流包:早鸟 ¥9.90(限前 100 份),正式 ¥19.90。
Lite 版公开仓:https://github.com/alapha888/cn-ai-coding-workflow-lite
爱发电商品页:https://afdian.com/item/8c9c0932bd7711f19eb852540025c377
