MCPcopy Index your code
hub / github.com/babaohuang/GeminiProChat

github.com/babaohuang/GeminiProChat @main sqlite

repository ↗ · DeepWiki ↗
38 symbols 80 edges 22 files 0 documented · 0%
README

GeminiProChat

English | 中文 | Italiano | 日本語

Interfaccia utente web minimale per Gemini Pro Chat.

[!WARNING] Dichiarazione di non responsabilità: Questo progetto non è affiliato, approvato o sponsorizzato da Google. È un progetto indipendente che utilizza l'API Gemini Pro di Google.

Live demo: Gemini Pro Chat

image

Distribuire

Distribuire Con Vercel(Consigliato)

Deploy with Vercel

Clicca sul pulsante in alto e seguire le istruzioni per distribuire la tua copia dell'app.

[!NOTE]

Soluzione per "User location is not supported for the API use"

Se riscontri il problema "User location is not supported for the API use", segui questi passaggi per risolverlo:

  1. Vai a questo repository palm-netlify-proxy e fai clic su "Deploy With Netlify".
  2. Una volta completata la distribuzione, riceverai un nome di dominio assegnato da Netlify (ad esempio, https://xxx.netlify.app).
  3. Nel tuo progetto Gemini Pro Chat, imposta una variabile di ambiente denominata "API_BASE_URL" con il valore corrispondente al dominio ottenuto dalla distribuzione del proxy Palm (https://xxx.netlify.app).
  4. Ridistribuisci il tuo progetto Gemini Pro Chat per finalizzare la configurazione. Questo dovrebbe risolvere il problema.

Grazie a antergone per fornire questa soluzione.

Distribuire Con Railway

Deploy on Railway

Clicca sul pulsante in alto e segui le istruzioni per schierarlo sulla Railway.

Distribuire Con Zeabur

Deploy on Zeabur

Clicca sul pulsante in alto e segui le istruzioni per schierarlo su Zeabur.

Distribuire Con Docker

Per eseguire la distribuzione con Docker, è possibile utilizzare il comando seguente:

docker run --name geminiprochat \
--restart always \
-p 3000:3000 \
-itd \
-e GEMINI_API_KEY=your_api_key_here \
babaohuang/geminiprochat:latest

Assicurati di sostituire your_api_key_here con la tua chiave API GEMINI.

Questo avvierà il servizio geminiprochat, accessibile da http://localhost:3000.

Variabile d'ambiente

È possibile controllare il sito Web tramite variabili d'ambiente.

Name Description Required
GEMINI_API_KEY La tua chiave API per GEMINI. Puoi ottenerlo da qui.
API_BASE_URL Custom base url for GEMINI API. Click here to see when to use this.
HEAD_SCRIPTS Inserisci analisi o altri script prima di </head> della pagina
PUBLIC_SECRET_KEY Stringa segreta per il progetto. Utilizzare per generare firme per le chiamate API
SITE_PASSWORD Imposta la password per il sito, supporta più password separate da virgola. Se non impostato, il sito sarà pubblico
GEMINI_MODEL_NAME Personalizza il modello Gemini da utilizzare. Se non impostato, il valore predefinito è gemini-2.5-flash

Esecuzione locale

Pre environment

  1. Node: Verifica che sia l'ambiente di sviluppo che l'ambiente di distribuzione utilizzino Node v18 o versione successiva. Puoi utilizzare nvm per gestire più versioni di nodo localmente.

bash node -v

  1. PNPM: Ti consigliamo di utilizzare pnpm per gestire le dipendenze. Se non hai mai installato pnpm, puoi installarlo con il seguente comando:

bash npm i -g pnpm

  1. GEMINI_API_KEY: Prima di eseguire questa applicazione, devi ottenere la chiave API da Google. Puoi registrare la chiave API su https://makersuite.google.com/app/apikey.

Iniziare

  1. Installa le dipendenze

bash pnpm install

  1. Copia il file .env.example, quindi rinominalo in .env e aggiungi la tua GEMINI_API_KEY al file .env.

bash GEMINI_API_KEY=AIzaSy...

  1. Esegui l'applicazione, il progetto locale viene eseguito su http://localhost:3000/.

bash pnpm run dev

Ringraziamenti

Questo progetto è ispirato e basato sul seguente progetto open source:

  • ChatGPT-Demo - Per la base di codice e le funzionalità di base.

Storia delle stelle

Star History Chart

Offrimi un caffè

Se questo repository ti è utile, offrimi un caffè, grazie mille!😄

Buy Me A Coffee

Strumenti AI consigliati

ElevenMusic | World's best AI music generator

Extension points exported contracts — how you extend this code

HTMLAttributes (Interface)
(no doc)
shims.d.ts
ImportMetaEnv (Interface)
(no doc)
src/env.d.ts
ChatPart (Interface)
(no doc)
src/types.ts
Props (Interface)
(no doc)
src/components/SystemRoleSettings.tsx
AuthPayload (Interface)
(no doc)
src/utils/auth.ts
ImportMeta (Interface)
(no doc)
src/env.d.ts
ChatMessage (Interface)
(no doc)
src/types.ts
Props (Interface)
(no doc)
src/components/Slider.tsx

Core symbols most depended-on inside this repo

instantToBottom
called by 3
src/components/Generator.tsx
formatSliderValue
called by 2
src/components/Slider.tsx
requestWithLatestMessage
called by 2
src/components/Generator.tsx
archiveCurrentMessage
called by 2
src/components/Generator.tsx
generateSignature
called by 2
src/utils/auth.ts
envAdapter
called by 1
astro.config.mjs
handleButtonClick
called by 1
src/components/Generator.tsx
convertReqMsgList
called by 1
src/components/Generator.tsx

Shape

Function 26
Interface 12

Languages

TypeScript100%

Modules by API surface

src/components/Generator.tsx11 symbols
src/utils/auth.ts4 symbols
src/types.ts3 symbols
src/components/Slider.tsx3 symbols
src/utils/openAI.ts2 symbols
src/env.d.ts2 symbols
src/components/SystemRoleSettings.tsx2 symbols
src/components/SettingsSlider.tsx2 symbols
src/components/MessageItem.tsx2 symbols
plugins/disableBlocks.ts2 symbols
src/pages/api/generate.ts1 symbols
src/pages/api/auth.ts1 symbols

Dependencies from manifests, versioned

@astrojs/netlify2.3.0 · 1×
@astrojs/node5.3.0 · 1×
@astrojs/solid-js2.2.0 · 1×
@astrojs/vercel3.5.0 · 1×
@fuyun/generative-ai0.1.3 · 1×
@iconify-json/carbon1.1.18 · 1×
@types/markdown-it12.2.3 · 1×
@vite-pwa/astro0.1.1 · 1×
@zag-js/slider0.16.0 · 1×
@zag-js/solid0.16.0 · 1×

For agents

$ claude mcp add GeminiProChat \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact