Skip to main content

Projektbereitstellung

Konfiguration und Anpassung

AI Short ist ein Open-Source-Projekt, das es Ihnen ermöglicht, den Website-Titel, die Beschreibung, Prompts und andere Inhalte frei nach Ihren Bedürfnissen zu ändern. Im Folgenden finden Sie gängige Änderungsoptionen und Bedienungsanleitungen:

  • Website-Titel und -Beschreibung ändern Um den Titel und die Beschreibung der Website zu ändern, bearbeiten Sie bitte die Konfigurationsdatei docusaurus.config.js.

  • Projektnutzungsanweisungen und -einführung ändern Die Nutzungsanweisungen und Einführungsdateien des Projekts befinden sich im Verzeichnis docs. Öffnen Sie die entsprechenden Dateien in diesem Verzeichnis, um notwendige Änderungen vorzunehmen.

  • Startseiten-Prompts ändern Startseiten-Prompts werden in der Datei src/data/prompt.json gespeichert. Wenn Sie Prompts für eine bestimmte Sprache, wie z.B. Chinesisch, ändern müssen, können Sie die Datei src/data/prompt_zh.json direkt bearbeiten. Beim Hinzufügen eines neuen Prompts ist das Format wie folgt:

    {
    "zh": {
    "title": "custom prompt",
    "prompt": "custom prompt",
    "description": "custom description",
    "remark": "custom mark"
    },
    "website": null,
    "tags": ["music"],
    "id": 500,
    "weight": 1
    }

    Hinweis: Es wird empfohlen, die id auf 500 oder höher zu setzen. Neu hinzugefügte Prompts haben keine eigene Seite und keinen Kommentarbereich. Wenn Sie eine eigene Seite für einen Prompt hinzufügen müssen, können Sie die Vorlagendatei im Verzeichnis src/data/pages/prompt kopieren, um sie zu ändern.

  • Benutzerdefiniertes Backend Das aktuelle Projekt ist mit einem gemeinsamen Backend-System verbunden. Wenn Sie Ihr eigenes Backend erstellen möchten, können Sie die Schnittstellenbeschreibungen im Ordner src/api konsultieren.

    API-Modulstruktur:

    src/api/
    ├── index.ts # Einheitlicher Export-Eingang
    ├── config.ts # API-URL-Konfiguration
    ├── client.ts # Axios-Client (einschließlich Authentifizierungs-Interzeptoren)
    ├── auth.ts # Authentifizierungs-API (Login/Registrierung/OAuth)
    ├── prompts.ts # Prompt-CRUD + Suche + Abstimmung
    ├── favorites.ts # Favoriten-Operationen
    ├── myspace.ts # Mein Bereich-Daten (Kern-Datenquelle)
    ├── comments.ts # Kommentarsystem
    └── user.ts # Benutzerinformationen

    Cache-Mechanismus: Das Projekt verwendet lscache in Kombination mit ETags, um intelligentes Caching zu implementieren. Wenn der Server 304 Not Modified zurückgibt, werden lokale Cache-Daten direkt wiederverwendet, um die Datenübertragung zu reduzieren.

  • Mehrsprachige Unterstützung und Bereitstellung Nach Abschluss der mehrsprachigen Änderungen können Sie das Skript CodeUpdateHandler.py für die Stapelverarbeitung verwenden. Führen Sie den folgenden Befehl aus:

    python CodeUpdateHandler.py

    Dieses Skript teilt die Datei prompt.json gemäß voreingestellten Regeln auf und aktualisiert synchron die Hauptseite und die vorgestellten Prompt-Seiten für jede Sprachversion.

Bereitstellungsanweisungen

Systemanforderungen:

  • Node.js 20.0 oder später.
  • macOS, Windows (einschließlich WSL) und Linux werden unterstützt.

Lokale Bereitstellung

Stellen Sie sicher, dass Sie Node.js installiert haben.

# Installation
yarn

# Lokale Entwicklung
yarn start

# Build: Dieser Befehl generiert statischen Inhalt im Verzeichnis `build`
yarn build

# Aktualisieren Sie das `defaultLocale` in der Datei `docusaurus.config.js` und führen Sie dann einen Build für die gewünschte Sprache durch.
yarn build --locale zh
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

# Bereitstellung für mehrere Sprachen
yarn build --locale zh && yarn build --locale en

Vercel-Bereitstellung

