SuperAPI AI 工具集

codex-app-ref-refresh

编程与开发

查看项目

更新于 10-15 23:32

技能介绍

用途:从已安装的 macOS ChatGPT.app 的 app.asar 中提取并刷新当前工作区下的 ./ref 参考源码目录,供 Codex 获取最新安装的 ChatGPT 应用代码。

主要能力:在仓库根目录运行脚本 node .agents/skills/codex-app-ref-refresh/scripts/refresh-codex-ref.mjs,依次执行同步、格式化、报告三步。同步只删除 <cwd>/ref,再把 /Applications/ChatGPT.app/Contents/Resources/app.asar 解压到新的 ref 目录。格式化对提取出的每个 .js 与 .css 文件运行 Prettier(--write --ignore-path /dev/null),跳过 ref 下的 node_modules;会刻意绕过 .gitignore 和 .prettierignore,使被忽略的 ref/ 仍被格式化。写入后用 --list-different --ignore-path /dev/null 校验 JS,对剩余 JS 文件再次运行 Prettier;CSS 仅格式化,不作为硬性校验门槛,因为打包的 Tailwind CSS 在 Prettier 下可能非幂等。该格式化步骤默认始终开启,除非用户明确要求,否则不要跳过。报告打印已格式化文件数与完成行。

使用方式:确认当前工作目录为目标工作区后运行脚本。可通过环境变量 CHATGPT_APP_ASAR=/path/to/app.asar 指定其他应用包位置,旧的 CODEX_APP_ASAR 变量仍兼容。仅在用户明确要求时传 --skip-format 跳过格式化;传 --dry-run 可只查看解析路径而不删除或提取。

验证与限制:格式化是刷新的必需部分,最小化的 asar 输出在格式化前不可读。脚本会输出 Formatting N JS/CSS file(s)…、Prettier verification complete. 和 ChatGPT app ref refresh complete.;若出现再次格式化提示,须随后出现验证完成才算成功;若跳过格式化会记录 Skipping Prettier formatting.,除非是刻意使用 --skip-format,否则视为刷新不完整。可抽查 ref 下的已知 JS 或 CSS 文件是否为多行格式化结果。手动对 ref 运行 Prettier 校验时需带 --ignore-path /dev/null,否则可能因 ref/ 被 git 忽略而跳过文件,JS 文件建议用严格手动校验。安全上不要从错误目录运行,脚本会替换 ./ref;应优先使用脚本而非手动串联 rm、npx @electron/asar 和 prettier。运行后应报告提取出的 ref 路径及格式化是否完成。