ChatGPT-Shortcut 同步更新指南:让 Vercel 部署的 Fork 自动跟随上游
AI 应用提示工程人工智能前端【免费下载链接】ChatGPT-ShortcutStop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor · Русский 한국어 العربية हिन्दी ไทย 别再从头写提示词现成的拿来就用好用的收进自己的库项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-Shortcut点击查看免费下载本文围绕 ChatGPT-ShortcutAI Short的“开启同步更新”文档展开解释为什么 Vercel 一键部署的实例会一直提示“存在更新”给出“删除原仓库 → Fork 项目 → 在 Vercel 导入 Fork 重新部署”的标准解法并逐行剖析仓库内 Upstream Sync 工作流的触发时机、权限配置与失败兜底逻辑。读完后你可以让自部署的实例每天自动跟随上游代码更新并知道同步失败时如何手动补救。问题背景为什么一键部署后一直提示“有更新”ChatGPT-Shortcut 的 部署文档 支持标准部署、离线部署等形态最常见的路径是通过 Vercel 一键部署按钮拉起自己的实例。但 README 中明确提示了一个坑Vercels one-click deploy creates a new project (not a fork), so the upstream-update check wont work.Vercel 的一键部署会新建一个项目而非 fork所以上游更新检查不会生效。原因很直接Vercel 的一键部署本质上是通过“克隆”方式在你账号下新建了一个独立的仓库项目它与上游仓库rockbenben/ChatGPT-Shortcut之间不存在 Git fork 关系。没有 fork 关系就没有“上游/下游”这条链路站点自然检测不到上游是否有新提交于是页面上的“存在更新”提示会一直挂着。解决思路是把部署源从“新建项目”换成“真正的 fork”再让 fork 自动跟随上游。标准解法Fork 后在 Vercel 重新导入按 开启同步更新对应中文原文 docs/deploy/sync-updates.md给出的三步操作删除原仓库把 Vercel 一键部署生成的那个“非 fork”仓库删掉Fork 本项目使用项目页面右上角的Fork按钮 fork ChatGPT-Shortcut这样新仓库才带有所需的.github/workflows/同步配置并与上游建立 fork 关系在 Vercel 重新导入并部署进入 Vercel 的新项目页面在 Import Git Repository 处选择刚 fork 的仓库而不是原项目完成部署。完成这三步后你的部署源就是一个标准 fork后面的自动同步才有生效的前提。仓库源码剖析Upstream Sync 工作流fork 关系建立后自动同步由仓库内的工作流.github/workflows/rsync.yml实现。这个文件就是文档中“在 Actions 页面启用 Workflows”所指的目标工作流完整内容如下name: Upstream Sync permissions: contents: write on: schedule: - cron: 0 0 * * * # every day workflow_dispatch: jobs: sync_latest_from_upstream: name: Sync latest commits from upstream repo runs-on: ubuntu-latest if: ${{ github.event.repository.fork }} steps: - name: Checkout target repo uses: actions/checkoutv6 - name: Sync upstream changes id: sync uses: aormsby/Fork-Sync-With-Upstream-actionv3.4 with: upstream_sync_repo: rockbenben/ChatGPT-Shortcut upstream_sync_branch: main target_sync_branch: main target_repo_token: ${{ secrets.GITHUB_TOKEN }} # automatically generated, no need to set test_mode: false - name: Sync check if: failure() run: | echo ::error::由于权限不足导致同步失败这是预期的行为请前往仓库首页手动执行[Sync fork]。 echo ::error::Due to insufficient permissions, synchronization failed (as expected). Please go to the repository homepage and manually perform [Sync fork]. exit 1从源码结构看这个工作流的设计要点有四处正好对应文档中的操作说明1. 每天一次的定时触发 手动触发schedule.cron: 0 0 * * *表示每天UTC 0 点自动执行一次——这就是文档所说“启用后项目每天自动同步”的实现workflow_dispatch则允许你在 Actions 页面手动点击运行对应文档中“手动跑一次 Upstream Sync Action”的要求。2. 只写内容且仅在 fork 仓库中生效permissions: contents: write授予工作流写内容的最小权限这是把上游提交合并进你分支所必需的任务的if: ${{ github.event.repository.fork }}条件保证该工作流只在你 fork 出来的仓库里执行。这一点印证了前文“必须先 fork 再部署”的必要性——如果部署源不是 fork这个条件为假同步任务根本不会运行。3. 上游来源硬编码为main分支upstream_sync_repo: rockbenben/ChatGPT-Shortcut、upstream_sync_branch: main、target_sync_branch: main三个参数表明同步方向固定为“上游main→ 你的 fork 的main”使用的是社区通用的 Fork-Sync Actionaormsby/Fork-Sync-With-Upstream-actionv3.4令牌直接取 GitHub 自动生成的secrets.GITHUB_TOKEN无需自行配置任何 Secret。4. 权限失败时的双语错误兜底最后一个Sync check步骤带if: failure()只在同步失败时输出由于权限不足导致同步失败这是预期的行为请前往仓库首页手动执行[Sync fork]。这解释了文档中那句醒目提示——“如果遇到 Upstream Sync 执行错误请手动执行一次 Sync Fork”。fork 刚建立时GitHub 出于安全考虑会默认禁用fork 仓库里的工作流Workflow dispatch 被置灰此时定时任务拿不到足够权限而失败工作流便输出上述提示指引你到仓库首页手动执行一次Sync fork。执行一次后权限链路打通后续每日自动同步即可正常进行。启用步骤Fork 后开启自动同步结合上面的工作流实现完整启用流程是Fork 项目并在 Vercel 导入该 fork 完成部署进入 fork 仓库的Actions页面启用 Workflowsfork 默认处于禁用状态手动运行一次Upstream Sync工作流若该次运行失败并出现“权限不足请手动执行 Sync fork”的红字提示前往仓库首页点击Sync fork按钮执行一次手动同步之后每日定时同步即可生效。手动更新立即拿到上游最新代码如果不愿意等当天的定时任务也可以随时手动同步。GitHub 官方对同步 fork 的说明见其文档Syncing a fork核心思路都是先把上游main拉进来再合并到你自己的main例如git remote add upstream https://github.com/rockbenben/ChatGPT-Shortcut.git git fetch upstream git checkout main git merge upstream/main git push origin main对于 fork 仓库直接点仓库首页的Sync fork → Update branch是最省事的方式效果与上面等价。同步后的部署链路为什么推送到 main 就自动上线自动同步把上游main合并进你的 forkmain后部署如何跟进这由另一份工作流.github/workflows/main.yml保证它监听push到main分支的事件执行actions/checkoutv6fetch-depth: 0以拿到完整历史、Node 24 yarn install --frozen-lockfile安装依赖、yarn build构建站点。从源码结构看每次 Upstream Sync 合并产生新的main提交后都会触发这条构建/部署链路——“每天同步 推送即构建”两段拼起来才构成文档承诺的“项目每天自动同步”闭环。构建侧的一个细节值得注意docusaurus.config.js 中站点通过git log取最后提交时间作为文档“最近更新”时间Dockerfile 则在 Docker 场景下设置SKIP_GIT_INFOtrue跳过 git 依赖。也就是说文档页面上的时间戳、sitemap 的 lastmod 都来自 git 历史——fork 通过同步持续获得新的上游提交时间这些信息会随每日同步自然刷新。小结Vercel 一键部署创建的是独立项目而非 fork导致上游更新检测失效正确姿势是删除原仓库 → Fork → Vercel 导入 fork 重新部署fork 仓库内的 Upstream Sync 工作流 每天定时把上游main合并到你的main失败时会明确提示手动执行Sync fork同步产生的main推送再由 main.yml 的构建流程接管完成每日自动更新急用时可用 GitHub 的 Sync fork 能力立即拉取上游代码。如果你希望第一时间获得功能更新通知也可以给本项目 star / watch以便在有新功能时及时收到提醒。赞分享AI 应用提示工程人工智能前端【免费下载链接】ChatGPT-ShortcutStop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor · Русский 한국어 العربية हिन्दी ไทย 别再从头写提示词现成的拿来就用好用的收进自己的库项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-Shortcut点击查看免费下载相关推荐TiXL 资产库自动同步指南让 Assets 窗口实时跟随外部文件变更TiXL 资产库自动同步指南让 Assets 窗口实时跟随外部文件变更 TiXLt3作为一款实时动态图形创作工具素材文件的增删改是工作流中的高频操作。本音视频图形学桌面应用QM 源码 Fork 与包部署的更新同步实战merge 上游、解决冲突并安全合入 PRQM 源码 Fork 与包部署的更新同步实战merge 上游、解决冲突并安全合入 PR 本指南以仓库内 Claude Code/Codex 技能 update后端人工智能AI Agent前端AI 技能first-contributions 仓库同步指南用 Triangle Workflow 让 Fork 与上游仓库保持最新first contributions 仓库同步指南用 Triangle Workflow 让 Fork 与上游仓库保持最新 本篇技术指南以 first co文档教程开源治理上一篇3步搞定Linux系统最新Chromium浏览器自动化安装快速部署指南下一篇AI虚拟人一键部署终极指南从零开始构建实时交互数字人创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Pikachu靶场SQL注入通关笔记:从环境搭建到手工注入与sqlmap验证

