项目部署
目标读者:想自部署或定制 AiShort 的开发者。普通用户直接用 aishort.top 即可,不需要看本文。
配置与自定义
AI Short 开源,可以自由修改网站标题、描述、提示词等内容:
-
网站标题和描述:编辑
docusaurus.config.js -
使用说明和介绍:改
docs/目录下的对应文件 -
主页提示词:源数据在
src/data/prompt.json——一个数组,每个对象按zh/en/ja等语言代码键存放所有语言的版本。编辑该源文件后,运行下方的CodeUpdateHandler.py自动拆分生成各语言的prompt_<locale>.json。新增提示词时,格式如下:{"zh": {"title": "custom prompt","prompt": "custom prompt","description": "custom description","remark": "custom mark"},"en": {"title": "custom prompt","prompt": "custom prompt","description": "custom description","remark": "custom mark"},"website": null,"tags": ["music"],"id": 500,"weight": 1}注意:建议将
id设置为 500 以上。新增的提示词不会有专属页面和评论区。如果需要为提示词添加专属页面,可以复制src/data/pages/prompt目录下的模板文件进行修改。 -
自定义后端:项目默认连接一个共享后端。想自建后端,参考
src/api中的接口说明。API 模块结构:
src/api/├── index.ts # 统一导出入口├── config.ts # API URL 配置├── client.ts # Axios 客户端(含认证拦截器)├── auth.ts # 认证 API(登录/注册/OAuth)├── prompts.ts # 提示词 CRUD + 搜索 + 投票├── favorites.ts # 收藏操作├── myspace.ts # 我的空间数据(核心数据源)├── comments.ts # 评论系统└── user.ts # 用户信息缓存机制:项目使用
lscache结合 ETag 实现智能缓存。当服务器返回 304 Not Modified 时,直接复用本地缓存数据,减少数据传输。 -
多语言支持与部署:完成多语言修改后,运行
CodeUpdateHandler.py批量处理:python CodeUpdateHandler.py脚本会按预设规则拆分
prompt.json,并同步更新各语言版本的主页面和精选提示词页面。
离线部署(企业内网)
企业内网、政务网络等无法访问外网的环境,可使用 offline 分支。无需后端服务器,数据存储在浏览器本地。Vercel/Cloudflare Pages 部署时选择 offline 分支;Docker 部署:
docker run -d -p 3000:3000 --name aishort-offline ghcr.io/rockbenben/chatgpt-shortcut:offline
详细说明请参考离线版文档。
部署说明
环境要求:
- Node.js 20.0 或更高版本
- 支持 macOS、Windows(含 WSL)和 Linux
本地部署
确保已安装 Node.js。
# 安装依赖
yarn
# 本地开发
yarn start
# 构建:生成静态产物到 `build` 目录
yarn build
# 修改 `docusaurus.config.js` 中的 `defaultLocale`,然后按需构建指定语言版本
yarn build --locale zh-Hans
yarn build --locale zh-Hant
yarn build --locale en
yarn build --locale ja
yarn build --locale ko
yarn build --locale es
yarn build --locale fr
yarn build --locale de
yarn build --locale it
yarn build --locale ru
yarn build --locale pt
yarn build --locale hi
yarn build --locale ar
yarn build --locale bn
yarn build --locale ind
yarn build --locale th
yarn build --locale tr
yarn build --locale vi
# Deploy for multiple languages
yarn build --locale zh-Hans && yarn build --locale en
Vercel 部署
点下方按钮一键部署到 Vercel:
注意:Vercel 免费版可能因内存不足报错。改单语言部署即可:
- 进入 Vercel 项目,打开 Settings
- 在 Build & Deployment → Build Command 右侧点 Override
- 改成单语言命令:中文用
yarn build --locale zh-Hans,葡萄牙语用yarn build --locale pt,其他类推
Cloudflare Pages 部署
先 👉 Fork 本项目,再按以下步骤部署:
- 登录 Cloudflare Pages,选 Create a project
- 绑定刚 Fork 的仓库
- 配置构建:
- Build command:
yarn build --locale zh-Hans(按要部署的语言换 locale,葡萄牙语用yarn build --locale pt) - Output directory:
build
- Build command:
- 点 部署,等待 Cloudflare Pages 构建完成
之后每次推新代码会自动触发构建和部署。
Docker 部署
一行命令部署:
# ghcr.io
docker run -d -p 3000:3000 --name chatgpt-shortcut ghcr.io/rockbenben/chatgpt-shortcut:latest
# docker hub
docker run -d -p 3000:3000 --name chatgpt-shortcut rockben/chatgpt-shortcut:latest
或用 docker-compose:
services:
chatgpt-shortcut:
container_name: chatgpt-shortcut
image: ghcr.io/rockbenben/chatgpt-shortcut:latest
ports:
- "3000:3000"
restart: unless-stopped
开启同步更新
Vercel 一键部署的项目可能一直提示存在更新——因为 Vercel 默认新建项目而非 fork,无法检测上游更新。解决方法:
- 删除原仓库
- 用页面右上角的 Fork 按钮 fork 本项目
- 在 Vercel 新项目页面 的 Import Git Repository 处重新选择刚 fork 的项目并部署
打开自动更新
如果遇到 Upstream Sync 执行错误,请手动执行一次 Sync Fork!
Fork 后需手动在 Actions 页面启用 Workflows,并跑一次 Upstream Sync Action。启用后项目每天自动同步:


手动更新代码
想手动立即更新?参考 GitHub 同步 fork 文档。
也可以给本项目 star / watch,及时获得新功能更新通知。