Outro Tutorial Enquanto Eu Termino Alguns Bots (Atualizado Com Script)

Traduzido do inglês

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

66

74

PROXY DE IA GRATUITO DO JANITORAI · GUIA CLOUDFLARE PASSO A PASSO

☁ LABORATÓRIO DE PROXIES GRATUITOS DA MELGUIA / OUTUBRO DE 2026 · EDIÇÃO DA COMUNIDADE
PLANO GRATUITO · WORKER AUTO-HOSPEDADO · MULTIMODELO SEU PRÓPRIO PROXY DE IA Cloudflare Workers AI × JanitorAI
Um Worker. Cinco modelos. Nenhuma assinatura mensal necessária para uso dentro dos limites gratuitos elegíveis.
AMIGÁVEL PARA INICIANTESSEM GPU LOCAL10.000 NEURÔNIOS / DIATROCA DE MODELOSHai hai, gente! 🌸 Fiz isto para que vocês possam construir e entender o próprio proxy em vez de depender do de outra pessoa.
ANTES DE COMEÇAR — O QUE ESTE TUTORIAL FAZ
Vamos criar um Cloudflare Worker gratuito, guardar seu token privado da Cloudflare em Secrets, adicionar um proxy protegido compatível com OpenAI, escolher um modelo e conectá-lo ao JanitorAI. As imagens ilustram as etapas, e o script real do Worker está incluído abaixo para você copiar.

