diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 3a3cce576..000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,11 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "npm" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "weekly" diff --git a/.github/workflows/dockerToHub-dev.yml b/.github/workflows/dockerToHub-dev.yml index 5e2d935f3..a74ed9043 100644 --- a/.github/workflows/dockerToHub-dev.yml +++ b/.github/workflows/dockerToHub-dev.yml @@ -33,6 +33,7 @@ jobs: deploy: name: 部署到dev服务器 runs-on: z4 + needs: build steps: - name: Check out the repo uses: actions/checkout@v3 @@ -47,6 +48,7 @@ jobs: - name: Sync repository to tx run: | yes | docker image prune + ssh root@tx.xiaosi.cc 'mkdir -p /data/test/ChatGPT-Next-Web' rsync -az -e 'ssh -o StrictHostKeyChecking=no' --delete $GITHUB_WORKSPACE/ root@tx.xiaosi.cc:/data/test/ChatGPT-Next-Web - name: deploy-to-tx uses: appleboy/ssh-action@master diff --git a/.github/workflows/dockerToHub.yml b/.github/workflows/dockerToHub.yml index adeec60df..6d90ee977 100644 --- a/.github/workflows/dockerToHub.yml +++ b/.github/workflows/dockerToHub.yml @@ -50,7 +50,8 @@ jobs: - name: Sync repository to ty run: | yes | docker image prune - rsync -az -e 'ssh -o StrictHostKeyChecking=no' --delete $GITHUB_WORKSPACE/ root@ty.xiaosi.cc:/data/ChatGPT-Next-Web + ssh root@ty.xiaosi.cc 'mkdir -p /data/ChatGPT-Next-Web' + rsync -az -e 'ssh -o StrictHostKeyChecking=no' --delete $GITHUB_WORKSPACE/ root@ty.xiaosi.cc:/data/ChatGPT-Next-Web/ - name: deploy-to-ty uses: appleboy/ssh-action@master env: @@ -73,6 +74,7 @@ jobs: - name: Sync repository to tx run: | yes | docker image prune + ssh root@tx.xiaosi.cc 'mkdir -p /data/ChatGPT-Next-Web' rsync -az -e 'ssh -o StrictHostKeyChecking=no' --delete $GITHUB_WORKSPACE/ root@tx.xiaosi.cc:/data/ChatGPT-Next-Web - name: deploy-to-tx uses: appleboy/ssh-action@master diff --git a/Dockerfile b/Dockerfile index f679db32a..c35822a35 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ #FROM registry.cn-hangzhou.aliyuncs.com/sijinhui/node:18-alpine AS base -FROM node:20-alpine AS base +FROM hub.siji.ci/library/node:20-alpine AS base RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories RUN apk update && apk add --no-cache git tzdata # 设置时区环境变量 diff --git a/app/api/cors/[...path]/route.ts b/app/api/cors/[...path]/route.ts index 0217b12b0..1f70d6630 100644 --- a/app/api/cors/[...path]/route.ts +++ b/app/api/cors/[...path]/route.ts @@ -40,4 +40,4 @@ export const POST = handle; export const GET = handle; export const OPTIONS = handle; -export const runtime = "nodejs"; +export const runtime = "edge"; diff --git a/app/api/google/[...path]/route.ts b/app/api/google/[...path]/route.ts index 869bd5076..ebd192891 100644 --- a/app/api/google/[...path]/route.ts +++ b/app/api/google/[...path]/route.ts @@ -101,19 +101,14 @@ export const POST = handle; export const runtime = "edge"; export const preferredRegion = [ - "arn1", "bom1", - "cdg1", "cle1", "cpt1", - "dub1", - "fra1", "gru1", "hnd1", "iad1", "icn1", "kix1", - "lhr1", "pdx1", "sfo1", "sin1", diff --git a/app/config/server.ts b/app/config/server.ts index 0329792aa..b6f32a410 100644 --- a/app/config/server.ts +++ b/app/config/server.ts @@ -95,6 +95,8 @@ export const getServerSideConfig = () => { googleApiKey: process.env.GOOGLE_API_KEY, googleUrl: process.env.GOOGLE_URL, + gtmId: process.env.GTM_ID, + needCode: ACCESS_CODES.size > 0, code: process.env.CODE, codes: ACCESS_CODES, diff --git a/app/constant.ts b/app/constant.ts index 39fa20337..f7adf0fea 100644 --- a/app/constant.ts +++ b/app/constant.ts @@ -111,7 +111,9 @@ export const SUMMARIZE_MODEL = "gpt-3.5-turbo-1106"; export const KnowledgeCutOffDate: Record = { default: "2021-09", + "gpt-4-turbo-preview": "2023-04", "gpt-4-1106-preview": "2023-04", + "gpt-4-0125-preview": "2023-04", "gpt-4-vision-preview": "2023-04", "gemini-pro": "2021-04", }; diff --git a/app/layout.tsx b/app/layout.tsx index 82b46d915..dd9b5d69b 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -6,7 +6,7 @@ import { getClientConfig } from "./config/client"; import { type Metadata } from "next"; import { SpeedInsights } from "@vercel/speed-insights/next"; import { getServerSideConfig } from "./config/server"; - +import { GoogleTagManager } from "@next/third-parties/google"; const serverConfig = getServerSideConfig(); import { Providers } from "@/app/providers"; import { Viewport } from "next"; @@ -49,6 +49,11 @@ export default function RootLayout({ )} + {serverConfig?.gtmId && ( + <> + + + )} ); diff --git a/app/store/config.ts b/app/store/config.ts index 7f714bfcc..1146b8368 100644 --- a/app/store/config.ts +++ b/app/store/config.ts @@ -28,9 +28,9 @@ export enum Theme { } export const DEFAULT_CONFIG = { - submitKey: SubmitKey.Enter as SubmitKey, lastUpdate: Date.now(), // timestamp, to merge state + submitKey: SubmitKey.Enter, // submitKey: isMacOS() ? SubmitKey.MetaEnter : SubmitKey.CtrlEnter, avatar: "1f603", fontSize: 14, diff --git a/package.json b/package.json index 352a6dd60..d38d6d55a 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "dependencies": { "@fortaine/fetch-event-source": "^3.0.6", "@hello-pangea/dnd": "^16.5.0", + "@next/third-parties": "^14.1.0", "@next-auth/prisma-adapter": "^1.0.7", "@prisma/client": "^5.7.0", "@svgr/webpack": "^8.1.0", diff --git a/scripts/delete-deployment-preview.sh b/scripts/delete-deployment-preview.sh new file mode 100755 index 000000000..4f2bb3495 --- /dev/null +++ b/scripts/delete-deployment-preview.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Set the pipefail option. +set -o pipefail + +# Get the Vercel API endpoints. +GET_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v6/deployments" +DELETE_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v13/deployments" + +# Create a list of deployments. +deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID&teamId=$VERCEL_ORG_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") +#deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") + +# Filter the deployments list by meta.base_hash === meta tag. +filtered_deployments=$(echo -E $deployments | jq --arg META_TAG "$META_TAG" '[.deployments[] | select(.meta.base_hash | type == "string" and contains($META_TAG)) | .uid] | join(",")') +filtered_deployments="${filtered_deployments//\"/}" # Remove double quotes + +# Clears the values from filtered_deployments +IFS=',' read -ra values <<<"$filtered_deployments" + +echo "META_TAG ${META_TAG}" +echo "Filtered deployments ${filtered_deployments}" + +# Iterate over the filtered deployments list. +for uid in "${values[@]}"; do + echo "Deleting ${uid}" + + delete_url="${DELETE_DEPLOYMENTS_ENDPOINT}/${uid}?teamId=${VERCEL_ORG_ID}" + echo $delete_url + + # Make DELETE a request to the /v13/deployments/{id} endpoint. + curl -X DELETE $delete_url -H "Authorization: Bearer $VERCEL_TOKEN" + + echo "Deleted!" +done diff --git a/start.sh b/start.sh index 2ec65196e..b2a047aca 100755 --- a/start.sh +++ b/start.sh @@ -20,4 +20,4 @@ rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server rsync -az --delete "./node_modules/tiktoken/" ${OUT_DIR}/node_modules/tiktoken -docker network create chatgpt-ns > /dev/null 2>&1 \ No newline at end of file +docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns \ No newline at end of file