Kolejny poradnik, gdy kończę kilka botów (zaktualizowany o skrypt)

Przetłumaczono z angielskiego

Another Tutorial While I Finish Some Bots (Updated With Script)

66

74

DARMOWE PROXY AI JANITORAI · PRZEWODNIK KROK PO KROKU PO CLOUDFLARE

☁ LABORATORIUM DARMOWYCH PROXY MELPRZEWODNIK / PAŹDZIERNIK 2026 · WYDANIE SPOŁECZNOŚCIOWE
DARMOWY PLAN · WŁASNY WORKER · WIELE MODELI TWOJE WŁASNE PROXY AI Cloudflare Workers AI × JanitorAI
Jeden Worker. Pięć modeli. Bez miesięcznej subskrypcji, o ile korzystasz w ramach kwalifikujących się darmowych limitów.
PRZYJAZNE DLA POCZĄTKUJĄCYCHBEZ LOKALNEGO GPU10 000 NEURONÓW / DZIEŃPRZEŁĄCZANIE MODELIHai hai, wszystkim! 🌸 Zrobiłam to, żebyście mogli zbudować i zrozumieć własne proxy, zamiast polegać na cudzym.
ZANIM ZACZNIESZ — CO ROBI TEN SAMOUCZEK
Stworzymy darmowy Cloudflare Worker, zatrzymamy twój prywatny token Cloudflare w Sekretach, dodamy chronione proxy zgodne z OpenAI, wybierzemy model i połączymy go z JanitorAI. Zrzuty ekranu ilustrują kroki, a właściwy skrypt Workera jest dołączony poniżej, żebyś mógł go skopiować.

