Encore un tutoriel pendant que je termine quelques bots (Mis à jour avec le script)
Traduit de l’anglais·
66
74
by:@Melancholux
PROXY IA JANITORAI GRATUIT · GUIDE CLOUDFLARE PAS À PAS
☁ LE LABO DE PROXYS GRATUITS DE MELGUIDE / OCTOBRE 2026 · ÉDITION COMMUNAUTAIRE
OFFRE GRATUITE · WORKER AUTO-HÉBERGÉ · MULTI-MODÈLE VOTRE PROPRE PROXY IA Cloudflare Workers AI × JanitorAI
Un seul Worker. Cinq modèles. Aucun abonnement mensuel nécessaire pour un usage dans les limites gratuites éligibles.
Un seul Worker. Cinq modèles. Aucun abonnement mensuel nécessaire pour un usage dans les limites gratuites éligibles.
ADAPTÉ AUX DÉBUTANTSPAS DE GPU LOCAL10 000 NEURONES / JOURCHANGEMENT DE MODÈLEHai hai, tout le monde ! 🌸 J'ai fait ceci pour que vous puissiez construire et comprendre votre propre proxy plutôt que de dépendre de celui de quelqu'un d'autre.
AVANT DE COMMENCER — CE QUE FAIT CE TUTORIEL
Nous allons créer un Worker Cloudflare gratuit, garder votre jeton Cloudflare privé dans les Secrets, ajouter un proxy protégé compatible OpenAI, choisir un modèle et le connecter à JanitorAI. Les images illustrent les étapes, et le script réel du Worker est inclus ci-dessous pour que vous puissiez le copier.
C'est gratuit dans la limite de l'allocation quotidienne du compte, pas illimité ni garanti de prendre en charge tous les modèles sur tous les comptes. Ne publiez jamais vos jetons d'API ni votre mot de passe de proxy.
C'est gratuit dans la limite de l'allocation quotidienne du compte, pas illimité ni garanti de prendre en charge tous les modèles sur tous les comptes. Ne publiez jamais vos jetons d'API ni votre mot de passe de proxy.
SECTION 01 // MANUEL CLOUD Ce dont vous avez besoin Votre liste de préparation
Un compte Cloudflare gratuit
Créez-en un sur dash.cloudflare.com. Votre Worker fonctionne en ligne ; votre PC n'a pas besoin de rester allumé.
Un compte JanitorAI
Utilisez un chat/personnage où les proxys personnalisés sont pris en charge.
Un mot de passe privé sécurisé
Vous le créez vous-même. Il devient le PROXY_KEY, qui est distinct du jeton d'API Cloudflare.
Allocation gratuite : Cloudflare Workers AI documente actuellement 10 000 Neurones gratuits/jour, réinitialisés à 00:00 UTC. La longueur des entrées/sorties et le choix du modèle modifient la consommation. À la limite, vous recevrez une erreur jusqu'à la réinitialisation de l'allocation ou un changement de formule.
SECTION 02 // MANUEL CLOUD Déployez votre Worker Cloudflare Créez le petit serveur qui transmettra les requêtes
CAPTURE 01 · TABLEAU DE BORD CLOUDFLARERÉFÉRENCE VISUELLE
Utilisez cette capture comme repère visuel pour le tableau de bord. Les libellés peuvent changer avec le temps.
Allez au tableau de bord Cloudflare → Workers & Pages → Créer. Créez un Worker avec le modèle de départ, nommez-le par exemple janitor-free-proxy et appuyez sur Déployer.
CAPTURE 02 · CONFIGURATION DU WORKERRÉFÉRENCE VISUELLE
Suivez les invites actuelles de création de Worker jusqu'à ce que Cloudflare vous donne une adresse *.workers.dev.
https://janitor-free-proxy.YOUR-SUBDOMAIN.workers.dev
SECTION 03 // MANUEL CLOUD Obtenez votre jeton Workers AI Ce jeton est privé ; il n'a jamais sa place dans JanitorAI
CAPTURE 03 · WORKERS AI / JETONRÉFÉRENCE VISUELLE
Trouvez Workers AI et la zone de création de jeton / API REST dans votre tableau de bord.
Ouvrez AI → Workers AI et cherchez Utiliser l'API REST ou une action de création de jeton d'API. Créez un jeton avec accès à Workers AI, et copiez votre ID de compte Cloudflare.
RÈGLE DE SÉCURITÉ
Le jeton d'API Cloudflare est un secret côté serveur. Ne le collez PAS dans JanitorAI, Discord ou du code public. JanitorAI ne recevra qu'un mot de passe privé différent (PROXY_KEY).
SECTION 04 // MANUEL CLOUD Ajoutez 3 réglages au Worker Un ID de compte Cloudflare plus deux Secrets
CAPTURE 04 · VARIABLES & SECRETSRÉFÉRENCE VISUELLE
Dans votre Worker, ouvrez Paramètres → Variables et Secrets.
CLOUDFLARE_ACCOUNT_ID — Texte : votre ID de compte
CLOUDFLARE_API_TOKEN — Secret : le jeton Cloudflare
PROXY_KEY — Secret : un mot de passe fort unique que vous choisissez
CLOUDFLARE_API_TOKEN — Secret : le jeton Cloudflare
PROXY_KEY — Secret : un mot de passe fort unique que vous choisissez
Enregistrez les variables, et redéployez si Cloudflare le demande. N'utilisez pas le mot de passe de connexion de votre compte comme PROXY_KEY.
Vos trois réglages Worker — noms exacts CLOUDFLARE_ACCOUNT_ID · Texte · Votre ID de compte, obtenu depuis votre propre tableau de bord Cloudflare. Ce n'est pas le nom ni l'URL du Worker.
CLOUDFLARE_API_TOKEN · Secret · Le jeton d'API Workers AI que vous avez généré dans Cloudflare. Ne le mettez jamais dans le code public du Worker ni dans le champ API Key de Janitor.
PROXY_KEY · Secret · Un long mot de passe unique que vous créez vous-même. Vous collerez le MÊME mot de passe dans le champ API Key de Janitor.
STRUCTURE D'EXEMPLE UNIQUEMENT (pas de vraies clés)
CLOUDFLARE_ACCOUNT_ID = [votre propre ID de compte]
CLOUDFLARE_API_TOKEN = [votre propre jeton IA secret]
PROXY_KEY = [votre propre mot de passe privé aléatoire]
CLOUDFLARE_API_TOKEN · Secret · Le jeton d'API Workers AI que vous avez généré dans Cloudflare. Ne le mettez jamais dans le code public du Worker ni dans le champ API Key de Janitor.
PROXY_KEY · Secret · Un long mot de passe unique que vous créez vous-même. Vous collerez le MÊME mot de passe dans le champ API Key de Janitor.
STRUCTURE D'EXEMPLE UNIQUEMENT (pas de vraies clés)
CLOUDFLARE_ACCOUNT_ID = [votre propre ID de compte]
CLOUDFLARE_API_TOKEN = [votre propre jeton IA secret]
PROXY_KEY = [votre propre mot de passe privé aléatoire]
SECTION 05 // MANUEL CLOUD Collez le code complet du proxy Voici le véritable code source fonctionnel du Worker, pas un texte de remplacement
CAPTURE 05 · ÉDITEUR DE CODE DU WORKERRÉFÉRENCE VISUELLE
Cliquez sur Modifier le code dans votre Worker et remplacez le code de départ.
Ouvrez Modifier le code, supprimez le code de départ existant, collez le JavaScript entier ci-dessous, puis appuyez sur Déployer. Le script prend en charge
/v1/chat/completions et /chat/completions, le streaming, le modèle de votre choix et un mot de passe personnel. ☁ Ce script est le véritable pont — que fait-il ? 1 · CORS + OPTIONS : permet aux clients basés navigateur d'effectuer la requête preflight en toute sécurité. 2 · Points de terminaison POST : accepte les requêtes sur
/v1/chat/completions ou /chat/completions. 3 · Mot de passe personnel : compare l'API Key envoyée par Janitor avec votre secret PROXY_KEY. Sans cela, quiconque découvre l'URL pourrait consommer votre quota gratuit. 4 · Conversation RP complète : conserve le tableau messages de Janitor au lieu de réduire votre histoire au dernier message. 5 · Sélection du modèle : commence par Gemma 4 mais accepte aussi les cinq ID de modèles pris en charge listés dans ce tutoriel. Le code original forçait toujours Gemma ; cette version vous permet de changer depuis le champ Model Name de Janitor. 6 · Streaming + réglages : active le streaming et utilise temperature 0.9, top_p 0.95, et max_tokens 2048 uniquement si Janitor n'a pas fourni de valeurs valides. 7 · API Cloudflare : utilise votre ID de compte Cloudflare et son jeton d'API distinct pour appeler Workers AI. Votre jeton Cloudflare n'a jamais besoin d'être collé dans Janitor. 8 · Transmission directe : renvoie le flux de réponse à Janitor sans reconstruire les jetons ou les morceaux individuels. Copiez le bloc ENTIER ci-dessous dans l'éditeur de code du Worker Cloudflare. Ne le collez pas dans le champ URL de proxy de Janitor. Vous ne devez pas remplacer quoi que ce soit dans le script par vos secrets : ajoutez-les sous Paramètres → Variables et Secrets. Gardez leurs noms exacts, y compris les tirets bas. Après avoir collé, cliquez sur Déployer.
</> SCRIPT COMPLET DU WORKER CLOUDFLARE — JAVASCRIPT · OUVRIR / COPIER ↓
// PROXY JANITORAI + CLOUDFLARE WORKERS AI // Adapté de la transmission en streaming fonctionnelle de Mel. // ÉTAPE 1 : Paramètres > Variables et Secrets // CLOUDFLARE_ACCOUNT_ID = votre propre ID de compte Cloudflare (Texte) // CLOUDFLARE_API_TOKEN = votre propre jeton d'API Workers AI (Secret) // PROXY_KEY = un mot de passe fort que VOUS créez (Secret) // ÉTAPE 2 : collez ce script ENTIER dans Modifier le code et Déployez. // ÉTAPE 3 : dans JanitorAI, définissez l'URL de proxy sur : // https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev/v1/chat/completions // et l'API Key sur la MÊME valeur que votre 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); } // AJOUT IMPORTANT : empêcher des inconnus d'utiliser votre quota. 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); } // Préserver la conversation de Janitor. L'original fixait Gemma ici : // body.model = "@cf/google/gemma-4-26b-a4b-it"; // Cette version mise à jour prend aussi en charge le changement de modèle dans Janitor. body.model = body.model || DEFAULT_MODEL; if (!MODELS.has(body.model)) { return json({ error: { message: "Model not in tutorial allowlist" } }, 400); } body.stream = true; // Conserver les réglages de Janitor, avec des valeurs par défaut raisonnables. 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), } ); // TRANSMISSION DIRECTE : pas de reconstruction du texte diffusé du modèle. 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); } }, };Pourquoi 3 réglages ?
L'ID de compte Cloudflare identifie votre compte ; le jeton d'API Cloudflare accorde l'accès aux modèles ; PROXY_KEY empêche d'autres personnes d'envoyer des requêtes via l'URL publique de votre Worker.
N'attendez pas de jailbreak automatique
Ceci est un proxy de transport, pas un fine-tuning de modèle. Toutes les politiques des modèles et les restrictions de Cloudflare s'appliquent toujours.
SECTION 06 // MANUEL CLOUD Choisissez l'un des cinq modèles d'IA ID de modèles que vous pouvez copier dans JanitorAI
CAPTURE 06 · MODÈLES WORKERS AIRÉFÉRENCE VISUELLE
Utilisez les pages de modèles Cloudflare pour comparer les capacités, l'éligibilité actuelle et le tarif d'utilisation.
MODÈLE 01 GEMMA 4 · COMMENCEZ ICI
@cf/google/gemma-4-26b-a4b-it
Narration générale et grande fenêtre de contexte de 256K jetons. Bon premier modèle pour expérimenter. MODÈLE 02 GLM-4.7 FLASH · DIALOGUE
@cf/zai-org/glm-4.7-flash
Option multilingue orientée dialogue avec une fenêtre de contexte de 131K. MODÈLE 03 QWEN3 30B A3B · DÉTAIL
@cf/qwen/qwen3-30b-a3b-fp8
Suivi d'instructions et scènes complexes. Contexte de 32K ; le comportement de raisonnement peut affecter la consommation de jetons. MODÈLE 04 MISTRAL SMALL 3.1 · PROSE
@cf/mistralai/mistral-small-3.1-24b-instruct
Un style d'écriture différent à comparer pour la prose créative. Jusqu'à 128K de contexte. MODÈLE 05 LLAMA 3.3 70B · ALTERNATIVE
@cf/meta/llama-3.3-70b-instruct-fp8-fast
Un modèle plus grand avec une fenêtre de contexte de 24K, qui peut épuiser l'allocation gratuite relativement vite.Ce sont des suggestions pour tester, pas des classements de roleplay vérifiés. La disponibilité et les restrictions payantes peuvent varier. Si un modèle renvoie 403, vérifiez l'accès Cloudflare et l'éligibilité du modèle au lieu de supposer que le proxy est cassé.
SECTION 07 // MANUEL CLOUD Connectez le Worker à JanitorAI Utilisez l'URL du Worker et PROXY_KEY — pas votre jeton d'API Cloudflare
CAPTURE 07 · PARAMÈTRES DE PROXY JANITORAIRÉFÉRENCE VISUELLE
Ouvrez les paramètres de chat de JanitorAI → Proxy → Ajouter ou configurer un proxy.
Nom de la configuration
Cloudflare Free AI
Nom du modèle
URL du proxy
API Key
Votre secret privé
Cloudflare Free AI
Nom du modèle
@cf/google/gemma-4-26b-a4b-itURL du proxy
https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev/v1/chat/completionsAPI Key
Votre secret privé
PROXY_KEY — PAS le jeton d'API Cloudflare.Enregistrez les paramètres, sélectionnez la configuration et envoyez un court message de test. Quand cela fonctionne, les réponses du modèle doivent revenir de Cloudflare via votre Worker. Si le proxy ne se connecte pas, vérifiez à la fois les journaux du Worker et les paramètres de chat de Janitor.
🔗 À quoi doit réellement ressembler votre URL de proxy ? LA VRAIE URL DE MEL — FORMAT D'EXEMPLE UNIQUEMENT
https://janitor-ai-proxy.melancholux.workers.dev/v1/chat/completions VOTRE PROPRE URL — REMPLACEZ CETTE PARTIE https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev/v1/chat/completions Exemple : Cloudflare indique que l'adresse de votre Worker est https://my-rp-proxy.abc123.workers.dev. Votre URL de proxy dans Janitor est cette adresse exacte plus /v1/chat/completions : https://my-rp-proxy.abc123.workers.dev/v1/chat/completions N'utilisez pas l'URL de Mel comme la vôtre. Le domaine Worker de votre compte sera différent. Ne tapez pas les mots YOUR-WORKER littéralement, et ne collez pas votre jeton d'API Cloudflare dans Janitor : utilisez PROXY_KEY dans son champ API Key. SECTION 08 // MANUEL CLOUD Changez de modèle sans redéployer Cinq modèles, un Worker, une allocation gratuite
CAPTURE 08 · VÉRIFICATION FINALE / TESTRÉFÉRENCE VISUELLE
Utilisez la capture finale comme référence pendant la vérification de votre chat et du modèle choisi.
Dans JanitorAI, changez uniquement le Model Name pour l'un des ID listés ci-dessus. L'URL du Worker et PROXY_KEY restent inchangés. Vous pouvez enregistrer des configurations séparées par modèle, mais elles dépensent toutes la même allocation de compte.
De : @cf/google/gemma-4-26b-a4b-it À : @cf/zai-org/glm-4.7-flash
SECTION 09 // MANUEL CLOUD Réglages RP suggérés Points de départ facultatifs, pas des réglages universellement optimaux
Temperature
0,8–1,0 pour expérimenter plus de variété ; diminuez-la si les personnages dérivent.
Top P
0,90–0,95 si le modèle sélectionné le prend en charge.
Jetons de sortie max
1024–2048 ; des réponses plus courtes coûtent moins de Neurones.
Streaming
Activé, si votre interface Janitor actuelle et le modèle choisi le prennent tous deux en charge.
Les longs historiques de conversation peuvent consommer beaucoup de jetons. Un modèle prenant en charge un contexte énorme ne signifie pas que tout le contexte tient dans votre budget gratuit quotidien.
SECTION 10 // MANUEL CLOUD FAQ & dépannage Les choses qui tournent mal d'habitude
Mon PC doit-il rester allumé ? ↓
Non. Votre Worker Cloudflare fonctionne sur l'infrastructure de Cloudflare.
Est-ce illimité ? ↓
Non. L'allocation gratuite couvre actuellement 10 000 Neurones par jour pour l'ensemble du compte.
Le NSFW est-il garanti ? ↓
Non. Le comportement de sécurité et de modération dépend du modèle et des politiques du service.
Mes amis peuvent-ils utiliser mon proxy ? ↓
Ne partagez pas votre PROXY_KEY à la légère. Quiconque possède l'URL et la clé pourrait consommer votre allocation.
401 Unauthorized ↓
L'API Key de JanitorAI doit correspondre exactement à PROXY_KEY.
403 Forbidden ↓
Vérifiez les permissions du jeton Cloudflare, l'éligibilité du modèle et si une formule payante est requise.
404 Not Found ↓
Vérifiez deux fois l'URL workers.dev et le chemin /v1/chat/completions.
400 Modèle invalide ↓
Vérifiez que vous avez copié exactement un ID de modèle pris en charge.
429 Trop de requêtes ↓
Vous avez peut-être épuisé les Neurones gratuits ou atteint des limites de capacité temporaires.
Réponses non affichées ↓
Vérifiez le déploiement du Worker, les journaux, vos secrets et les paramètres de chat/proxy ; essayez une invite plus courte.
Changer de modèle supprime les chats ? ↓
Changer le modèle sélectionné ne supprime pas en soi les conversations Janitor enregistrées. Chaque modèle peut gérer différemment le contexte disponible.
SECTION 11 // MANUEL CLOUD Mots de la fin & ressources officielles Faites-en le vôtre — et gardez vos clés privées
Et voilà, mes chéris ! 🌸
Un proxy personnel, cinq modèles à comparer, et un peu plus de liberté pour expérimenter. Ce tutoriel n'est pas un service premium gratuit illimité, juste une façon d'apprendre et d'explorer dans la limite de l'allocation disponible.
Je partage ceci parce que créer des choses devrait être amusant, et je sais que tout le monde ne peut pas payer pour des modèles premium.
Restez tout doux. 🤍
Un proxy personnel, cinq modèles à comparer, et un peu plus de liberté pour expérimenter. Ce tutoriel n'est pas un service premium gratuit illimité, juste une façon d'apprendre et d'explorer dans la limite de l'allocation disponible.
Je partage ceci parce que créer des choses devrait être amusant, et je sais que tout le monde ne peut pas payer pour des modèles premium.
Restez tout doux. 🤍
Tableau de bord Cloudflare ↗Modèles Workers AI ↗Tarification officielle ↗Docs sur les chat completions ↗
Tutoriel communautaire par Melancholux. Non affilié à JanitorAI, Cloudflare ni à aucun fournisseur de modèle listé.
Les clés privées ne devraient jamais apparaître dans un post public.
Les clés privées ne devraient jamais apparaître dans un post public.
Créé 25 oct.
Mis à jour 25 oct.
Publié 25 oct.
- Illimité
- #melancholux
- #reginaden