Skip to main content

Distribuzione del Progetto

Configurazione e Personalizzazione

AI Short è un progetto open source che ti permette di modificare liberamente il titolo del sito web, la descrizione, i prompt e altri contenuti in base alle tue esigenze. Di seguito sono riportate le opzioni di modifica comuni e le istruzioni operative:

  • Modificare Titolo e Descrizione del Sito Web Per cambiare il titolo e la descrizione del sito web, modifica il file di configurazione docusaurus.config.js.

  • Modificare Istruzioni d'Uso e Introduzione del Progetto Le istruzioni d'uso e i file di introduzione del progetto si trovano nella directory docs. Apri i file rilevanti in quella directory per apportare le modifiche necessarie.

  • Modificare i Prompt della Home Page I prompt della home page sono memorizzati nel file src/data/prompt.json. Se hai bisogno di modificare i prompt per una lingua specifica, come il cinese, puoi modificare direttamente il file src/data/prompt_zh.json. Quando aggiungi un nuovo prompt, il formato è il seguente:

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

    Nota: Si raccomanda di impostare l'id a 500 o superiore. I nuovi prompt aggiunti non avranno una pagina dedicata né una sezione commenti. Se hai bisogno di aggiungere una pagina dedicata per un prompt, puoi copiare il file modello nella directory src/data/pages/prompt per modificarlo.

  • Backend Personalizzato Il progetto attuale è collegato a un sistema backend condiviso. Se desideri costruire il tuo backend, puoi consultare le istruzioni dell'interfaccia nella cartella src/api.

    Struttura del modulo API:

    src/api/
    ├── index.ts # Ingresso di esportazione unificato
    ├── config.ts # Configurazione URL API
    ├── client.ts # Client Axios (inclusi intercettori di autenticazione)
    ├── auth.ts # API di autenticazione (Login/Registrazione/OAuth)
    ├── prompts.ts # CRUD Prompt + Ricerca + Voto
    ├── favorites.ts # Operazioni preferiti
    ├── myspace.ts # Dati My Space (Fonte dati principale)
    ├── comments.ts # Sistema di commenti
    └── user.ts # Informazioni utente

    Meccanismo di Cache: Il progetto utilizza lscache combinato con ETag per implementare una cache intelligente. Quando il server restituisce 304 Not Modified, i dati nella cache locale vengono riutilizzati direttamente per ridurre la trasmissione dei dati.

  • Supporto Multilingue e Distribuzione Dopo aver completato le modifiche multilingue, puoi usare lo script CodeUpdateHandler.py per l'elaborazione in batch. Esegui il seguente comando:

    python CodeUpdateHandler.py

    Questo script dividerà il file prompt.json secondo regole preimpostate e aggiornerà in modo sincrono la pagina principale e le pagine dei prompt in evidenza per ogni versione linguistica.

Istruzioni di Distribuzione

Requisiti di Sistema:

  • Node.js 20.0 o successivo.
  • macOS, Windows (incluso WSL) e Linux sono supportati.

Distribuzione Locale

Assicurati di aver installato Node.js.

# Installazione
yarn

# Sviluppo Locale
yarn start

# Build: Questo comando genera contenuto statico nella directory `build`
yarn build

# Aggiorna il `defaultLocale` nel file `docusaurus.config.js`, poi esegui una build per la lingua desiderata.
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

# Distribuzione per multiple lingue
yarn build --locale zh && yarn build --locale en

Distribuzione su Vercel

Clicca sul pulsante qui sotto per distribuire ChatGPT-Shortcut sulla piattaforma Vercel con un clic:

Vercel

Nota: La versione gratuita di Vercel potrebbe segnalare un errore a causa di memoria insufficiente. Se incontri questa situazione, puoi scegliere di distribuire una singola lingua. Le operazioni specifiche sono le seguenti:

  1. Entra nel progetto Vercel che hai appena distribuito e apri Settings.
  2. Nella sezione Build & Deployment, trova Build Command, poi clicca su Override a destra.
  3. Modifica il comando di distribuzione. Ad esempio, se devi distribuire la versione cinese, puoi usare yarn build --locale zh; se devi distribuire la versione portoghese, usa yarn build --locale pt.

Distribuzione su Cloudflare Pages

Clicca sul pulsante o link qui sotto per fare un Fork di questo progetto, poi segui le istruzioni per distribuire su Cloudflare Pages:

👉 Fai un Fork di questo progetto

Passaggi di Distribuzione:

  1. Accedi a Cloudflare Pages e seleziona "Create a project".
  2. Collega il repository che hai appena forkato.
  3. Configura i comandi di build:
    • Build command: yarn build --locale zh (Scegli il locale appropriato in base alla lingua da distribuire, es: per portoghese usa yarn build --locale pt).
    • Output directory: build.
  4. Clicca su Deploy e attendi che Cloudflare Pages completi la build e la distribuzione.

Cloudflare Pages attiverà anche automaticamente build e distribuzioni ogni volta che invii nuovo codice.

Distribuzione Docker

Se hai familiarità con Docker, puoi distribuire rapidamente usando il seguente comando:

# 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

In alternativa, puoi anche usare docker-compose:

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

Abilitare Aggiornamenti Sincronizzati

Se hai distribuito il tuo progetto su Vercel con un clic, potresti riscontrare un problema dove indica sempre che ci sono aggiornamenti disponibili. Questo perché Vercel crea un nuovo progetto per te di default invece di fare un fork di questo progetto, causando il fallimento del rilevamento degli aggiornamenti. Si raccomanda di ridistribuire seguendo questi passaggi:

  1. Elimina il repository originale;
  2. Usa il pulsante fork nell'angolo in alto a destra della pagina per fare un fork di questo progetto;
  3. Riseleziona il progetto che hai appena forkato nella sezione Import Git Repository della Pagina Nuovo Progetto Vercel e distribuisci.

Attivare Aggiornamento Automatico

Se incontri un errore di esecuzione Upstream Sync, per favore esegui manualmente Sync Fork una volta!

Dopo aver forkato il progetto, a causa delle limitazioni di GitHub, devi abilitare manualmente i Workflows nella pagina Actions del tuo progetto forkato e abilitare l'Azione Upstream Sync. Una volta abilitato, gli aggiornamenti verranno eseguiti automaticamente ogni giorno:

Aggiornamento Automatico

Abilitare Aggiornamento Automatico

Aggiornamento Manuale del Codice

Se desideri aggiornare manualmente immediatamente, puoi consultare la documentazione di GitHub per imparare come sincronizzare un progetto forkato con il codice originale.

Puoi mettere una stella (star)/seguire (watch) questo progetto, o seguire l'autore per ricevere notifiche tempestive sui nuovi aggiornamenti delle funzionalità.