Pikachu靶场SQL注入通关笔记:从环境搭建到手工注入与sqlmap验证

手边正好在整理靶场笔记,看到Pikachu的SQL注入模块,索性把从环境搭建到数字型、字符型、搜索型这几个题目的通关思路完整写下来。对刚开始刷靶场的朋友来说,这套题算是性价比很高的一课,因为注入的每种形态都有,搞懂它…

2026/9/25 2:34:10 阅读更多 →
html-ppt-skill 的 tech-sharing 全 deck 模板:拆解一套 GitHub 暗色技术分享幻灯片的结构与落地方式

html-ppt-skill 的 tech-sharing 全 deck 模板:拆解一套 GitHub 暗色技术分享幻灯片的结构与落地方式

AI 技能/插件前端 【免费下载链接】html-ppt-skill HTML PPT Studio — AgentSkill with 24 themes, 31 layouts, 20 animations for building professional HTML presentations 项目地址: https://gitcode.com/gh_mirrors/ht/html-ppt-skill 点击查看 免费下载 本…

2026/9/25 2:33:10 阅读更多 →
PaddleSpeech C++ 推理引擎(runtime)构建指南:环境准备、CMake 构建流程与常见编译错误排查

PaddleSpeech C++ 推理引擎(runtime)构建指南:环境准备、CMake 构建流程与常见编译错误排查

