AIProxyServer - Útmutató

Futtasson helyi OpenAI-kompatibilis proxyt minden főbb felhőalapú AI szolgáltatáshoz. Tárolja az API kulcsokat egyszer, és hagyja, hogy bármely kliensalkalmazás — asztali, mobil vagy webes — a http://localhost címmel kommunikáljon, ahelyett hogy minden eszközben regisztrálná a kulcsokat.


Kezdő lépések

1. Indítsa el az alkalmazást

Nyissa meg az AIProxyServer alkalmazást. Az első indításkor a proxy automatikusan elindul és a helyi gép 8421 portján figyel. A főablak három szakaszt mutat:

  • Proxy Server — aktuális állapot, alap URL, és gomb a figyelő indítására vagy leállítására
  • Bearer Token — opcionális hitelesítési kapcsoló és token megjelenítés
  • Providers — minden támogatott felhő AI szolgáltató, soronként Set API Key gombbal

2. Adja hozzá az első API kulcsát

  1. Válasszon bármilyen szolgáltatót a Providers listából (például OpenAI (ChatGPT))
  2. Kattintson a Get API key gombra a szolgáltató konzoljának megnyitásához a böngészőben, majd hozzon létre vagy másoljon egy kulcsot
  3. Kattintson a Set API Key gombra ugyanabban a sorban, és illessze be az értéket a párbeszédablakba
  4. Kattintson a Save gombra. Az állapot címke zöld Configured-ra vált

3. Csatlakoztasson egy kliensalkalmazást

Irányítson bármely OpenAI-kompatibilis klienst a proxyhoz. Az alap URL http://localhost:8421/<provider>/v1. A provider szegmens választja ki, melyik felhő kapja a kérést.

# Példa: OpenAI Python SDK proxyra irányítva
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8421/openai/v1",
    api_key="not-used-but-required-by-sdk",
)
resp = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)

A kliens soha nem látja a valódi kulcsot. Az AIProxyServer a kérés továbbításakor csatolja az upstream hitelesítő adatokat.


Felület áttekintése

Proxy Server panel

MezőLeírás
StatusRunning, ha a figyelő aktív, egyébként Stopped.
Base URLA cím, amelyet a kliensalkalmazásoknak használniuk kell, a hostnévvel és porttal együtt. Kattintson a Copy gombra a vágólapra másoláshoz.
Start / Stop gombBe- és kikapcsolja a HTTP figyelőt az alkalmazás kilépése nélkül.

Bearer Token panel

  • Require Bearer Token authentication — jelölőnégyzet a hitelesítés be- vagy kikapcsolására. Alapértelmezetten kikapcsolva, kényelmes helyi használathoz.
  • Token mező — az aktuális token csak olvasható megjelenítése. Pontokként jelenik meg; használja a Copy gombot a lekéréshez.
  • Regenerate — új véletlenszerű tokent állít elő. A meglévő klienseket frissíteni kell az új értékkel.
Figyelem: Ha engedélyezi az Allow LAN Access opciót a Beállításokban a token bekapcsolása nélkül, bárki ugyanazon a Wi-Fi hálózaton használhatja a proxyt és az Ön API kulcsait. A token panel alatti súgószöveg figyelmezteti Önt, ha ebben az állapotban van.

Providers panel

Egy sor minden támogatott felhőszolgáltatóhoz. Minden sor megjeleníti:

  • A megjelenített nevet (például Claude (Anthropic))
  • Konfigurációs állapot — zöld Configured, ha az API kulcs el van mentve, egyébként szürke Not configured
  • Az URL útvonal, amelyet a kliensek használnak, pl. /anthropic/v1/chat/completions
  • Set API Key — megnyit egy párbeszédablakot a hitelesítő adatok beviteléhez
  • Get API key — megnyitja a szolgáltató konzolját a böngészőben

Támogatott Providers

Tizenegy felhőalapú AI szolgáltatás van mellékelve. A legtöbb natív módon használja az OpenAI Chat Completions formátumot, és úgy ahogy van, proxyzva van. Három (Anthropic, Gemini, ERNIE) saját protokollt használ; az AIProxyServer menet közben fordítja a kéréseket és válaszokat, így a kliens csak OpenAI formákat lát.