É gratuito dentro da cota diária da conta, não ilimitado nem garantido de suportar todo modelo em toda conta. Nunca publique tokens de API nem sua senha do proxy.
SEÇÃO 01 // MANUAL CLOUD O que você precisa Sua lista de verificação de configuração
Uma conta Cloudflare gratuita
Crie uma em dash.cloudflare.com. Seu Worker roda online; seu PC não precisa ficar ligado.
Uma conta JanitorAI
Use um chat/personagem onde proxies personalizados sejam suportados.
Uma senha privada segura
Você mesmo cria esta. Ela se torna a PROXY_KEY, que é separada do token de API da Cloudflare.
Cota gratuita: A Cloudflare Workers AI documenta atualmente 10.000 Neurônios grátis/dia, reiniciando às 00:00 UTC. Os comprimentos de entrada/saída e a escolha do modelo alteram o consumo. No limite, você receberá um erro até a cota reiniciar ou você mudar de plano.
SEÇÃO 02 // MANUAL CLOUD Implante seu Cloudflare Worker Crie o pequeno servidor que encaminhará as requisições
CAPTURA 01 · PAINEL DA CLOUDFLAREREFERÊNCIA VISUAL
Use esta captura como orientação visual para o painel. Os rótulos podem mudar com o tempo.
Vá ao painel da Cloudflare → Workers & Pages → Create. Crie um Worker com o modelo inicial, nomeie-o algo como janitor-free-proxy e pressione Deploy.
CAPTURA 02 · CONFIGURAÇÃO DO WORKERREFERÊNCIA VISUAL
Siga os prompts atuais de criação de Worker até a Cloudflare lhe dar um endereço *.workers.dev.
https://janitor-free-proxy.YOUR-SUBDOMAIN.workers.dev
SEÇÃO 03 // MANUAL CLOUD Obtenha seu token do Workers AI Este token é privado; ele nunca pertence ao JanitorAI
CAPTURA 03 · WORKERS AI / TOKENREFERÊNCIA VISUAL
Encontre o Workers AI e a área de REST API / criação de token no seu painel.
Abra AI → Workers AI e procure por Use REST API ou uma ação de criação de token de API. Crie um token com acesso ao Workers AI, e copie seu Cloudflare Account ID.
REGRA DE SEGURANÇA
O token de API da Cloudflare é um segredo do servidor. NÃO o cole no JanitorAI, Discord ou código público. O JanitorAI receberá apenas uma senha privada diferente (PROXY_KEY).
SEÇÃO 04 // MANUAL CLOUD Adicione 3 configurações ao Worker Um Cloudflare Account ID mais dois Secrets
CAPTURA 04 · VARIÁVEIS & SECRETSREFERÊNCIA VISUAL
Dentro do seu Worker, abra Settings → Variables and Secrets.
CLOUDFLARE_ACCOUNT_ID — Text: seu ID de conta
CLOUDFLARE_API_TOKEN — Secret: o token da Cloudflare
PROXY_KEY — Secret: uma senha forte única de sua escolha
Salve as variáveis e reimplante se a Cloudflare pedir. Não use a senha de login da sua conta como PROXY_KEY.
Suas três configurações do Worker — nomes exatos CLOUDFLARE_ACCOUNT_ID · Text · Seu Account ID, obtido do seu próprio painel da Cloudflare. Não é o nome nem a URL do Worker.
CLOUDFLARE_API_TOKEN · Secret · O token de API do Workers AI que você gerou na Cloudflare. Nunca o coloque no código público do Worker nem no campo API Key do Janitor.
PROXY_KEY · Secret · Uma senha longa e única que você mesmo cria. Você vai colar a MESMA senha no campo API Key do Janitor.
APENAS ESTRUTURA DE EXEMPLO (não são chaves reais)
CLOUDFLARE_ACCOUNT_ID = [seu próprio ID de conta]
CLOUDFLARE_API_TOKEN = [seu próprio token secreto de IA]
PROXY_KEY = [sua própria senha aleatória privada]
SEÇÃO 05 // MANUAL CLOUD Cole o código completo do proxy Este é o código-fonte real e funcional do Worker, não um placeholder
CAPTURA 05 · EDITOR DE CÓDIGO DO WORKERREFERÊNCIA VISUAL
Clique em Edit code no seu Worker e substitua o código inicial.
Abra Edit code, remova o código-fonte inicial existente, cole o JavaScript inteiro abaixo, depois pressione Deploy. O script suporta /v1/chat/completions e /chat/completions, streaming, o modelo que você escolher e uma senha pessoal.
☁ Este script é a ponte real — o que ele faz? 1 · CORS + OPTIONS: permite que clientes baseados em navegador façam a requisição de verificação prévia com segurança. 2 · Endpoints POST: aceita requisições em /v1/chat/completions ou /chat/completions. 3 · Senha pessoal: compara a API Key que o Janitor envia com seu segredo PROXY_KEY. Sem isso, qualquer pessoa que descubra a URL poderia consumir sua cota gratuita. 4 · Conversa de RP completa: mantém o array messages do Janitor em vez de reduzir sua história à última mensagem. 5 · Seleção de modelo: começa com o Gemma 4 mas também aceita os cinco IDs de modelo suportados listados neste tutorial. O código original sempre forçava o Gemma; esta versão permite que você troque pelo campo Model Name do Janitor. 6 · Streaming + configurações: ativa o streaming e usa temperatura 0.9, top_p 0.95, e max_tokens 2048 somente se o Janitor não tiver fornecido valores válidos. 7 · API da Cloudflare: usa seu Cloudflare Account ID e seu token de API separado para chamar o Workers AI. Seu token da Cloudflare nunca precisa ser colado no Janitor. 8 · Passthrough direto: encaminha o stream de resposta de volta ao Janitor sem reconstruir tokens ou chunks individuais.
Copie o bloco INTEIRO abaixo no editor de código do Worker da Cloudflare. Não o cole no campo de URL do proxy do Janitor. Você não substitui nada dentro do script pelos seus segredos: adicione-os em Settings → Variables and Secrets. Mantenha os nomes exatos, incluindo underscores. Depois de colar, clique em Deploy.
</> SCRIPT COMPLETO DO CLOUDFLARE WORKER — JAVASCRIPT · ABRIR / COPIAR ↓
// JANITORAI + CLOUDFLARE WORKERS AI PROXY // Adaptado do passthrough de streaming funcional da Mel. // ETAPA 1: Settings > Variables and Secrets // CLOUDFLARE_ACCOUNT_ID = seu próprio Cloudflare Account ID (Text) // CLOUDFLARE_API_TOKEN = seu próprio token de API do Workers AI (Secret) // PROXY_KEY = uma senha forte que VOCÊ cria (Secret) // ETAPA 2: cole este script INTEIRO em Edit code e faça Deploy. // ETAPA 3: no JanitorAI defina Proxy URL como: // https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev/v1/chat/completions // e a API Key com o MESMO valor da sua 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); } // ADIÇÃO IMPORTANTE: impede estranhos de usar sua cota. 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); } // Preserva a conversa do Janitor. O original fixava o Gemma aqui: // body.model = "@cf/google/gemma-4-26b-a4b-it"; // Esta versão atualizada também suporta a troca de modelos no 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; // Mantém as configurações do Janitor, com padrões sensatos. 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), } ); // PASSTHROUGH DIRETO: sem reconstruir o texto transmitido pelo modelo. 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); } }, };
Por que usar 3 configurações?
O Cloudflare Account ID identifica sua conta; o Cloudflare API Token concede acesso aos modelos; a PROXY_KEY impede que outras pessoas enviem requisições pela URL pública do seu Worker.
Não espere um jailbreak automático
Este é um proxy de transporte, não um ajuste fino do modelo. Todas as políticas dos modelos e restrições da Cloudflare ainda se aplicam.
SEÇÃO 06 // MANUAL CLOUD Escolha um entre cinco modelos de IA IDs de modelo que você pode copiar para o JanitorAI
CAPTURA 06 · MODELOS DO WORKERS AIREFERÊNCIA VISUAL
Use as páginas de modelos da Cloudflare para comparar capacidades, elegibilidade atual e preços de uso.
MODELO 01 GEMMA 4 · COMECE AQUI
@cf/google/gemma-4-26b-a4b-it
Narrativa geral e uma grande janela de contexto de 256K tokens. Bom primeiro modelo para experimentar.
MODELO 02 GLM-4.7 FLASH · DIÁLOGO
@cf/zai-org/glm-4.7-flash
Opção multilíngue, orientada a diálogo, com janela de contexto de 131K.
MODELO 03 QWEN3 30B A3B · DETALHE
@cf/qwen/qwen3-30b-a3b-fp8
Segue instruções e cenas complexas. Contexto de 32K; o comportamento de raciocínio pode afetar o uso de tokens.
MODELO 04 MISTRAL SMALL 3.1 · PROSA
@cf/mistralai/mistral-small-3.1-24b-instruct
Um estilo de escrita diferente para comparar em prosa criativa. Até 128K de contexto.
MODELO 05 LLAMA 3.3 70B · ALTERNATIVA
@cf/meta/llama-3.3-70b-instruct-fp8-fast
Um modelo maior com janela de contexto de 24K, que pode consumir a cota gratuita relativamente rápido.
Estas são sugestões para teste, não rankings de roleplay verificados. A disponibilidade e as restrições apenas para pagos podem variar. Se um modelo retornar 403, verifique o acesso da Cloudflare e a elegibilidade do modelo em vez de presumir que o proxy está quebrado.
SEÇÃO 07 // MANUAL CLOUD Conecte o Worker ao JanitorAI Use a URL do Worker e a PROXY_KEY — não seu token de API da Cloudflare
CAPTURA 07 · CONFIGURAÇÕES DE PROXY DO JANITORAIREFERÊNCIA VISUAL
Abra as configurações do chat do JanitorAI → Proxy → Adicionar ou configurar um proxy.
Nome da configuração
Cloudflare Free AI
Nome do modelo
@cf/google/gemma-4-26b-a4b-it
URL do proxy
https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev/v1/chat/completions
API Key
Seu segredo privado PROXY_KEY — NÃO o token de API da Cloudflare.
Salve as configurações, selecione a configuração e envie uma mensagem curta de teste. Quando funcionar, as respostas do modelo devem voltar da Cloudflare através do seu Worker. Se o proxy não conectar, verifique os logs do Worker e as configurações do chat do Janitor.
🔗 Como deve ser sua URL de Proxy na prática? URL REAL DA MEL — APENAS FORMATO DE EXEMPLO https://janitor-ai-proxy.melancholux.workers.dev/v1/chat/completions SUA PRÓPRIA URL — SUBSTITUA ESTA PARTE https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev/v1/chat/completions Exemplo: a Cloudflare diz que o endereço do seu Worker é https://my-rp-proxy.abc123.workers.dev. Sua Proxy URL no Janitor é esse endereço exato mais /v1/chat/completions: https://my-rp-proxy.abc123.workers.dev/v1/chat/completions Não use a URL da Mel como sua. O domínio do Worker da sua conta será diferente. Não digite as palavras YOUR-WORKER literalmente, e não cole seu token de API da Cloudflare no Janitor: use PROXY_KEY no campo API Key.
SEÇÃO 08 // MANUAL CLOUD Troque de modelo sem reimplantar Cinco modelos, um Worker, uma cota gratuita
CAPTURA 08 · VERIFICAÇÃO FINAL / TESTEREFERÊNCIA VISUAL
Use a captura final como referência ao verificar seu chat e o modelo escolhido.
No JanitorAI, altere apenas Model Name para qualquer ID listado acima. A URL do Worker e a PROXY_KEY permanecem inalteradas. Você pode salvar configurações separadas por modelo, mas todas gastam a mesma cota da conta.
De: @cf/google/gemma-4-26b-a4b-it Para: @cf/zai-org/glm-4.7-flash
SEÇÃO 09 // MANUAL CLOUD Configurações de RP sugeridas Pontos de partida opcionais, não configurações universais ideais
Temperatura
0.8–1.0 para experimentar mais variedade; diminua se os personagens saírem do rumo.
Top P
0.90–0.95 se o modelo selecionado suportar.
Max output tokens
1024–2048; respostas mais curtas custam menos Neurônios.
Streaming
Ligado, se a interface atual do Janitor e o modelo escolhido suportarem.
Históricos de conversa longos podem consumir muitos tokens. Um modelo que suporta contexto enorme não significa que o contexto inteiro caiba na sua cota gratuita diária.
SEÇÃO 10 // MANUAL CLOUD FAQ & solução de problemas As coisas que costumam dar errado
Meu PC precisa ficar ligado? ↓
Não. Seu Cloudflare Worker roda na infraestrutura da Cloudflare.
É ilimitado? ↓
Não. A cota gratuita atualmente cobre 10.000 Neurônios por dia na conta.
NSFW é garantido? ↓
Não. O comportamento de segurança e moderação depende do modelo e das políticas do serviço.
Amigos podem usar meu proxy? ↓
Não compartilhe sua PROXY_KEY de qualquer jeito. Qualquer pessoa com a URL e a chave poderia consumir sua cota.
401 Unauthorized ↓
A API Key do JanitorAI deve corresponder exatamente à PROXY_KEY.
403 Forbidden ↓
Revise as permissões do token da Cloudflare, a elegibilidade do modelo e se um plano pago é necessário.
404 Not Found ↓
Verifique novamente a URL workers.dev e o caminho /v1/chat/completions.
400 Invalid model ↓
Verifique se você copiou um ID de modelo suportado exatamente.
429 Too many requests ↓
Você pode ter esgotado os Neurônios gratuitos ou atingido limites temporários de capacidade.
Respostas não aparecem ↓
Verifique a implantação do Worker, os logs, seus segredos e as configurações de chat/proxy; tente um prompt mais curto.
Trocar de modelo apaga chats? ↓
Mudar o modelo selecionado não remove por si só conversas salvas do Janitor. Cada modelo pode lidar com o contexto disponível de forma diferente.
SEÇÃO 11 // MANUAL CLOUD Palavras finais & recursos oficiais Faça disso o seu — e mantenha suas chaves privadas
E aí está, queridos! 🌸
Um proxy pessoal, cinco modelos para comparar e um pouco mais de liberdade para experimentar. Este tutorial não é um serviço premium gratuito ilimitado, apenas uma forma de aprender e explorar dentro da cota disponível.

Compartilho isso porque criar coisas deveria ser divertido, e sei que nem todo mundo pode pagar por modelos premium.
Fiquem fofos. 🤍
Tutorial feito pela comunidade por Melancholux. Não afiliado ao JanitorAI, à Cloudflare nem a qualquer provedor de modelo listado.
Chaves privadas nunca devem aparecer em um post público.

Criado 25 de out.

Atualizado 25 de out.

Publicado 25 de out.

Chats publicados