- AI 应用
- 提示工程
- 人工智能
- 前端
【免费下载链接】ChatGPT-Shortcut
Stop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor · Русский 한국어 العربية हिन्दी ไทย | 别再从头写提示词:现成的拿来就用,好用的收进自己的库
本文讲解如何让 AI Short(ChatGPT-Shortcut)在 GitHub 上的 Fork 自动跟随上游仓库更新。针对最常见的痛点——通过 Vercel 一键部署后网站持续提示"有可用更新"——给出"删除原仓库、Fork 本项目、重新导入 Vercel"的完整替换流程,并结合仓库源码说明每日自动同步机制的触发方式、Upstream Sync 报错的处理办法,以及手动同步 fork 的替代方案。读完本文,你可以让自己的私有部署长期跟随上游功能演进,而无需每次手动拉取代码。
问题背景:Vercel 一键部署为何一直提示"有更新"
文档原文(见 中文文档 及其各语言译本,如 西班牙语版)开宗明义地解释了这一现象:
Vercel 一键部署的项目可能一直提示存在更新——因为 Vercel 默认新建项目而非 fork,无法检测上游更新。
原理上,Vercel 的 Deploy 按钮在导入仓库时创建的是一个全新的、独立的项目仓库,它与上游(本仓库)之间不存在 fork 关系。Git 的"上游检测"依赖 fork 关系:只有当你的仓库是上游的 fork 时,GitHub 才能比对两边的 commit 并提示"Sync fork / 有可用更新"。Vercel 新建的仓库没有这条关系,所以部署平台无法识别上游变更,也就无法通过"一键更新"把新代码同步进来。
对 AI Short 这样的提示词库站点,这个问题尤其值得处理:上游会持续新增提示词卡片、界面功能与多语言内容(仓库的 i18n 目录覆盖 17 个语言,例如i18n/es/、i18n/zh-Hant/等),长期不跟随上游意味着站点内容逐渐落后。
解决方案:删除原仓库,改用真正的 Fork
文档给出的标准做法分三步:
- 删除原仓库:删除你之前通过 Vercel 新建的那个独立仓库(连同 Vercel 中对应的旧项目一起清理),因为它无法检测上游更新;
- Fork 本项目:用项目页面右上角的Fork按钮 fork 本项目。这样你的仓库与上游之间建立了标准的 fork 关系,GitHub 会持续跟踪两边的差异;
- 在 Vercel 重新导入 fork 并部署:在 Vercel 新项目页面(
https://vercel.com/new)的Import Git Repository处,选择你刚 fork 出来的仓库并部署。
完成后,Vercel 项目的代码来源就变成了你的 fork 仓库,它既保留了与上游的 fork 关系(可以检测并同步更新),又能被 Vercel 正常构建部署。构建侧无需额外配置:从 package.json 可见,"build": "node scripts/buildPhased.mjs"是标准的 Docusaurus 构建入口,Node 引擎要求>=20.0,Vercel 环境直接执行yarn install && yarn build即可。
适用前提:本方案面向"标准部署"形态(复用官方共享后端)的 fork 用户,完整部署方式说明见 项目部署总览 与 标准部署;自定义网站名称、描述、提示词等配置见 配置与自定义。
打开自动更新:启用 Upstream Sync 工作流
Fork 之后,GitHub 会自动注入一个名为Upstream Sync的 Actions 工作流,但出于安全考虑,新 fork 仓库默认不会自动运行它,需要手动启用:
- 进入你的 fork 仓库,打开Actions页面;
- 手动启用被禁用的 Workflows;
- 手动执行一次Upstream Sync工作流。
文档中特别标注了一个关键排障提示:
如果遇到 Upstream Sync 执行错误,请手动执行一次 Sync Fork!
也就是说,首次自动同步失败时,最稳妥的恢复手段是在仓库页面上手动触发一次"Sync fork"按钮(它等价于把上游最新 commit 合并/快进到 fork 的默认分支)。手动跑通一次后,该工作流即进入常态运行,项目会每天自动同步一次上游更新。
每次同步合并进新代码后,Vercel 会监听 fork 仓库main分支的 push 事件并自动重新构建部署,无需人工干预——这正是"自动跟随上游"的闭环:上游 push → Upstream Sync 每日合并到 fork → Vercel 自动重新部署。
从源码结构看:同步下来的到底是什么
理解同步的内容量级,有助于评估"每日自动同步"的实际收益。从本仓库的构建与数据管线可以看出,一次上游更新往往牵动大量生成文件:
- CodeUpdateHandler.py 负责把 src/data/prompt.json 按 17 种语言(
zh-Hans, en, zh-Hant, ja, ko, es, pt, hi, ind, vi, th, fr, de, it, ru, ar, tr, bn)拆分写入 src/data/prompt_{lang}.json;同时把每张提示词卡片写入src/data/cards/{id}_{lang}.json,并批量生成src/pages/prompt/{id}.tsx与i18n/{lang}/docusaurus-plugin-content-pages/prompt/{id}.tsx等页面文件(仅西班牙语一个语言就有 279 个 prompt 页面)。换句话说,上游新增一条提示词,同步下来就是 17 张多语言卡片 + 一批页面文件,这类文件手工同步极易遗漏; - 每个 card JSON 中带有
datePublished/dateModified字段,由构建脚本比对内容是否变化后决定保留或刷新(见 CodeUpdateHandler.py 的注释),同步后重新构建即可正确更新这些时效性元数据; - 仓库还包含 Dockerfile、docker-compose.yml、nginx.conf 等文件,走 Docker 部署的用户同样受益于 fork 同步:同步合并后重新执行
docker compose up -d --build即可拿到最新代码。
可以推断,"每天自动同步"的价值主要正体现在这里:多语言数据与生成页面的更新完全由上游流水线完成,fork 侧只需被动接收合并结果,避免手动 cherry-pick 大量生成文件。
手动更新代码:立即同步的替代方案
如果不想等下一次每日自动同步,想立即把上游最新代码合入自己的 fork,可以采用 GitHub 标准的同步 fork 流程(文档指向 GitHub 官方的 "Syncing a fork" 文档)。核心 git 命令如下(在你的 fork 仓库工作目录中执行,<fork-remote>/<upstream>按你的远端命名替换):
# 1. 添加上游远端(上游即 AI Short 原始仓库) git remote add upstream <上游仓库地址> # 2. 拉取上游最新提交 git fetch upstream # 3. 切回默认分支并合并 git checkout main git merge upstream/main # 4. 推送到自己的 fork git push origin main注意两点:git merge可能产生冲突(若你在 fork 上修改过上游同样改动的文件,例如提示词数据或 i18n 翻译),需要按 配置与自定义 的说明保护好自己的定制内容后再解冲突;合并推送后 Vercel 会自动触发重新构建。
保持关注与小结
文档最后还提示:给项目 star / watch,可以及时收到新功能的更新通知——在开启每日自动同步的前提下,这是了解"上游这次同步到底带来了什么变化"的低成本渠道。
小结一下本文的核心路径:
| 步骤 | 操作 | 目的 |
|---|---|---|
| 1 | 删除 Vercel 创建的旧独立仓库 | 消除"无 fork 关系、无法检测更新"的根源 |
| 2 | 用页面右上角Fork按钮 fork 本项目 | 建立与上游的标准 fork 关系 |
| 3 | Vercel 新项目页面重新导入 fork 并部署 | 部署来源切换为可同步的 fork |
| 4 | Actions 页面启用 Workflows 并手动跑一次Upstream Sync | 激活每日自动同步;报错时先手动 Sync fork 一次 |
| 5(可选) | 手动git fetch upstream && git merge upstream/main && git push | 不想等待每日同步时立即更新 |
开启这套机制后,你的 AI Short 私有部署即可在保留自定义配置的同时,每天自动跟随上游的提示词库与功能更新,持续保持与 项目部署文档 所述"标准部署"形态的能力一致。
- AI 应用
- 提示工程
- 人工智能
- 前端
【免费下载链接】ChatGPT-Shortcut
Stop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor · Русский 한국어 العربية हिन्दी ไทย | 别再从头写提示词:现成的拿来就用,好用的收进自己的库
相关推荐
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考