ProviderÚtvonal előtagMire van szüksége
OpenAI (ChatGPT)/openai/v1API kulcs innen: platform.openai.com
Claude (Anthropic)/anthropic/v1API kulcs az Anthropic Console-ból
Gemini (Google)/gemini/v1API kulcs a Google AI Studio-ból
Grok (xAI)/grok/v1API kulcs az xAI Console-ból
Azure OpenAI (Copilot)/copilot/v1API kulcs plusz a telepítési végpont URL-je
Perplexity/perplexity/v1API kulcs a Perplexity beállításokból
Groq/groq/v1API kulcs a Groq Cloud-ból
DeepSeek/deepseek/v1API kulcs a DeepSeek Platform-ról
Kimi (Moonshot)/kimi/v1API kulcs a Moonshot Console-ból
Qwen (DashScope)/qwen/v1API kulcs az Alibaba DashScope-ból
ERNIE (Baidu)/ernie/v1Mind az API Key, mind a Secret Key a Baidu Qianfan-ból

Szolgáltatóspecifikus megjegyzések

  • Azure OpenAI — illessze be a teljes telepítési végpontot az Endpoint Base URL mezőbe, például https://my-resource.openai.azure.com/openai/deployments/gpt-4o. A proxy automatikusan hozzáfűzi a /chat/completions?api-version=2024-02-01 elemet.
  • ERNIE — a Baidu Qianfan OAuth-ot használ, így mind az API Key, mind a Secret Key szükséges. Az AIProxyServer a háttérben kéri és gyorsítótárazza a hozzáférési tokeneket.
  • Gemini — a hitelesítés URL lekérdezési paraméterrel történik; a proxy hozzáadja Ön helyett. Az ingyenes csomag percenkénti kvótái továbbra is érvényesek.

API hivatkozás

Végpontok

MetódusÚtvonalLeírás
GET/healthÉletjel-ellenőrzés. Visszaadja a szolgáltatás állapotát és a szolgáltatók listáját. Nincs szükség hitelesítésre.
GET/v1/providersKonfigurált szolgáltatók és metaadatok.
GET/<provider>/v1/modelsA megadott szolgáltató modelllistája, OpenAI formátumban.
POST/<provider>/v1/chat/completionsOpenAI Chat Completions kérés. Adja át a stream:true-t SSE-hez.

Streaming

Amikor a kliens elküldi a "stream": true-t, a proxy Server-Sent Events-szel válaszol OpenAI formátumban:

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"role":"assistant"},...}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"content":"Hello"},...}]}

data: [DONE]

Az Anthropic és Gemini natív streamjei erre az alakra vannak átfordítva, így minden kliens egyetlen elemzőt használhat.

Hitelesítési fejléc

Amikor a Require Bearer Token authentication be van kapcsolva, minden kéréssel küldje el a tokent a főablakból:

Authorization: Bearer <token-shown-in-app>

Beállítások

Nyissa meg a Beállítások ablakot az alsó eszköztár fogaskerék ikonjáról.

BeállításAlapértelmezettLeírás
Proxy Port8421A TCP port, amelyhez a figyelő kapcsolódik. A változtatás a proxy újraindítását igényli.
Auto Start ServerOnElindítja a proxyt az alkalmazás indulásakor.
Allow LAN AccessOffKikapcsolva a proxy csak a 127.0.0.1-hez kapcsolódik. Bekapcsolva a Wi-Fi-n lévő más eszközök is elérik a proxyt.
Require Bearer TokenOffBekapcsolva minden kérésnek tartalmaznia kell a főablakban megjelenített tokent. Erősen ajánlott, amikor az Allow LAN Access be van kapcsolva.

Kliens példák

cURL

# OpenAI (passthrough)
curl http://localhost:8421/openai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

# Claude ugyanazon OpenAI formán keresztül
curl http://localhost:8421/anthropic/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "messages": [{"role": "user", "content": "Hello"}],
    "max_tokens": 1024
  }'

