diff --git a/README.md b/README.md index a89c7dca..ea140b44 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ [🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [📖 Setup](#-setup-guide) • [🌐 Website](https://9router.com) -[🇻🇳 Tiếng Việt](./i18n/README.vi.md) • [🇨🇳 中文](./i18n/README.zh-CN.md) • [🇯🇵 日本語](./i18n/README.ja-JP.md) • [🇷🇺 Русский](./i18n/README.ru.md) • [🇹🇭 ไทย](./i18n/README.th.md) • [🇮🇷 فارسی](./i18n/README.fa_IR.md) • [🇮🇩 Indonesia](./i18n/README.id-ID.md) +[🇧🇷 Português (Brasil)](./i18n/README.pt-BR.md) • [🇻🇳 Tiếng Việt](./i18n/README.vi.md) • [🇨🇳 中文](./i18n/README.zh-CN.md) • [🇯🇵 日本語](./i18n/README.ja-JP.md) • [🇷🇺 Русский](./i18n/README.ru.md) • [🇹🇭 ไทย](./i18n/README.th.md) • [🇮🇷 فارسی](./i18n/README.fa_IR.md) • [🇮🇩 Indonesia](./i18n/README.id-ID.md) diff --git a/i18n/README.pt-BR.md b/i18n/README.pt-BR.md new file mode 100644 index 00000000..c141d679 --- /dev/null +++ b/i18n/README.pt-BR.md @@ -0,0 +1,1526 @@ +
+ Painel do 9Router + + # 9Router — roteador de IA GRATUITO e economizador de tokens + + **Nunca pare de codificar. Economize 20-40% de tokens com RTK + fallback automático para modelos de IA GRATUITOS e baratos.** + + **Conecte todas as ferramentas de código de IA (Claude Code, Cursor, Antigravity, Copilot, Codex, Gemini, OpenCode, Cline, OpenClaw...) a mais de 40 provedores de IA e mais de 100 modelos.** + + [![npm](https://img.shields.io/npm/v/9router.svg)](https://www.npmjs.com/package/9router) + [![Downloads](https://img.shields.io/npm/dm/9router.svg)](https://www.npmjs.com/package/9router) + [![Docker Pulls](https://img.shields.io/docker/pulls/decolua/9router.svg?logo=docker&label=Docker%20pulls)](https://hub.docker.com/r/decolua/9router) + [![GHCR](https://img.shields.io/badge/GHCR-decolua%2F9router-blue?logo=github)](https://github.com/decolua/9router/pkgs/container/9router) + [![Licença](https://img.shields.io/npm/l/9router.svg)](https://github.com/decolua/9router/blob/main/LICENSE) + +decolua%2F9router | Trendshift + +[🚀 Início rápido](#-início-rápido) • [💡 Recursos](#-principais-recursos) • [📖 Configuração](#-guia-de-configuração) • [🌐 Site](https://9router.com) + +[🇺🇸 English](../README.md) • [🇻🇳 Tiếng Việt](./README.vi.md) • [🇨🇳 中文](./README.zh-CN.md) • [🇯🇵 日本語](./README.ja-JP.md) • [🇷🇺 Русский](./README.ru.md) • [🇹🇭 ไทย](./README.th.md) • [🇮🇷 فارسی](./README.fa_IR.md) • [🇮🇩 Indonesia](./README.id-ID.md) + +
+ +--- + +## 🤔 Por que 9Router? + +**Pare de desperdiçar dinheiro, tokens e atingir limites:** + +- ❌ A cota de assinatura expira sem ser utilizada todos os meses +- ❌ Os limites de requisições interrompem você durante a programação +- ❌ Saídas de ferramentas (`git diff`, `grep`, `ls`...) consomem tokens rapidamente +- ❌ APIs caras ($20–50/mês por provedor) +- ❌ Troca manual entre provedores + +**9Router resolve isso:** + +- ✅ **RTK Token Saver** - Compactação automática do conteúdo de `tool_result`, economize 20-40% de tokens por solicitação +- ✅ **Maximize as assinaturas** - Rastreie a cota, aproveite toda a cota antes da renovação +- ✅ **Auto fallback** - Assinatura → Econômico → Gratuito, sem tempo de inatividade +- ✅ **Múltiplas contas** - Round-robin entre contas por provedor +- ✅ **Universal** - Funciona com Claude Code, Codex, Cursor, Cline, qualquer ferramenta CLI + +--- + +## 🔄 Como funciona + +``` +┌─────────────┐ +│ Sua CLI │ (Claude Code, Codex, OpenClaw, Cursor, Cline...) +│ Ferramenta│ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────────┐ +│ 9Router (Roteador inteligente) │ +│ • RTK Token Saver (reduz tokens de `tool_result`) │ +│ • Tradução de formatos (OpenAI ↔ Claude) │ +│ • Acompanhamento de cotas │ +│ • Renovação automática de token │ +└──────┬──────────────────────────────────────┘ + │ + ├─→ [Nível 1: ASSINATURA] Claude Code, Codex, GitHub Copilot + │ ↓ cota esgotada + ├─→ [Nível 2: ECONÔMICO] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ limite de orçamento + └─→ [Nível 3: GRATUITO] Kiro, OpenCode Free, Vertex ($300 em créditos) + +Resultado: programe sem interrupções, com custo mínimo e economia de 20% a 40% dos tokens via RTK +``` + +--- + +## ⚡ Início rápido + +**1. Instale globalmente:** + +```bash +npm install -g 9router +9router +``` + +🎉 O painel abre em `http://localhost:20128` + +**2. Conecte um provedor GRATUITO (sem necessidade de inscrição):** + +Painel → Provedores → Conecte **Kiro AI** (~50 créditos/mês grátis: Claude 4.5 + GLM-5 + MiniMax) ou **OpenCode Free** (sem autenticação) → Pronto! + +**3. Use em sua ferramenta CLI:** + +``` +Configurações do Claude Code/Codex/OpenClaw/Cursor/Cline: + Endpoint: http://localhost:20128/v1 + API Key: [copie do painel] + Model: kr/claude-sonnet-4.5 +``` + +**É isso aí!** Comece a codificar com modelos de IA GRATUITOS. + +**Alternativa: executar a partir do código-fonte (este repositório):** + +Este pacote de repositório é privado (`9router-app`), portanto, a execução pelo código-fonte/Docker é o caminho de desenvolvimento local esperado. + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +Modo de produção: + +```bash +npm run build +PORT=20128 HOSTNAME=0.0.0.0 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run start +``` + +URLs padrão: + +- Painel: `http://localhost:20128/dashboard` +- API compatível com OpenAI: `http://localhost:20128/v1` + +--- + +## Guias de vídeo + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + Tiết kiệm chi phí LLM với 9Router +
+ 🇻🇳 Tiếng Việt
+ Tiết kiệm chi phí LLM cho OpenClaw no 9Router
por Mì AI
+
+ + 9Router + Claude Code FREE Unlimited Setup +
+ 🇵🇰 اردو / हिन्दी
+ 9Router + Claude Code Configuração ilimitada GRATUITA
por Construir IA com Hamid
+
+ + 9Router Setup Tutorial +
+ 🇺🇸 Inglês
+ 9Router + Claude Code Configuração GRATUITA
por Construir IA com Hamid
+
+ + 9Router Setup Tutorial +
+ 🇺🇸 Inglês
+ 9Router + Claude Code Configuração GRATUITA
por Construir IA com Hamid
+
+ + Claude Code FREE Forever +
+ 🇺🇸 Inglês
+ Claude Code FREE Forever - Modelos ilimitados
por Construa IA com Hamid
+
+ +Claude CLI Free Setup +
+ 🇺🇸 Inglês
+ Configuração gratuita Claude CLI com 9Router 🚀
por CodeVerse Soban
+
+ + Cài đặt OpenClaw Free A-Z +
+ 🇻🇳 Tiếng Việt
+ Cài Đặt OpenClaw Free Từ A-Z + 9Router
por Mai Gia
+
+ + FREE OpenClaw with Claude Opus +
+ 🇺🇸 Inglês
+ FREE OpenClaw + Claude Opus 4.6
por Construir IA com Hamid
+
+ + Claude CLI Free Setup +
+ 🇮🇩 Indonésia
+Koding 24 Jam Anti Rate Limit! Hemat Token AI 65% | Tutorial Configuração Rápida 9Router 🚀
por Krisswuh
+
+ + Cara Deploy 9Router di Hugging Face GRATIS Non-Stop! | Alternatif VPS RAM 16GB +
+ 🇮🇩 Indonésia
+ Cara Implante 9Router no Hugging Face GRATUITAMENTE sem parar! | Alternativa VPS RAM 16GB
por Krisswuh
+
+ + این شکلی از هر API ای استفاده کن برای هوش مصنوعی +
+ 🇮🇷 Persa-فارسی
+ این شکلی از هر API ای استفاده کن برای هوش مصنوعی
por Matin SenPai
+
+ + Hướng Dẫn Setup OpenClaw + 9Router: Tạo Bot Zalo AI Tự Động Từ A-Z +
+ 🇻🇳 Tiếng Việt
+ Hướng Dẫn Setup OpenClaw + 9Router: Tạo Bot Zalo AI Tự Động Từ A-Z
por tuanminhhole
+
+ +
+ +> 🎬 **Fez um vídeo sobre o 9Router?** Envie um [Pull Request](https://github.com/decolua/9router/pulls) adicionando seu vídeo a esta seção - nós o mesclaremos! + +--- + +## 🛠️ Ferramentas CLI suportadas + +9Router funciona perfeitamente com todas as principais ferramentas de codificação de IA: + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Claude Code
+ Código-Claude +
+ OpenClaw
+ OpenClaw +
+ Codex
+ Codex +
+ OpenCode
+ OpenCode +
+ Cursor
+ Cursor +
+ Antigravity
+ antigravidade +
+ Cline
+ Cline +
+ Continue
+ Continuar +
+Droid
+ Droid +
+ Roo
+ Roo +
+ Copilot
+ Copilot +
+Kilo Code
+ Código Kilo +
+ OpenDesign
+ OpenDesign +
+ jcode
+ jcódigo +
+ Grok Build
+ Grok Build +
+ Devin CLI
+ Devin CLI +
+ DeepSeek TUI
+ DeepSeek TUI +
+ Qwen Code
+ Código Qwen +
+
+ +--- + +## 🌐 Provedores compatíveis + +### 🔐 Provedores OAuth + +
+ + + + + + + + + +
+ Claude Code
+ Código-Claude +
+ Antigravity
+ antigravidade +
+ Codex
+ Codex +
+ GitHub
+ GitHub +
+ Cursor
+ Cursor +
+ Kimchi
+ Kimchi +
+
+ +### 🆓 Provedores gratuitos + +
+ + + + + + +
+ Kiro
+ Kiro AI
+ Claude 4.5 + GLM-5 + MiniMax
50 créditos/mês grátis
+
+ OpenCode Free
+ OpenCode grátis
+ Sem autenticação • Modelos de busca automática
Grátis (a lista de modelos varia)
+
+ Vertex AI
+ Vertex AI
+ Gemini 3 Pro + GLM-5 + DeepSeek
$300 créditos grátis
+
+
+ +> **Observação:** Os níveis gratuitos iFlow, Qwen Code e Gemini CLI foram descontinuados em 2026. Em vez disso, use Kiro / OpenCode Free / Vertex. +> +> **Kiro AI** mudou para um modelo pago em setembro de 2025 — o nível gratuito agora é limitado a **50 créditos/mês** (mais 500 créditos de avaliação para novas contas nos primeiros 30 dias). Camadas pagas: Pro $20/mo (1.000 créditos), Pro+ $40/mo (2.000), Pro Max $100/mo (5.000), Power $200/mo (10.000). +> A lista de modelos **OpenCode Free** varia com o tempo (alguns modelos são gratuitos apenas para promoções limitadas) — sujeito a alterações sem aviso prévio. +> **Vertex AI**: o crédito gratuito $300 para novas contas do GCP ainda é válido, mas desde março de 2026 o **endpoint da API Gemini não consome mais esses créditos**. Em vez disso, chame o endpoint **Vertex AI Studio**. + +### 🔑 Provedores de chaves de API (40+) + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ OpenRouter
+OpenRouter +
+ GLM
+ GLM +
+ Kimi
+ Kimi +
+ MiniMax
+MiniMax +
+ OpenAI
+ OpenAI +
+ Anthropic
+ Antrópico +
+ Gemini
+ Gemini +
+ DeepSeek
+ DeepSeek +
+ Groq
+ Groq +
+ xAI
+ xAI +
+ Mistral
+ Mistral +
+ Perplexity
+ Perplexidade +
+ Together
+ Juntos AI +
+ Fireworks
+ Fogos de artifício +
+ Cerebras
+Cerebras +
+ Cohere
+ Cohere +
+ NVIDIA
+ NVIDIA +
+ SiliconFlow
+SiliconFlow +
+

...e mais de 20 provedores, incluindo Nebius, Chutes, Hyperbolic e endpoints personalizados compatíveis com OpenAI/Anthropic

+
+ +### 🏠 Provedores auto-hospedados + +Para fala e incorporações veiculadas em **sua própria** máquina — whisper.cpp, +faster-whisper, Speaches, Kokoro-FastAPI, openai-speech, llama.cpp/llama-server, +vLLM, Infinity, text-embeddings-inference ou qualquer outro serviço compatível com o formato OpenAI. + +| Provedor | Ponto final usado | Servidor típico | +| --- | --- | --- | +| **STT auto-hospedado** | `/v1/audio/transcriptions` | whisper.cpp, faster-whisper | +| **TTS auto-hospedado** | `/v1/audio/speech` | Kokoro-FastAPI, openedai-speech | +| **Incorporação auto-hospedada** | `/v1/embeddings` | llama-server, vLLM, Infinity | + +Todos os outros provedores de voz são um serviço de nuvem nomeado com um endpoint fixo. Estes +três leem seus endereços de **cada conexão**, para que um provedor possa apontar para +várias máquinas e balanceamento de carga entre elas como qualquer outra. + +Defina-o na conexão como `providerSpecificData.baseUrl`: + +| Provedor | Informe | Resultado | +| --- | --- | --- | +| STT auto-hospedado | o URL completo — `http://host:8080/v1/audio/transcriptions` | usado como está | +| TTS auto-hospedado | a raiz do servidor — `http://host:8880` | `+ /v1/audio/speech` | +| Incorporação auto-hospedada | a **base OpenAI**, `/v1` incluída — `http://host:8080/v1` | `+ /embeddings` | + +> **Cuidado com `/v1` em embeddings.** O adaptador anexa `/embeddings`, então +> `http://host:8080` resolve para `http://host:8080/embeddings` e perde o +> rota OpenAI – o llama-server responde **501**. Dê a ele o mesmo URL base de um OpenAI +> o cliente usaria. Um `.../v1/embeddings` completo também é aceito, então um valor colado +> de um exemplo `curl` também funciona. + +A chave API não é verificada pela maioria dos servidores locais, mas o campo não deve estar vazio: +é o que dá à conexão um registro de credenciais, e `baseUrl` reside lá. +Qualquer espaço reservado funciona. + +A incorporação auto-hospedada **não tem fallback na nuvem por design** — uma conexão salva +sem um `baseUrl` é relatado como um erro de configuração, em vez de silenciosamente +voltando para `api.openai.com`, que enviaria seu texto de entrada e chave de API para +terceiros por meio de um provedor chamado "Auto-hospedado". + +--- + +## 💡 Principais recursos + +| Recurso | O que faz | Por que é importante | +| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------- | +| 🚀 **RTK Token Saver** ([RTK](https://github.com/rtk-ai/rtk) ⭐40K) | Compactar saídas de ferramentas (`git diff`, `grep`, `ls`, `tree`...) antes de enviar para LLM | Economize **20-40% de tokens de entrada** por solicitação | +| 🧠 **Headroom Token Saver** ([Headroom](https://github.com/chopratejas/headroom)) | Proxy `/v1/compress` externo opcional antes do roteamento do provedor | Economize mais tokens de contexto sem alterar clientes | +| 🪨 **Modo Caveman** ([Caveman](https://github.com/JuliusBrussee/caveman) ⭐52K) | Injetar prompt de fala do homem das cavernas → Respostas do LLM concisas, substância técnica preservada | Economize **até 65% de tokens de produção** | +| 🐴 **Ponytail** ([Ponytail](https://github.com/DietrichGebert/ponytail)) | Injetar prompt "lazy senior dev" → LLM escreve código mínimo YAGNI primeiro (Lite/Full/Ultra) | **Menos tokens de saída, menos refatoração** | +| 🎯 **Fallback inteligente de 3 camadas** | Rota automática: Assinatura → Barato → Grátis | Nunca pare de codificar, tempo de inatividade zero | +| 📊 **Acompanhamento de cotas em tempo real** | Contagem de tokens ao vivo + contagem regressiva de redefinição | Maximizar o valor da assinatura | +| 🔄 **Tradução de formato** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro ↔ Vertex | Funciona com qualquer ferramenta CLI | +| 👥 **Suporte para múltiplas contas** | Várias contas por provedor | Balanceamento de carga + redundância | +| 🔄 **Atualização automática de token** | Os tokens OAuth são atualizados automaticamente | Não é necessário fazer novo login manual | +| 🎨 **Combos Personalizados** | Crie combinações ilimitadas de modelos | Adapte o fallback às suas necessidades | +| 📝 **Registro de requisições** | Modo de depuração com logs completos de solicitação/resposta | Solucione problemas facilmente | +| 💾 **Sincronização na nuvem** | Sincronizar configuração entre dispositivos | Mesma configuração em todos os lugares | +| 📊 **Análise de uso** | Acompanhe tokens, custos e tendências ao longo do tempo | Otimizar gastos | +| 🌐 **Implante em qualquer lugar** | Localhost, VPS, Docker, Cloudflare Workers | Opções flexíveis de implantação | + +Configure `X-9Router-Token-Saver: off` para ignorar todos os economizadores de tokens para uma solicitação de chat. + +
+📖 Detalhes do recurso + +### 🚀 RTK Token Saver + +As saídas da ferramenta (`git diff`, `grep`, `find`, `ls`, `tree`, despejos de log...) geralmente consomem de 30 a 50% do seu orçamento de contexto. O RTK os detecta e aplica compactação inteligente e sem perdas **antes** que a solicitação chegue ao LLM: + +- **Filtros:** `git-diff`, `git-status`, `grep`, `find`, `ls`, `tree`, `dedup-log`, `smart-truncate`, `read-numbered`, `search-list` +- **Detecção automática:** Não é necessária configuração — o RTK inspeciona o primeiro 1 KB de cada `tool_result` e escolhe o filtro correto. +- **Seguro por design:** Se um filtro falhar, gerar uma exceção ou aumentar a saída, o RTK mantém silenciosamente o texto original. Erros nunca interrompem sua solicitação. +- **Universal:** Funciona em todos os formatos (OpenAI, Claude, Gemini, Cursor, Kiro, OpenAI Responses) porque é executado **antes** de qualquer tradução de formato. +- **Padrão ATIVADO:** Alterne a qualquer momento em Painel → Configurações de endpoint. + +``` +Sem RTK: 47 mil tokens enviados ao LLM +Com RTK: 28 mil tokens enviados ao LLM (40% de economia · mesmo contexto · mesma resposta) +``` + +### 🧠 Headroom Token Saver + +O headroom é opcional e funciona separadamente. 9Router chama o endpoint `/v1/compress` local do Headroom e, em seguida, mantém roteamento normal, fallback, autenticação e rastreamento de uso: + +``` +Cliente → 9Router → Headroom /v1/compress → 9Router → provedor +``` + +Configuração local: + +```bash +pip install "headroom-ai[proxy]" +headroom proxy --port 8787 +``` + +Habilite em Painel → Endpoint → Economia de tokens → Headroom. URL padrão: `http://localhost:8787`. + +Exemplos de Docker: + +```bash +# Serviço Headroom na mesma rede Docker +http://headroom:8787 + +# Headroom em execução na máquina host +http://host.docker.internal:8787 +``` + +Se o Headroom estiver inativo ou retornar um erro, o o 9Router seguirá em modo aberto e enviará a solicitação original. + +### 🐴 Ponytail (desenvolvedor sênior preguiçoso) + +O Ponytail injeta um prompt do sistema _"lazy senior dev"_ em cada solicitação, direcionando o LLM para o código mínimo, primeiro YAGNI - preferindo exclusão a adição, stdlib sobre novos deps, one-liners sobre abstrações. Adaptado de [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail). + +- **Lite** — Construa o que for solicitado, nomeie a alternativa mais preguiçosa. +- **Full** — escada YAGNI aplicada: stdlib → nativo → dependências existentes → one-liner → código mínimo. +- **Ultra** — Extremista YAGNI: exclua primeiro, envie a linha única, desafie o restante do requisito na mesma resposta. + +``` +Sem Ponytail: código verboso, abstrações extras e estrutura "por precaução" +Com Ponytail: menor diff funcional, sem abstrações não solicitadas e menos tokens +``` + +Nunca negocie: validação de entrada, tratamento de erros que evita perda de dados, segurança, acessibilidade ou qualquer coisa explicitamente solicitada. Ative em Painel → Endpoint → Ponytail. Pode ser combinado com Caveman (concisão de saída) e RTK (compressão de entrada). + +### 🎯 Fallback inteligente de 3 camadas + +Crie combos com fallback automático: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (sua assinatura) + 2. glm/glm-4.7 (backup econômico, $0,60/1M) + 3. if/kimi-k2-thinking (fallback gratuito) + +→ Alterna automaticamente quando a cota acaba ou ocorre um erro +``` + +### 📊 Rastreamento de cotas em tempo real + +- Consumo de token por provedor +- Redefinir contagem regressiva (5 horas, diariamente, semanalmente) +- Estimativa de custos para níveis pagos +- Relatórios mensais de gastos + +### 🔄 Tradução de formato + +Tradução perfeita entre formatos: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **Cursor** ↔ **Kiro** ↔ **Vertex** ↔ **Antigravity** ↔ **Ollama** ↔ **OpenAI Responses** +- Sua ferramenta CLI envia formato OpenAI → 9Router traduz → Provedor recebe formato nativo +- Funciona com qualquer ferramenta que suporte endpoints OpenAI personalizados + +### 👥 Suporte para múltiplas contas + +- Adicione várias contas por provedor +- Round-robin automático ou roteamento baseado em prioridade +- Fallback para a próxima conta quando uma delas atingir a cota + +### 🔄 Atualização automática de token + +- Os tokens OAuth são atualizados automaticamente antes da expiração +- Não é necessária reautenticação manual +- Experiência perfeita em todos os provedores + +### 🎨 Combos Personalizados + +- Crie combinações ilimitadas de modelos +- Combine níveis de assinatura, baratos e gratuitos +- Nomeie seus combos para facilitar o acesso +- Compartilhe combos entre dispositivos com Cloud Sync + +### 📝 Registro de requisições + +- Habilite o modo de depuração para logs completos de solicitação/resposta +- Rastreie chamadas de API, cabeçalhos e payloads +- Solucionar problemas de integração +- Exportar logs para análise + +### 💾 Sincronização na nuvem + +- Sincronize provedores, combos e configurações entre dispositivos +- Sincronização automática em segundo plano +- Armazenamento criptografado seguro +- Acesse sua configuração de qualquer lugar + +#### Notas de tempo de execução na nuvem + +- Prefira variáveis de nuvem do lado do servidor na produção: + - `BASE_URL` (URL interna de callback usado pelo agendador de sincronização) + - `CLOUD_URL` (base de endpoint de sincronização em nuvem) +- `NEXT_PUBLIC_BASE_URL` e `NEXT_PUBLIC_CLOUD_URL` ainda são suportados para compatibilidade/UI, mas o tempo de execução do servidor agora prioriza `BASE_URL`/`CLOUD_URL`. +- As solicitações de sincronização na nuvem agora usam o comportamento de tempo limite + falha rápida para evitar o travamento da interface do usuário quando o DNS/rede da nuvem estiver indisponível. + +### 📊 Análise de uso + +- Rastreie o uso de token por provedor e modelo +- Estimativa de custos e tendências de gastos +- Relatórios e insights mensais +- Otimize seus gastos com IA + +> **💡 IMPORTANTE - Compreendendo os custos do painel:** +> +> O "custo" exibido no Usage Analytics é **apenas para fins de rastreamento e comparação**. +> O próprio 9Router **nunca cobra** nada. Você paga apenas aos provedores diretamente (se usar serviços pagos). +> +> **Exemplo:** Se o seu painel mostrar "Custo total $290" ao usar modelos gratuitos do Kiro, isso representa +> o que você pagaria usando APIs pagas diretamente. Seu custo real = **$0** (nível gratuito do Kiro: ~50 créditos/mês). +> +> Pense nisso como um "rastreador de economia" que mostra quanto você está economizando usando modelos gratuitos ou +> roteamento através do 9Router! + +### 🌐 Implante em qualquer lugar + +- 💻 **Localhost** - Padrão, funciona offline +- ☁️ **VPS/Cloud** - Compartilhe entre dispositivos +- 🐳 **Docker** – Implantação com um comando +- 🚀 **Cloudflare Workers** - Rede global de edge + +
+ +--- + +## 💰 Visão geral dos preços + +| Nível | Provedor | Custo | Redefinição de cota | Melhor para | +| ------------------- | --------------------- | ------------ | ---------------- | --------------------------------------- | +| **🚀 ECONOMIA DE TOKEN** | **RTK (integrado)** | **GRÁTIS** | Sempre ligado | **Economize 20-40% de tokens em CADA solicitação** | +| **💳 ASSINATURA** | Claude Code (Pro/Max) | $20-200/mo | 5h + semanalmente | Já inscrito | +| | Codex (Plus/Pro) | $20-200/mo | 5h + semanalmente | Usuários OpenAI | +| | GitHub Copilot | $10-19/mo | Mensalmente | Usuários do GitHub | +| | Cursor IDE | $20/mo | Mensalmente | Usuários de cursor | +| **💰 BARATO** | GLM-5.1/GLM-4.7 | $0.6/1M | Diariamente 10h | Backup de orçamento | +| | MiniMax M2.7 | $0.2/1M | Rolamento de 5 horas | Opção mais barata | +| | Kimi K2.5 | $9/mo plano | 10 milhões de tokens/mês | Custo previsível | + | **🆓 GRÁTIS** | Kiro AI | $0 | 50 créditos/mês | Claude 4.5 + GLM-5 + MiniMax grátis (níveis pagos acima) | + | | OpenCode Free | $0 | Varia* | Sem autenticação, modelos de busca automática (a lista muda ao longo do tempo) | +| | Vertex AI | Créditos $300 | Novas contas do GCP | Gemini 3 Pro + DeepSeek + GLM-5 (use o endpoint Vertex AI Studio para obter créditos gratuitos) | + +**💡 Dica profissional:** combinação RTK + Kiro AI + OpenCode grátis = **custo $0 + economia de token de 20-40%**! + +--- + +### 📊 Compreendendo os custos e faturamento do 9Router + +**Como funciona o faturamento do 9Router:** + +✅ **Software 9Router = GRATUITO para sempre** (código aberto, nunca cobra) +✅ **Painel "custos" = Somente exibição/rastreamento** (não são cobranças reais) +✅ **Você paga diretamente aos provedores** (assinaturas ou taxas de API) +✅ **Provedores GRATUITOS permanecem GRATUITOS** (Kiro ~50 créditos/mês, OpenCode Free, créditos do Vertex $300 = $0 dentro dos limites do nível gratuito) — observe que os níveis gratuitos do iFlow/Qwen/Gemini CLI foram descontinuados em 2026 +❌ **9Router nunca envia faturas** ou cobra seu cartão + +**Como funciona a exibição de custos:** + +O painel mostra **custos estimados** como se você estivesse usando APIs pagas diretamente. Isto **não é cobrança** - é uma ferramenta de comparação para mostrar suas economias. + +**Cenário de exemplo:** + +``` +Exibição no painel: +• Total de requisições: 1,662 +• Total de tokens: 47M +• Custo exibido: $290 + +Custo real: +• Provedor: Kiro (nível gratuito: ~50 créditos/mês) +• Pagamento real: $0.00 +• O que $290 significa: valor ECONOMIZADO ao usar modelos gratuitos! +``` + +**Regras de pagamento:** + +- **Provedores de assinatura** (Claude Code, Codex): pague diretamente por meio de seus sites +- **Provedores baratos** (GLM, MiniMax): pague diretamente, 9Router apenas roteia +- **Provedores GRATUITOS** (iFlow, Kiro, Qwen): Genuinamente grátis para sempre, sem taxas ocultas +- **9Router**: Nunca cobra nada + +--- + +## 🎯 Casos de uso + +### Caso 1: "Tenho assinatura do Claude Pro" + +**Problema:** A cota expira sem ser utilizada, limites de taxa durante codificação pesada + +**Solução:** + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-7 (use toda a assinatura) + 2. glm/glm-5.1 (backup econômico quando a cota acabar) + 3. kr/claude-sonnet-4.5 (fallback gratuito de emergência) + +Custo mensal: $20 (assinatura) + ~$5 (backup) = $25 total +versus $20 + atingir limites = frustração +``` + +### Caso 2: "Quero custo zero" + +**Problema:** Não posso pagar assinaturas, preciso de codificação de IA confiável + +**Solução:** + +``` +Combo: "free-forever" + 1. kr/claude-sonnet-4.5 (Claude 4.5 gratuito via Kiro, ~50 créditos/mês) + 2. kr/glm-5 (GLM-5 gratuito via Kiro) + 3. oc/ (OpenCode Free, sem autenticação) + +Custo mensal: $0 +Qualidade: modelos prontos para produção + economia de 20–40% com RTK +``` + +### Caso 3: "Preciso de codificação 24 horas por dia, 7 dias por semana, sem interrupções" + +**Problema:** Prazos, não podemos arcar com o tempo de inatividade + +**Solução:** + +``` +Combo: "always-on" + 1. cc/claude-opus-4-7 (melhor qualidade) + 2. cx/gpt-5.5 (segunda assinatura) + 3. glm/glm-5.1 (econômico, renova diariamente) + 4. minimax/MiniMax-M2.7 (mais econômico, renovação em 5h) + 5. kr/claude-sonnet-4.5 (gratuito via Kiro, ~50 créditos/mês) + +Resultado: 5 camadas de fallback = nenhuma interrupção +Custo mensal: $20-200 (subscriptions) + $10-20 (backup) +``` + +### Caso 4: "Quero IA GRATUITA no OpenClaw" + +**Problema:** Precisa de assistente de IA em aplicativos de mensagens (WhatsApp, Telegram, Slack...), totalmente gratuito + +**Solução:** + +``` +Combo: "openclaw-free" + 1. kr/claude-sonnet-4.5 (Claude 4.5 gratuito) + 2. kr/glm-5 (GLM-5 gratuito) + 3. kr/MiniMax-M2.5 (MiniMax gratuito) + +Custo mensal: $0 +Acesso por: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## ❓ Perguntas frequentes + +
+📊 Por que meu painel mostra custos altos? + +O painel rastreia o uso do token e exibe **custos estimados** como se você estivesse usando APIs pagas diretamente. Este **não é faturamento real** - é uma referência para mostrar quanto você está economizando usando modelos gratuitos ou assinaturas existentes através do 9Router. + +**Exemplo:** + +- **O painel mostra:** "Custo total $290" +- **Realidade:** Você está usando modelos gratuitos do Kiro (~50 créditos/mês) +- **Seu custo real:** **$0.00** +- **O que significa $290:** Valor que você **economizou** usando modelos gratuitos em vez de APIs pagas! + +A exibição de custos é um "rastreador de economia" para ajudá-lo a entender seus padrões de uso e oportunidades de otimização. + +
+ +
+💳 Serei cobrado pelo 9Router? + +**Não.** 9Router é um software gratuito e de código aberto que roda em seu próprio computador. Nunca cobra nada. + +**Você só paga:** + +- ✅ **Provedores de assinatura** (Claude Code $20/mo, Codex $20-200/mo) → Pague-os diretamente em seus sites +- ✅ **Provedores baratos** (GLM, MiniMax) → Pague diretamente, 9Router apenas encaminha suas solicitações +- ❌ **9Router em si** → **Nunca carrega nada, nunca** + +9Router é um proxy/roteador local. Não possui cartão de crédito, não pode enviar faturas e não possui sistema de cobrança. É um software totalmente gratuito. + +
+ +
+🆓 Os provedores GRATUITOS são realmente ilimitados? + +**Principalmente!** Os provedores GRATUITOS atuais (Kiro, OpenCode Free, Vertex) são genuinamente gratuitos, mas os níveis gratuitos têm limites: + +Estes são serviços gratuitos oferecidos pelas respectivas empresas: + +- **Kiro AI**: ~50 créditos/mês grátis (mais 500 créditos de avaliação para novas contas nos primeiros 30 dias) via AWS Builder ID / Google / GitHub OAuth. Níveis pagos disponíveis acima disso. +- **OpenCode Free**: proxy de passagem sem autenticação, modelos buscados automaticamente em `opencode.ai/zen/v1/models`. A lista de modelos gratuitos varia com o tempo (alguns modelos são gratuitos apenas para promoções limitadas) — sujeita a alterações sem aviso prévio. +- **Vertex AI**: créditos gratuitos $300 para novas contas do Google Cloud (90 dias). Desde março de 2026, o endpoint da API Gemini não consome mais esses créditos. Em vez disso, use o endpoint **Vertex AI Studio**. + +O 9Router apenas encaminha suas solicitações para eles - não há pegadinhas ou cobrança futura do próprio 9Router. Eles são serviços verdadeiramente gratuitos e o 9Router os torna fáceis de usar com suporte alternativo. + +**Níveis gratuitos descontinuados (não mais recomendados):** + +- ❌ **iFlow**: era gratuito e ilimitado, agora alterado para pago (2026) +- ❌ **Qwen Code**: nível OAuth gratuito totalmente descontinuado pelo Alibaba em 15/04/2026 +- ❌ **Gemini CLI**: Serviço totalmente encerrado pelo Google em 18/06/2026 (substituído pelo Antigravity CLI de código fechado). Descontinuado – não use. + +
+ +
+💰 Como posso minimizar meus custos reais de IA? + +**Estratégia Grátis primeiro:** + +1. **Comece com um combo 100% grátis:** + + ``` + 1. kr/glm-5 (GLM-5 gratuito via Kiro, ~50 créditos/mês) + 2. Modelos do OpenCode Free (sem autenticação, obtidos automaticamente) + 3. Vertex AI Gemini 3 Pro (usando o endpoint do Vertex AI Studio com $300 em créditos) + ``` + + **Custo: $0/mês** (dentro do limite de crédito gratuito do Kiro; OpenCode/Vertex sujeito aos limites de nível gratuito) + +2. **Adicione backup barato** apenas se precisar: + + ``` + 4. glm/glm-4.7 ($0,60/1M tokens) + ``` + + **Custo adicional: pague apenas pelo que você realmente usa** + +3. **Use os provedores de assinatura por último:** + - Somente se você já os tiver +- 9Router ajuda a maximizar seu valor por meio do rastreamento de cotas + +**Resultado:** A maioria dos usuários pode operar em $0/mês usando apenas níveis gratuitos! + +
+ +
+📈 E se meu uso aumentar repentinamente? + +O fallback inteligente do 9Router evita cobranças surpresa: + +**Cenário:** você está em um sprint de codificação e ultrapassa suas cotas + +**Sem 9Router:** + +- ❌ Limite de requisições atingido → Paradas de trabalho → Frustração +- ❌ Ou: acidentalmente acumular enormes contas de API + +**Com 9Router:** + +- ✅ Assinatura atinge o limite → Retorno automático para nível barato +- ✅ O nível barato fica caro → Retorno automático para o nível gratuito +- ✅ Nunca pare de codificar → Custos previsíveis + +**Você está no controle:** Defina limites de gastos por provedor no painel e o 9Router os respeita. + +
+ +--- + +## 📖 Guia de configuração + +
+🔐 Provedores de assinatura (maximizar valor) + +### Claude Code (Pro/Max) + +```bash +Painel → Provedores → Conectar Claude Code +→ OAuth login → Renovação automática de token +→ Acompanhamento de cota de 5 horas + semanal + +Modelos: + cc/claude-opus-4-7 + cc/claude-opus-4-6 + cc/claude-sonnet-4-6 + cc/claude-haiku-4-5-20251001 +``` + +**Dica profissional:** Use o Opus para tarefas complexas e o Sonnet para velocidade. 9Router rastreia cota por modelo! + +### OpenAI Codex (Plus/Pro) + +```bash +Painel → Provedores → Conectar Codex +→ OAuth login (port 1455) +→ Renovação de 5 horas + semanal + +Modelos: + cx/gpt-5.5 + cx/gpt-5.4 + cx/gpt-5.3-codex + cx/gpt-5.2-codex +``` + +### GitHub Copilot + +```bash +Painel → Provedores → Conectar GitHub +→ OAuth via GitHub +→ Renovação mensal (dia 1º) + +Modelos: + gh/gpt-5.4 + gh/claude-opus-4.7 + gh/claude-sonnet-4.6 + gh/gemini-3.1-pro-preview + gh/grok-code-fast-1 +``` + +### Cursor IDE + +```bash +Painel → Provedores → Conectar Cursor +→ OAuth login +→ Assinatura mensal + +Modelos: + cu/claude-4.6-opus-max + cu/claude-4.5-sonnet-thinking + cu/gpt-5.3-codex +``` + +
+ +
+💰 Provedores baratos (backup) + +### GLM-5.1 / GLM-4.7 (redefinição diária, $0.6/1M) + +1. Inscreva-se: [Zhipu AI](https://open.bigmodel.cn/) +2. Obtenha a chave API do plano de codificação +3. Painel → Adicionar chave API: + - Provedor: `glm` + - Chave API: `your-key` + +**Usar:** `glm/glm-5.1`, `glm/glm-5`, `glm/glm-4.7` + +**Dica profissional:** O plano de codificação oferece cota 3× com custo de 1/7! Redefinir diariamente às 10h. + +### MiniMax M2.7 (redefinição de 5h, $0.20/1M) + +1. Cadastre-se: [MiniMax](https://www.minimax.io/) +2. Obtenha a chave API +3. Painel → Adicionar chave API + +**Usar:** `minimax/MiniMax-M2.7`, `minimax/MiniMax-M2.5` + +**Dica profissional:** Opção mais barata para contexto longo (1 milhão de tokens)! + +### Kimi K2.5 ($9/mês plano) + +1. Inscreva-se: [Moonshot AI](https://platform.moonshot.ai/) +2. Obtenha a chave API +3. Painel → Adicionar chave API + +**Usar:** `kimi/kimi-k2.5`, `kimi/kimi-k2.5-thinking` + +**Dica profissional:** $9/mês corrigido para 10 milhões de tokens = custo efetivo de $0.90/1M! + +
+ +
+🆓 Provedores GRATUITOS (recomendado) + +### Kiro AI (Claude 4.5 + GLM-5 + MiniMax GRATUITO) + +```bash +Painel → Conectar Kiro +→ AWS Builder ID, AWS IAM Identity Center, Google ou GitHub +→ Uso conforme a cota do plano + +Modelos: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 + kr/glm-5 + kr/MiniMax-M2.5 + kr/qwen3-coder-next + kr/deepseek-3.2 +``` + +**Dica profissional:** Melhor opção gratuita para Claude. Sem chave API, sem pagamento, totalmente ilimitado. + +### OpenCode Free (sem autenticação, modelos de busca automática) + +```bash +Painel → Conectar OpenCode Free +→ Login não necessário (proxy de passagem) +→ Modelos obtidos automaticamente de opencode.ai/zen/v1/models +``` + +**Dica profissional:** Configuração mais rápida. Basta conectar e começar a codificar. + +### Vertex AI (créditos gratuitos $300 para novas contas do GCP) + +```bash +Painel → Conectar Vertex AI +→ Envie o JSON da conta de serviço do Google Cloud +→ Ative a API Vertex AI no projeto GCP + +Modelos: + vertex/gemini-3.1-pro-preview + vertex/gemini-3-flash-preview + vertex/gemini-2.5-flash + +Parceiros do Vertex (Anthropic / DeepSeek / GLM / Qwen via Vertex): + vertex-partner/glm-5-maas + vertex-partner/deepseek-v3.2-maas + vertex-partner/qwen3-next-80b-a3b-thinking-maas +``` + +**Dica profissional:** novas contas do Google Cloud recebem créditos $300 gratuitamente por 90 dias. Bastante para codificação diária. + +
+ +
+🎨 Criar Combos + +### Exemplo 1: Maximize a assinatura → Backup barato + +``` +Painel → Combos → Criar novo + +Nome: premium-coding +Modelos: + 1. cc/claude-opus-4-7 (assinatura principal) + 2. glm/glm-5.1 (backup econômico, $0,60/1M) + 3. minimax/MiniMax-M2.7 (fallback mais econômico, $0,20/1M) + +Use na CLI: premium-coding + +Exemplo de custo mensal (100M de tokens): + 80M via Claude (assinatura): $0 extra + 15M via GLM: $9 + 5M via MiniMax: $1 + Total: $10 + sua assinatura +``` + +### Exemplo 2: somente gratuito (custo zero) + +``` +Nome: free-combo +Modelos: + 1. kr/claude-sonnet-4.5 (Claude 4.5 gratuito via Kiro, ~50 créditos/mês) + 2. kr/glm-5 (GLM-5 gratuito via Kiro) + 3. vertex/gemini-3.1-pro-preview ($300 free credits) + +Custo: $0 (+ economia de 20–40% de tokens com RTK)! +``` + +
+ +
+🔧 Integração CLI + +### Cursor IDE + +``` +Configurações → Modelos → Avançado: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [copie do painel do 9Router] + Model: cc/claude-opus-4-7 +``` + +Ou use o combo: `premium-coding` + +### Claude Code + +Editar `~/.claude/config.json`: + +```json +{ + "anthropic_api_base": "http://localhost:20128/v1", + "anthropic_api_key": "your-9router-api-key" +} +``` + +### CLI do Codex + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-9router-api-key" + +codex "seu prompt" +``` + +### OpenClaw + +**Opção 1 — Painel (recomendado):** + +``` +Painel → Ferramentas CLI → OpenClaw → Selecionar modelo → Aplicar +``` + +**Opção 2 — Manual:** Editar `~/.openclaw/openclaw.json`: + +```json +{ + "agents": { + "defaults": { + "model": { + "primary": "9router/kr/claude-sonnet-4.5" + } + } + }, + "models": { + "providers": { + "9router": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_9router", + "api": "openai-completions", + "models": [ + { + "id": "kr/claude-sonnet-4.5", + "name": "Claude Sonnet 4.5 (Kiro Free)" + } + ] + } + } + } +} +``` + +> **Nota:** OpenClaw só funciona com 9Router local. Use `127.0.0.1` em vez de `localhost` para evitar problemas de resolução IPv6. + +### Cline / Continue / RooCode + +``` +Provedor: compatível com OpenAI +Base URL: http://localhost:20128/v1 +API Key: [copie do painel] +Model: cc/claude-opus-4-7 +``` + +
+ +
+🚀 Implantação + +### Implantação VPS + +```bash +# Clonar e instalar +git clone https://github.com/decolua/9router.git +cd 9router +npm install +npm run build + +# Configurar +export JWT_SECRET="your-secure-secret-change-this" +export INITIAL_PASSWORD="your-password" +export DATA_DIR="/var/lib/9router" +export PORT="20128" +export HOSTNAME="0.0.0.0" +export NODE_ENV="production" +export NEXT_PUBLIC_BASE_URL="http://localhost:20128" +export NEXT_PUBLIC_CLOUD_URL="https://9router.com" +export API_KEY_SECRET="endpoint-proxy-api-key-secret" +export MACHINE_ID_SALT="endpoint-proxy-salt" + +# Iniciar +npm run start + +# Ou usar PM2 +npm install -g pm2 +pm2 start npm --name 9router -- start +pm2 save +pm2 startup +``` + +### Docker + +Imagens publicadas (multiplataforma `linux/amd64` + `linux/arm64`): + +- Hub Docker: [`decolua/9router`](https://hub.docker.com/r/decolua/9router) +- GHCR: [`ghcr.io/decolua/9router`](https://github.com/decolua/9router/pkgs/container/9router) + +**Início rápido (use imagem publicada):** + +```bash +docker run -d \ + --name 9router \ + -p 20128:20128 \ + -v "$HOME/.9router:/app/data" \ + -e DATA_DIR=/app/data \ + decolua/9router:latest +``` + +→ Abra http://localhost:20128 + +**Compilar a partir do código-fonte (desenvolvedor):** + +```bash +git clone https://github.com/decolua/9router.git +cd 9router/app +docker build -t 9router . +docker run -d --name 9router -p 20128:20128 \ + -v "$HOME/.9router:/app/data" -e DATA_DIR=/app/data 9router +``` + +**Padrões do contêiner:** + +- `PORT=20128` +- `HOSTNAME=0.0.0.0` + +**Comandos úteis:** + +```bash +docker logs -f 9router +docker restart 9router +docker stop 9router && docker rm 9router +docker pull decolua/9router:latest # atualizar para a versão mais recente +``` + +**Persistência de dados:** `$HOME/.9router/db/data.sqlite` no host ↔ `/app/data/db/data.sqlite` no contêiner. + +### Variáveis de Ambiente + +| Variável | Padrão | Descrição | +| ---------------------------------------------------- | ---------------------------------------- | ----------------------------------------------------------------------------------- | +| `JWT_SECRET` | Gerado automaticamente (`~/.9router/jwt-secret`) | Segredo de assinatura JWT para cookie de autenticação do painel (substituir para compartilhar entre instâncias) | +| `INITIAL_PASSWORD` | `123456` | Primeira senha de login quando não existe hash salvo | +| `DATA_DIR` | `~/.9router` | Localização principal dos dados do aplicativo (SQLite em `$DATA_DIR/db/data.sqlite`) | +| `PORT` | padrão da estrutura | Porta de serviço (`20128` nos exemplos) | +| `HOSTNAME` | padrão da estrutura | Host de vinculação (o padrão do Docker é `0.0.0.0`) | +| `NODE_ENV` | padrão de tempo de execução | Definir `production` para implantação | +| `BASE_URL` | `http://localhost:20128` | URL base interna do lado do servidor usada por trabalhos de sincronização na nuvem | +| `CLOUD_URL` | `https://9router.com` | URL base do endpoint de sincronização na nuvem do lado do servidor | +| `NEXT_PUBLIC_BASE_URL` | `http://localhost:3000` | URL de base pública/compatível com versões anteriores (prefira `BASE_URL` para tempo de execução do servidor) | +| `NEXT_PUBLIC_CLOUD_URL` | `https://9router.com` | URL de nuvem pública/compatível com versões anteriores (prefira `CLOUD_URL` para tempo de execução do servidor) | +| `API_KEY_SECRET` | `endpoint-proxy-api-key-secret` | Segredo HMAC para chaves de API geradas | +| `MACHINE_ID_SALT` | `endpoint-proxy-salt` | Salt para hashing estável de ID de máquina | +| `ENABLE_REQUEST_LOGS` | `false` | Habilita logs de solicitação/resposta em `logs/` | +| `AUTH_COOKIE_SECURE` | `false` | Forçar cookie de autenticação `Secure` (definir `true` atrás do proxy reverso HTTPS) | +| `REQUIRE_API_KEY` | `false` | Aplicar chave de API Bearer em rotas `/v1/*` (recomendado para implantações expostas à Internet) | +| `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY`, `NO_PROXY` | vazio | Proxy de saída opcional para chamadas de provedor upstream | +| `SEARXNG_URL` | `http://localhost:8888/search` | Endpoint para o provedor de pesquisa na web SearXNG não autenticado integrado | + +Notas: + +- Variáveis de proxy em letras minúsculas também são suportadas: `http_proxy`, `https_proxy`, `all_proxy`, `no_proxy`. +- `.env` não está incluído na imagem Docker (`.dockerignore`); injete configuração de tempo de execução com `--env-file` ou `-e`. +- No Windows, `APPDATA` pode ser usado para resolução de caminho de armazenamento local. +- `INSTANCE_NAME` aparece em modelos de documentos/env mais antigos, mas atualmente não é usado em tempo de execução. + +### Arquivos e armazenamento em tempo de execução + +- Estado principal do aplicativo: `${DATA_DIR}/db/data.sqlite` (SQLite — provedores, combos, aliases, chaves, configurações, histórico de uso) +- Backups automáticos: `${DATA_DIR}/db/backups/` +- Logs opcionais de solicitação/tradutor: `/logs/...` quando `ENABLE_REQUEST_LOGS=true` +- `${DATA_DIR}` e `~/.9router` resolvem para o mesmo local em um contêiner Docker — o link simbólico `/root/.9router -> /app/data` é criado no momento da construção. + +
+ +--- + +## 📊 Modelos Disponíveis + +
+Ver todos os modelos disponíveis + +**Claude Code (`cc/`)** - Pro/Máx: + +-`cc/claude-opus-4-7` +-`cc/claude-opus-4-6` +-`cc/claude-sonnet-4-6` +-`cc/claude-sonnet-4-5-20250929` +-`cc/claude-haiku-4-5-20251001` + +**Codex (`cx/`)** - Plus/Pro: + +-`cx/gpt-5.5` +-`cx/gpt-5.4` +-`cx/gpt-5.3-codex` +-`cx/gpt-5.2-codex` +-`cx/gpt-5.1-codex-max` + +**GitHub Copilot (`gh/`)**: + +-`gh/gpt-5.4` +-`gh/claude-opus-4.7` +-`gh/claude-sonnet-4.6` +-`gh/gemini-3.1-pro-preview` +-`gh/grok-code-fast-1` + +**Cursor (`cu/`)** - Assinatura: + +-`cu/claude-4.6-opus-max` +-`cu/claude-4.5-sonnet-thinking` +-`cu/gpt-5.3-codex` +-`cu/kimi-k2.5` + +**GLM (`glm/`)** - $0.6/1M: + +-`glm/glm-5.1` +-`glm/glm-5` +-`glm/glm-4.7` + +**MiniMax (`minimax/`)** - $0.2/1M: + +-`minimax/MiniMax-M2.7` +-`minimax/MiniMax-M2.5` + +**Kimi (`kimi/`)** - $9/mo plana: + +-`kimi/kimi-k2.5` +-`kimi/kimi-k2.5-thinking` + +**Kiro (`kr/`)** - Gratuito (~50 créditos/mês, níveis pagos acima): + +-`kr/claude-sonnet-4.5` +-`kr/claude-haiku-4.5` +-`kr/glm-5` +-`kr/MiniMax-M2.5` +-`kr/qwen3-coder-next` +-`kr/deepseek-3.2` + +**OpenCode grátis (`oc/`)** - GRATUITO sem autenticação: + +- Obtido automaticamente de `opencode.ai/zen/v1/models` + +**Vertex AI (`vertex/`)** - Créditos gratuitos $300: + +-`vertex/gemini-3.1-pro-preview` +-`vertex/gemini-3-flash-preview` +-`vertex/gemini-2.5-flash` +-`vertex-partner/glm-5-maas` +-`vertex-partner/deepseek-v3.2-maas` + +
+ +--- + +## 🐛 Solução de problemas + +**"O modelo de linguagem não forneceu mensagens"** + +- Cota do provedor esgotada → Verifique o rastreador de cota do painel +- Solução: use o combo substituto ou mude para um nível mais barato + +**Limitação de requisições** + +- Cota de assinatura esgotada → Fallback para GLM/MiniMax +- Adicionar combo: `cc/claude-opus-4-7 → glm/glm-5.1 → kr/claude-sonnet-4.5` + +**O token OAuth expirou** + +- Atualizado automaticamente pelo 9Router +- Se os problemas persistirem: Painel → Provedor → Reconectar + +**Custos elevados** + +- Habilite RTK no Dashboard → Configurações de endpoint (padrão LIGADO, economiza 20-40% de tokens) +- Verifique as estatísticas de uso no Dashboard +- Mude o modelo primário para GLM/MiniMax +- Use o nível gratuito (Kiro, OpenCode Free, Vertex) para tarefas não críticas + +**Painel abre na porta errada** + +- Definir `PORT=20128` e `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Primeiro login não funciona** + +- Verifique `INITIAL_PASSWORD` em `.env` +- Se não definida, a senha substituta é `123456` + +**Nenhum registro de solicitação em `logs/`** + +- Definir `ENABLE_REQUEST_LOGS=true` + +--- + +## 🛠️ Pilha de tecnologia + +- **Tempo de execução**: Node.js 20+ +- **Estrutura**: Next.js 16 +- **IU**: React 19 + Tailwind CSS 4 +- **Banco de dados**: SQLite (better-sqlite3 / node:sqlite / fallback para sql.js) +- **Streaming**: eventos enviados pelo servidor (SSE) +- **Autenticação**: OAuth 2.0 (PKCE) + JWT + chaves de API + +--- + +## 📝 Referência da API + +### Chat Completions + +```bash +POST http://localhost:20128/v1/chat/completions +Authorization: Bearer your-api-key +Content-Type: application/json + +{ + "model": "cc/claude-opus-4-6", + "messages": [ + {"role": "user", "content": "Escreva uma função para..."} + ], + "stream": true +} +``` + +### Listar modelos + +```bash +GET http://localhost:20128/v1/models +Authorization: Bearer your-api-key + +→ Retorna todos os modelos e combos no formato OpenAI +``` + +## 📧 Suporte + +- **Site**: [9router.com](https://9router.com) +- **GitHub**: [github.com/decolua/9router](https://github.com/decolua/9router) +- **Issues**: [github.com/decolua/9router/issues](https://github.com/decolua/9router/issues) + +--- + +## 👥 Colaboradores + +Obrigado a todos os colaboradores que ajudaram a tornar o 9Router melhor! + +[![Contribuidores](https://contrib.rocks/image?repo=decolua/9router&max=150&columns=15&anon=1&v=20260309)](https://github.com/decolua/9router/graphs/contributors) + +--- + +## 📊 Gráfico de estrelas + +[![Gráfico de estrelas](https://starchart.cc/decolua/9router.svg?variant=adaptive)](https://starchart.cc/decolua/9router) + +## 🔀 Forks + +**[OmniRoute](https://github.com/diegosouzapw/OmniRoute)** — Um fork TypeScript completo do 9Router. Adiciona mais de 36 provedores, fallback automático de 4 camadas, APIs multimodais (imagens, incorporações, áudio, TTS), disjuntor, cache semântico, avaliações LLM e um painel sofisticado. Mais de 368 testes de unidade. Disponível via npm e Docker. + +--- + +## 🙏 Agradecimentos + +Construído sobre ombros de gigantes: + +- **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — implementação Go original que inspirou esta versão JavaScript. +- **[RTK](https://github.com/rtk-ai/rtk)** ![Stars](https://img.shields.io/github/stars/rtk-ai/rtk?style=flat&color=yellow) — Economizador de tokens em Rust. O 9Router porta seu pipeline de compactação para JS → **−20-40% de tokens de entrada** em cada solicitação. +- **[Caveman](https://github.com/JuliusBrussee/caveman)** ![Stars](https://img.shields.io/github/stars/JuliusBrussee/caveman?style=flat&color=yellow) por **[@JuliusBrussee](https://github.com/JuliusBrussee)** — viral _"por que usar muitos tokens quando poucos tokens resolvem"_. 9Router adapta seu prompt → **−65% tokens de saída**. +- **[Ponytail](https://github.com/DietrichGebert/ponytail)** ![Estrelas](https://img.shields.io/github/stars/DietrichGebert/ponytail?style=flat&color=yellow) por **[@DietrichGebert](https://github.com/DietrichGebert)** — _"desenvolvedor sênior preguiçoso"_ habilidade. 9Router injeta sua abordagem YAGNI-first → **menos tokens, menos código, diferenças mais curtas**. + +Um grande agradecimento a esses autores – sem o trabalho deles, os recursos de economia de tokens do 9Router não existiriam. Dê uma ⭐ a eles no GitHub! + +--- + +## 📄 Licença + +Licença MIT - consulte [LICENSE](../LICENSE) para obter detalhes. + +--- + +
+ Construído com ❤️ para desenvolvedores que codificam 24/7 +
+