人工智能语音音频NLP媒体生成 【免费下载链接】PaddleSpeech Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation …

2026/9/25 2:33:10 阅读更多 →

最新新闻

深入理解 Sinon 的 `spyCall.firstArg`:读取单次调用首个参数的正确姿势

深入理解 Sinon 的 `spyCall.firstArg`:读取单次调用首个参数的正确姿势

测试开发工具 【免费下载链接】sinon Test spies, stubs and mocks for JavaScript. 项目地址: https://gitcode.com/gh_mirrors/si/sinon 点击查看 免费下载 spyCall.firstArg 是 Sinon 中 spy call 对象的一个核心只读属性,用于获取某一次函数调用传入…

2026/9/25 4:57:52 阅读更多 →
腾讯云WorkBuddy Enterprise企业级AI Agent平台架构与实操指南

腾讯云WorkBuddy Enterprise企业级AI Agent平台架构与实操指南

1. 从零理解 WorkBuddy Enterprise 的定位与核心价值1.1 这个平台到底解决什么问题WorkBuddy Enterprise 是腾讯云推出的一套企业级 AI 平台与 Agent 生态产品。说白了,它要解决的核心问题是:企业想用 AI,但不知道怎么把 AI 能力安全、可控、…

2026/9/25 4:57:52 阅读更多 →
Endnote在Word中消失?COM加载项排查与修复指南

Endnote在Word中消失?COM加载项排查与修复指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 4:57:52 阅读更多 →
Java图书管理系统SWT实战:从环境搭建到避坑指南

Java图书管理系统SWT实战:从环境搭建到避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 4:57:52 阅读更多 →
GDS版图从入门到精通:层次结构、生成流程与-uniquifycellnames避坑指南

GDS版图从入门到精通:层次结构、生成流程与-uniquifycellnames避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 4:57:52 阅读更多 →
Navicat免安装版深度解析:依赖库、配置与MySQL连接排查指南

Navicat免安装版深度解析:依赖库、配置与MySQL连接排查指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 4:56:51 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →