Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions .github/workflows/timqi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Upstream Sync & Build Docker Image

permissions:
contents: write

on:
schedule:
- cron: "0 0 * * *" # every day
workflow_dispatch:

jobs:
sync_and_build:
name: Sync latest commits from upstream repo & Build docker image
runs-on: ubuntu-latest
if: ${{ github.event.repository.fork }}

steps:
- name: Checkout target repo
uses: actions/checkout@v3
Comment on lines +18 to +19
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Update checkout action to v4

The actions/checkout action has a newer version available with security improvements and better performance.

- uses: actions/checkout@v3
+ uses: actions/checkout@v4
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- name: Checkout target repo
uses: actions/checkout@v3
- name: Checkout target repo
uses: actions/checkout@v4
🧰 Tools
🪛 actionlint (1.7.4)

20-20: the runner of "actions/checkout@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)


- name: Sync upstream changes
id: sync
uses: aormsby/Fork-Sync-With-Upstream-action@v3.4
with:
upstream_sync_repo: ChatGPTNextWeb/ChatGPT-Next-Web
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] 由于上游仓库的 workflow 文件变更,导致 GitHub 自动暂停了本次自动更新,你需要手动 Sync Fork 一次,详细教程请查看:https://github.com/Yidadaa/ChatGPT-Next-Web/blob/main/README_CN.md#%E6%89%93%E5%BC%80%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0"
echo "[Error] Due to a change in the workflow file of the upstream repository, GitHub has automatically suspended the scheduled automatic update. You need to manually sync your fork. Please refer to the detailed tutorial for instructions: https://github.com/Yidadaa/ChatGPT-Next-Web#enable-automatic-updates"
exit 1

- name: Log in to Docker Hub
uses: docker/login-action@v2
if: steps.sync.outputs.has_new_commits == 'true'
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
if: steps.sync.outputs.has_new_commits == 'true'
with:
images: timqi/chatgpt-next-web
tags: |
type=raw,value=latest
type=ref,event=tag

- name: Set up QEMU
uses: docker/setup-qemu-action@v2
if: steps.sync.outputs.has_new_commits == 'true'

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
if: steps.sync.outputs.has_new_commits == 'true'

- name: Build and push Docker image
uses: docker/build-push-action@v4
if: steps.sync.outputs.has_new_commits == 'true'
with:
context: .
platforms: linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max




3 changes: 2 additions & 1 deletion app/api/auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ function parseApiKey(bearToken: string) {
}

export function auth(req: NextRequest, modelProvider: ModelProvider) {
const authToken = req.headers.get("Authorization") ?? "";
const authToken =
req.headers.get("Authorization") ?? req.headers.get("x-api-key") ?? "";

// check if it is openai api key or user token
const { accessCode, apiKey } = parseApiKey(authToken);
Expand Down