Klicken Sie auf die Schaltfläche unten, um ChatGPT-Shortcut mit einem Klick auf der Vercel-Plattform bereitzustellen:

Vercel

Hinweis: Die kostenlose Version von Vercel kann aufgrund unzureichenden Speichers einen Fehler melden. Wenn Sie auf diese Situation stoßen, können Sie eine Bereitstellung in einer einzelnen Sprache wählen. Die spezifischen Operationen sind wie folgt:

  1. Betreten Sie das Vercel-Projekt, das Sie gerade bereitgestellt haben, und öffnen Sie Settings.
  2. Finden Sie im Abschnitt Build & Deployment den Build Command und klicken Sie rechts auf Override.
  3. Ändern Sie den Bereitstellungsbefehl. Wenn Sie beispielsweise die chinesische Version bereitstellen müssen, können Sie yarn build --locale zh verwenden; wenn Sie die portugiesische Version bereitstellen müssen, verwenden Sie yarn build --locale pt.

Cloudflare Pages Bereitstellung

Klicken Sie auf die Schaltfläche oder den Link unten, um dieses Projekt zu forken, und folgen Sie dann den Anweisungen zur Bereitstellung auf Cloudflare Pages:

👉 Dieses Projekt forken

Bereitstellungsschritte:

  1. Melden Sie sich bei Cloudflare Pages an und wählen Sie "Create a project".
  2. Binden Sie das Repository, das Sie gerade geforkt haben.
  3. Konfigurieren Sie die Build-Befehle:
    • Build command: yarn build --locale zh (Wählen Sie das entsprechende Locale basierend auf der bereitzustellenden Sprache, z.B. für Portugiesisch verwenden Sie yarn build --locale pt).
    • Output directory: build.
  4. Klicken Sie auf Deploy und warten Sie, bis Cloudflare Pages den Build und die Bereitstellung abgeschlossen hat.

Cloudflare Pages löst auch automatisch Builds und Bereitstellungen aus, wann immer Sie neuen Code pushen.

Docker-Bereitstellung

Wenn Sie mit Docker vertraut sind, können Sie mit folgendem Befehl schnell bereitstellen:

# 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

Alternativ können Sie auch docker-compose verwenden:

services:
chatgpt-shortcut:
container_name: chatgpt-shortcut
image: ghcr.io/rockbenben/chatgpt-shortcut:latest
ports:
- "3000:3000"
restart: unless-stopped

Synchronisierte Updates aktivieren

Wenn Sie Ihr eigenes Projekt auf Vercel mit einem Klick bereitgestellt haben, kann es vorkommen, dass immer angezeigt wird, dass Updates verfügbar sind. Dies liegt daran, dass Vercel standardmäßig ein neues Projekt für Sie erstellt, anstatt dieses Projekt zu forken, was dazu führt, dass die Update-Erkennung fehlschlägt. Es wird empfohlen, gemäß den folgenden Schritten neu bereitzustellen:

  1. Löschen Sie das ursprüngliche Repository;
  2. Verwenden Sie die Fork-Schaltfläche in der oberen rechten Ecke der Seite, um dieses Projekt zu forken;
  3. Wählen Sie das Projekt, das Sie gerade geforkt haben, im Abschnitt Import Git Repository der Vercel Neues Projekt Seite erneut aus und stellen Sie es bereit.

Automatische Aktualisierung einschalten

Wenn ein Upstream Sync-Ausführungsfehler auftritt, führen Sie bitte einmalig Sync Fork manuell aus!

Nach dem Forken des Projekts müssen Sie aufgrund von GitHub-Beschränkungen die Workflows manuell auf der Actions-Seite Ihres geforkten Projekts aktivieren und die Upstream Sync Action aktivieren. Sobald aktiviert, werden Updates jeden Tag automatisch ausgeführt:

Automatische Aktualisierung

Automatische Aktualisierung aktivieren

Manuelle Code-Aktualisierung

Wenn Sie sofort manuell aktualisieren möchten, können Sie die GitHub-Dokumentation konsultieren, um zu erfahren, wie Sie ein geforktes Projekt mit dem ursprünglichen Code synchronisieren.

Sie können dieses Projekt mit einem Stern (star) versehen/beobachten (watch) oder dem Autor folgen, um rechtzeitig Benachrichtigungen über neue Funktionsupdates zu erhalten.