OpenAI Python SDK

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8421/gemini/v1",
    api_key="placeholder",  # figyelmen kívül hagyva, ha a Bearer Token ki van kapcsolva
)
stream = client.chat.completions.create(
    model="gemini-2.0-flash",
    messages=[{"role": "user", "content": "Tell me a joke"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="", flush=True)

Flutter / Dart

// Bármely OpenAI-kompatibilis Dart kliens használatával
final client = OpenAIClient(
  baseUrl: 'http://localhost:8421/anthropic/v1',
  apiKey: '', // nem használt, ha a Bearer Token ki van kapcsolva
);
Mobil eszközök Wi-Fi-n: cserélje le a localhost-ot a Mac LAN IP-címére (a Base URL mezőben jelenik meg, amikor az Allow LAN Access be van kapcsolva).

Tippek

  • Hagyja kikapcsolva a Bearer Token-t, amíg helyben fejleszt; kapcsolja be abban a pillanatban, amikor engedélyezi a LAN hozzáférést.
  • Használjon különböző Base URL-eket szolgáltatónként a kliens kódjában, hogy egyetlen konstans módosításával válthasson szolgáltatót.
  • A proxy automatikusan elindul, de a főablakból ideiglenesen leállíthatja, ha port ütközés lép fel.
  • Ha egy szolgáltató ingyenes csomagja korlátozza a sebességet, az upstream hibaüzenet szó szerint továbbítódik. Semmilyen újrapróbálkozási logika nincs elrejtve a kliens elől.
  • A /v1/providers végpont hasznos annak felfedezésére, mely szolgáltatók vannak konfigurálva futás közben.

Hibaelhárítás

A proxy nem indul el

  • Egy másik folyamat már használhatja a 8421-es portot. Módosítsa a portot a Beállításokban, és indítsa újra a proxyt.
  • Ellenőrizze a rendszernaplót az indításkor megjelenített hibaüzenet miatt.

A kérés 401 Unauthorized-ot ad vissza

  • A Bearer Token követelmény be van kapcsolva, de a kliens nem küldött megfelelő Authorization: Bearer ... fejlécet.
  • A szolgáltató saját API kulcsa érvénytelen lehet — az upstream hiba továbbítva van, ezért ellenőrizze az üzenet törzsét.

A kérés "API key is not configured" választ ad

  • Nyissa meg a Providers listát, és kattintson a Set API Key gombra a kérdéses szolgáltatónál.
  • Az ERNIE esetén mind az API Key, mind a Secret Key kitöltése szükséges. Az Azure OpenAI esetén az Endpoint Base URL is szükséges.

A mobil eszköz nem éri el a proxyt

  • Kapcsolja be az Allow LAN Access opciót a Beállításokban.
  • Használja a Base URL mezőben megjelenő LAN IP-címet, ne a localhost-ot.
  • Győződjön meg róla, hogy mindkét eszköz ugyanazon a Wi-Fi hálózaton van, és hogy a tűzfal engedélyezi a bejövő kapcsolatokat a proxy portján.

A streaming válaszok egyszerre érkeznek

  • Győződjön meg róla, hogy a kliens a "stream": true-t küldi a JSON törzsben.
  • Egyes HTTP könyvtárak alapértelmezés szerint bufferelik az SSE-t — tiltsa le a válaszbufferelést a kliens oldalon.

Adatvédelem

  • Az API kulcsok Fernet-tel titkosítva vannak tárolva itt: ~/Library/Application Support/AIProxyServer/credentials.enc. A titkosítási kulcs a master.key-ben 0600 jogosultságokkal rendelkezik.
  • A Bearer Token, ha engedélyezve van, szintén csak a titkosított széfben tárolódik, és soha nem íródik a normál beállítások fájlba.
  • A proxy csak az Ön által kifejezetten konfigurált szolgáltatókhoz továbbítja a kéréseket. Nem végez más kimenő hívásokat.
  • Nincs telemetria, nincs analitika, nincs összeomlás-jelentés.
  • Az alapértelmezett hálózati kapcsolódás csak a 127.0.0.1. A LAN-ra való kitettség opcionális.
  • A beszélgetések tartalmát nem tárolja. Az AIProxyServer továbbítja a byte-okat, és azonnal elfelejti őket.