Jest darmowe w ramach dziennego limitu konta, ale nie jest nieograniczone ani gwarantowane, że obsłuży każdy model na każdym koncie. Nigdy nie publikuj tokenów API ani hasła do swojego proxy.
SEKCJA 01 // PODRĘCZNIK CHMURY Co będziesz potrzebować Twoja lista kontrolna konfiguracji
Darmowe konto Cloudflare
Załóż je na dash.cloudflare.com. Twój Worker działa online; twój komputer nie musi być włączony.
Konto JanitorAI
Używaj czatu/postaci, gdzie obsługiwane są niestandardowe proxy.
Bezpieczne prywatne hasło
Tworzysz je samodzielnie. Staje się ono PROXY_KEY, które jest oddzielne od tokenu API Cloudflare.
Darmowy limit: Cloudflare Workers AI obecnie dokumentuje 10 000 darmowych Neuronów/dzień, resetowanych o 00:00 UTC. Długość wejścia/wyjścia i wybór modelu zmieniają zużycie. Po osiągnięciu limitu otrzymasz błąd, dopóki limit się nie odnowi lub nie zmienisz planu.
SEKCJA 02 // PODRĘCZNIK CHMURY Wdróż swój Cloudflare Worker Stwórz mały serwer, który będzie przekazywał żądania
ZRZUT 01 · PANEL CLOUDFLAREODNIESIENIE WIZUALNE
Użyj tego zrzutu jako orientacji wizualnej dla panelu. Etykiety mogą się z czasem zmieniać.
Przejdź do panelu Cloudflare → Workers & Pages → Utwórz. Utwórz Workera z szablonu startowego, nazwij go na przykład janitor-free-proxy i naciśnij Wdróż.
ZRZUT 02 · KONFIGURACJA WORKERAODNIESIENIE WIZUALNE
Podążaj za bieżącymi monitami tworzenia Workera, aż Cloudflare da ci adres *.workers.dev.
https://janitor-free-proxy.YOUR-SUBDOMAIN.workers.dev
SEKCJA 03 // PODRĘCZNIK CHMURY Pobierz swój token Workers AI Ten token jest prywatny; nigdy nie należy go umieszczać w JanitorAI
ZRZUT 03 · WORKERS AI / TOKENODNIESIENIE WIZUALNE
Znajdź Workers AI oraz obszar REST API / tworzenia tokenu w swoim panelu.
Otwórz AI → Workers AI i poszukaj Use REST API lub akcji tworzenia tokenu API. Utwórz token z dostępem do Workers AI i skopiuj swój Cloudflare Account ID.
ZASADA BEZPIECZEŃSTWA
Token API Cloudflare to sekret serwera. NIE wklejaj go do JanitorAI, Discorda ani publicznego kodu. JanitorAI otrzyma jedynie inne prywatne hasło (PROXY_KEY).
SEKCJA 04 // PODRĘCZNIK CHMURY Dodaj 3 ustawienia Workera Cloudflare Account ID plus dwa sekrety
ZRZUT 04 · ZMIENNE & SEKRETYODNIESIENIE WIZUALNE
Wewnątrz swojego Workera otwórz Settings → Variables and Secrets.
CLOUDFLARE_ACCOUNT_ID — Text: twój ID konta
CLOUDFLARE_API_TOKEN — Secret: token Cloudflare
PROXY_KEY — Secret: wybrane przez ciebie unikalne silne hasło
Zapisz zmienne i wdróż ponownie, jeśli Cloudflare o to poprosi. Nie używaj hasła logowania do konta jako PROXY_KEY.
Twoje trzy ustawienia Workera — dokładne nazwy CLOUDFLARE_ACCOUNT_ID · Text · Twój Account ID, uzyskany z twojego własnego panelu Cloudflare. To nie jest nazwa ani URL Workera.
CLOUDFLARE_API_TOKEN · Secret · Token API Workers AI, który wygenerowałeś w Cloudflare. Nigdy nie umieszczaj go w publicznym kodzie Workera ani w polu API Key w Janitorze.
PROXY_KEY · Secret · Długie unikalne hasło, które tworzysz samodzielnie. Wkleisz TO SAMO hasło w polu API Key w Janitorze.
TYLKO PRZYKŁADOWA STRUKTURA (nie prawdziwe klucze)
CLOUDFLARE_ACCOUNT_ID = [twój własny ID konta]
CLOUDFLARE_API_TOKEN = [twój własny sekretny token AI]
PROXY_KEY = [twoje własne prywatne losowe hasło]
SEKCJA 05 // PODRĘCZNIK CHMURY Wklej kompletny kod proxy To jest rzeczywisty działający kod źródłowy Workera, a nie placeholder
ZRZUT 05 · EDYTOR KODU WORKERAODNIESIENIE WIZUALNE
Kliknij Edit code w swoim Workerze i zastąp kod startowy.
Otwórz Edit code, usuń istniejący kod startowy, wklej cały JavaScript poniżej, a następnie naciśnij Wdróż. Skrypt obsługuje /v1/chat/completions i /chat/completions, streaming, wybrany model oraz osobiste hasło.
☁ Ten skrypt to właściwy most — co robi? 1 · CORS + OPTIONS: pozwala klientom przeglądarkowym bezpiecznie wykonać żądanie preflight. 2 · Punkty końcowe POST: przyjmuje żądania pod /v1/chat/completions lub /chat/completions. 3 · Osobiste hasło: porównuje API Key wysyłany przez Janitora z twoim sekretem PROXY_KEY. Bez tego każdy, kto odkryje URL, mógłby zużywać twój darmowy limit. 4 · Pełna rozmowa RP: zachowuje tablicę messages Janitora, zamiast redukować twoją historię do ostatniej wiadomości. 5 · Wybór modelu: zaczyna od Gemma 4, ale akceptuje także pięć obsługiwanych identyfikatorów modeli wymienionych w tym samouczku. Oryginalny kod zawsze wymuszał Gemmę; ta wersja pozwala przełączać model w polu Model Name w Janitorze. 6 · Streaming + ustawienia: włącza streaming i używa temperatury 0.9, top_p 0.95 i max_tokens 2048 tylko jeśli Janitor nie podał prawidłowych wartości. 7 · API Cloudflare: używa twojego Cloudflare Account ID i jego oddzielnego tokenu API do wywołania Workers AI. Twój token Cloudflare nigdy nie musi być wklejany do Janitora. 8 · Bezpośrednie przekazywanie: przekazuje strumień odpowiedzi z powrotem do Janitora bez odbudowywania poszczególnych tokenów lub fragmentów.
Skopiuj CAŁY blok poniżej do edytora kodu Workera w Cloudflare. Nie wklejaj go w pole URL proxy w Janitorze. Nie zastępujesz niczego wewnątrz skryptu swoimi sekretami: dodaj je pod Settings → Variables and Secrets. Zachowaj ich dokładne nazwy, łącznie z podkreśleniami. Po wklejeniu naciśnij Wdróż.
</> PEŁNY SKRYPT CLOUDFLARE WORKER — JAVASCRIPT · OTWÓRZ / KOPIUJ ↓
// JANITORAI + CLOUDFLARE WORKERS AI PROXY // Zaadaptowane z działającego przekazywania streamingu Mel. // KROK 1: Settings > Variables and Secrets // CLOUDFLARE_ACCOUNT_ID = twój własny Cloudflare Account ID (Text) // CLOUDFLARE_API_TOKEN = twój własny token API Workers AI (Secret) // PROXY_KEY = silne hasło, które TY tworzysz (Secret) // KROK 2: wklej CAŁY ten skrypt w Edit code i Wdróż. // KROK 3: w JanitorAI ustaw Proxy URL na: // https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev/v1/chat/completions // a API Key na TĘ SAMĄ wartość co twój PROXY_KEY. const MODELS = new Set([ "@cf/google/gemma-4-26b-a4b-it", "@cf/zai-org/glm-4.7-flash", "@cf/qwen/qwen3-30b-a3b-fp8", "@cf/mistralai/mistral-small-3.1-24b-instruct", "@cf/meta/llama-3.3-70b-instruct-fp8-fast", ]); const DEFAULT_MODEL = "@cf/google/gemma-4-26b-a4b-it"; export default { async fetch(request, env) { const origin = request.headers.get("Origin") || "*"; const corsHeaders = { "Access-Control-Allow-Origin": origin, "Access-Control-Allow-Methods": "GET, POST, OPTIONS", "Access-Control-Allow-Headers": request.headers.get("Access-Control-Request-Headers") || "Content-Type, Authorization, X-API-Key", "Access-Control-Max-Age": "86400", "Vary": "Origin", }; const json = (data, status = 200) => Response.json(data, { status, headers: corsHeaders }); if (request.method === "OPTIONS") { return new Response(null, { status: 204, headers: corsHeaders }); } const path = new URL(request.url).pathname; if (request.method === "GET" && path === "/") { return json({ status: "ok", service: "Private Workers AI proxy" }); } if (request.method !== "POST" || (path !== "/v1/chat/completions" && path !== "/chat/completions")) { return json({ error: { message: "Not found" } }, 404); } // WAŻNY DODATEK: uniemożliwia obcym korzystanie z twojego limitu. if (!env.PROXY_KEY || !env.CLOUDFLARE_ACCOUNT_ID || !env.CLOUDFLARE_API_TOKEN) { return json({ error: { message: "Missing Worker secrets" } }, 500); } const auth = request.headers.get("Authorization") || ""; const suppliedKey = auth.replace(/^Bearer\s+/i, "").trim() || request.headers.get("X-API-Key") || ""; if (suppliedKey !== env.PROXY_KEY) { return json({ error: { message: "Invalid PROXY_KEY" } }, 401); } try { const raw = await request.text(); if (raw.length > 500000) { return json({ error: { message: "Request too large" } }, 413); } const body = JSON.parse(raw); if (!Array.isArray(body.messages) || !body.messages.length) { return json({ error: { message: "Missing messages array" } }, 400); } // Zachowaj rozmowę Janitora. Oryginał wymuszał tu Gemmę: // body.model = "@cf/google/gemma-4-26b-a4b-it"; // Ta zaktualizowana wersja obsługuje także przełączanie modeli w Janitorze. body.model = body.model || DEFAULT_MODEL; if (!MODELS.has(body.model)) { return json({ error: { message: "Model not in tutorial allowlist" } }, 400); } body.stream = true; // Zachowaj ustawienia Janitora, z sensownymi domyślnymi. if (typeof body.temperature !== "number") body.temperature = 0.9; if (typeof body.top_p !== "number" || body.top_p <= 0) body.top_p = 0.95; if (!body.max_tokens || body.max_tokens <= 0) body.max_tokens = 2048; const upstream = await fetch( `https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(env.CLOUDFLARE_ACCOUNT_ID)}/ai/v1/chat/completions`, { method: "POST", headers: { "Authorization": `Bearer ${env.CLOUDFLARE_API_TOKEN}`, "Content-Type": "application/json", "Accept": "text/event-stream", }, body: JSON.stringify(body), } ); // BEZPOŚREDNIE PRZEKAZYWANIE: bez odbudowywania strumieniowanego tekstu modelu. if (!upstream.ok) { const errorText = await upstream.text(); return new Response(errorText, { status: upstream.status, headers: { ...corsHeaders, "Content-Type": upstream.headers.get("Content-Type") || "application/json", }, }); } return new Response(upstream.body, { status: upstream.status, headers: { ...corsHeaders, "Content-Type": upstream.headers.get("Content-Type") || "text/event-stream; charset=utf-8", "Cache-Control": "no-cache, no-transform", }, }); } catch (error) { return json({ error: { message: error?.message || String(error) } }, 500); } }, };
Dlaczego używać 3 ustawień?
Cloudflare Account ID identyfikuje twoje konto; Cloudflare API Token przyznaje dostęp do modelu; PROXY_KEY powstrzymuje innych przed wysyłaniem żądań przez publiczny URL twojego Workera.
Nie oczekuj automatycznego jailbreaka
To jest proxy transportowe, a nie dostrajanie modelu. Wszystkie zasady modeli i ograniczenia Cloudflare nadal obowiązują.
SEKCJA 06 // PODRĘCZNIK CHMURY Wybierz jeden z pięciu modeli AI Identyfikatory modeli, które możesz skopiować do JanitorAI
ZRZUT 06 · MODELE WORKERS AIODNIESIENIE WIZUALNE
Użyj stron modeli Cloudflare, aby porównać możliwości, bieżącą kwalifikowalność i ceny użycia.
MODEL 01 GEMMA 4 · ZACZNIJ TUTAJ
@cf/google/gemma-4-26b-a4b-it
Ogólne opowiadanie historii i duże okno kontekstu 256K tokenów. Dobry pierwszy model do eksperymentów.
MODEL 02 GLM-4.7 FLASH · DIALOG
@cf/zai-org/glm-4.7-flash
Wielojęzyczna opcja zorientowana na dialog z oknem kontekstu 131K.
MODEL 03 QWEN3 30B A3B · SZCZEGÓŁY
@cf/qwen/qwen3-30b-a3b-fp8
Podążanie za instrukcjami i złożone sceny. Kontekst 32K; zachowanie rozumowania może wpływać na zużycie tokenów.
MODEL 04 MISTRAL SMALL 3.1 · PROZA
@cf/mistralai/mistral-small-3.1-24b-instruct
Odmienny styl pisania do porównania w twórczej prozie. Do 128K kontekstu.
MODEL 05 LLAMA 3.3 70B · ALTERNATYWA
@cf/meta/llama-3.3-70b-instruct-fp8-fast
Większy model z oknem kontekstu 24K, który może stosunkowo szybko zużywać darmowy limit.
To są sugestie do testowania, nie zweryfikowane rankingi roleplay. Dostępność i ograniczenia wyłącznie płatne mogą się różnić. Jeśli model zwraca 403, sprawdź dostęp w Cloudflare i kwalifikowalność modelu, zamiast zakładać, że proxy jest zepsute.
SEKCJA 07 // PODRĘCZNIK CHMURY Połącz Workera z JanitorAI Użyj URL Workera i PROXY_KEY — nie swojego tokenu API Cloudflare
ZRZUT 07 · USTAWIENIA PROXY JANITORAIODNIESIENIE WIZUALNE
Otwórz ustawienia czatu JanitorAI → Proxy → Add lub skonfiguruj proxy.
Nazwa konfiguracji
Cloudflare Free AI
Nazwa modelu
@cf/google/gemma-4-26b-a4b-it
URL proxy
https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev/v1/chat/completions
Klucz API
Twój prywatny sekret PROXY_KEY — NIE token API Cloudflare.
Zapisz ustawienia, wybierz konfigurację i wyślij krótką wiadomość testową. Gdy zadziała, odpowiedzi modelu powinny wracać z Cloudflare przez twojego Workera. Jeśli proxy się nie łączy, sprawdź zarówno logi Workera, jak i ustawienia czatu Janitora.
🔗 Jak właściwie powinien wyglądać twój URL proxy? PRAWDZIWY URL MEL — TYLKO PRZYKŁADOWY FORMAT https://janitor-ai-proxy.melancholux.workers.dev/v1/chat/completions TWÓJ WŁASNY URL — ZASTĄP TĘ CZĘŚĆ https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev/v1/chat/completions Przykład: Cloudflare mówi, że adres twojego Workera to https://my-rp-proxy.abc123.workers.dev. Twój Proxy URL w Janitorze to ten dokładny adres plus /v1/chat/completions: https://my-rp-proxy.abc123.workers.dev/v1/chat/completions Nie używaj URL Mel jako własnego. Domena Workera twojego konta będzie inna. Nie wpisuj dosłownie słów YOUR-WORKER i nie wklejaj swojego tokenu API Cloudflare do Janitora: użyj PROXY_KEY w jego polu API Key.
SEKCJA 08 // PODRĘCZNIK CHMURY Przełączaj modele bez ponownego wdrażania Pięć modeli, jeden Worker, jeden darmowy przydział
ZRZUT 08 · KOŃCOWE SPRAWDZENIE / TESTODNIESIENIE WIZUALNE
Użyj końcowego zrzutu jako odniesienia podczas weryfikacji czatu i wybranego modelu.
W JanitorAI zmień tylko Model Name na dowolny ID wymieniony powyżej. URL Workera i PROXY_KEY pozostają bez zmian. Możesz zapisać osobne konfiguracje dla każdego modelu, ale wszystkie zużywają ten sam limit konta.
Z: @cf/google/gemma-4-26b-a4b-it Na: @cf/zai-org/glm-4.7-flash
SEKCJA 09 // PODRĘCZNIK CHMURY Sugerowane ustawienia RP Opcjonalne punkty wyjścia, nie uniwersalnie najlepsze ustawienia
Temperatura
0.8–1.0, aby eksperymentować z większą różnorodnością; obniż ją, jeśli postacie się rozjeżdżają.
Top P
0.90–0.95, jeśli wybrany model to obsługuje.
Maks. tokenów wyjściowych
1024–2048; krótsze odpowiedzi kosztują mniej Neuronów.
Streaming
Włączony, jeśli zarówno twój obecny interfejs Janitora, jak i wybrany model to obsługują.
Długie historie rozmów mogą zużywać wiele tokenów. To, że model obsługuje ogromny kontekst, nie oznacza, że cały kontekst mieści się w twoim dziennym darmowym budżecie.
SEKCJA 10 // PODRĘCZNIK CHMURY FAQ & rozwiązywanie problemów To, co zwykle idzie nie tak
Czy mój komputer musi być włączony? ↓
Nie. Twój Cloudflare Worker działa na infrastrukturze Cloudflare.
Czy jest nieograniczone? ↓
Nie. Darmowy limit obecnie obejmuje 10 000 Neuronów dziennie na konto.
Czy NSFW jest gwarantowane? ↓
Nie. Zachowanie dotyczące bezpieczeństwa i moderacji zależy od modelu i zasad usługi.
Czy znajomi mogą używać mojego proxy? ↓
Nie udostępniaj swojego PROXY_KEY bez namysłu. Każdy, kto ma URL i klucz, mógłby zużywać twój limit.
401 Unauthorized ↓
Klucz API JanitorAI musi dokładnie odpowiadać PROXY_KEY.
403 Forbidden ↓
Sprawdź uprawnienia tokenu Cloudflare, kwalifikowalność modelu i czy wymagany jest płatny plan.
404 Not Found ↓
Dokładnie sprawdź URL workers.dev i ścieżkę /v1/chat/completions.
400 Invalid model ↓
Sprawdź, czy dokładnie skopiowałeś obsługiwany identyfikator modelu.
429 Too many requests ↓
Być może wyczerpałeś darmowe Neurony lub trafiłeś na tymczasowe limity wydajności.
Odpowiedzi się nie pokazują ↓
Sprawdź wdrożenie Workera, logi, swoje sekrety i ustawienia czatu/proxy; spróbuj krótszego promptu.
Przełączanie modeli usuwa czaty? ↓
Zmiana wybranego modelu sama w sobie nie usuwa zapisanych rozmów Janitora. Każdy model może inaczej obsługiwać dostępny kontekst.
SEKCJA 11 // PODRĘCZNIK CHMURY Słowo końcowe & oficjalne zasoby Zrób to po swojemu — i chroń swoje klucze
I proszę bardzo, kochani! 🌸
Jedno osobiste proxy, pięć modeli do porównania i trochę więcej swobody w eksperymentowaniu. Ten samouczek nie jest nieograniczoną darmową usługą premium, tylko sposobem na naukę i odkrywanie w ramach dostępnego limitu.

Dzielę się tym, bo tworzenie powinno być zabawą, a wiem, że nie każdego stać na modele premium.
Bądźcie puszystością. 🤍
Samouczek stworzony przez społeczność autorstwa Melancholux. Niepowiązany z JanitorAI, Cloudflare ani żadnym wymienionym dostawcą modeli.
Prywatne klucze nigdy nie powinny pojawiać się w publicznym poście.

Utworzono 25 paź

Zaktualizowano 25 paź

Opublikowano 25 paź

Opublikowane czaty