opencode-qwencode-auth
v1.3.0
Published
Qwen OAuth authentication plugin for OpenCode - Access Qwen AI models (Coder, Vision) with your qwen.ai account
Downloads
938
Maintainers
Readme
🤖 Qwen Code OAuth Plugin para OpenCode
Autentique o OpenCode CLI com sua conta qwen.ai. Este plugin permite usar modelos Qwen (Coder, Max, Plus e mais) com 2.000 requisições gratuitas por dia - sem API key ou cartão de crédito!
✨ Funcionalidades
- 🔐 OAuth Device Flow - Autenticação segura via navegador (RFC 8628)
- ⚡ Polling Automático - Não precisa pressionar Enter após autorizar
- 🆓 2.000 req/dia grátis - Plano gratuito generoso sem cartão
- 🧠 1M de contexto - Modelos com 1 milhão de tokens de contexto
- 🔄 Auto-refresh - Tokens renovados automaticamente antes de expirar
- 🔗 Compatível com qwen-code - Reutiliza credenciais de
~/.qwen/oauth_creds.json
📋 Pré-requisitos
- OpenCode CLI instalado
- Uma conta qwen.ai (gratuita)
🚀 Instalação
1. Instale o plugin
cd ~/.opencode && npm install opencode-qwencode-auth2. Habilite o plugin
Edite ~/.opencode/opencode.jsonc:
{
"plugin": ["opencode-qwencode-auth"]
}🔑 Uso
1. Login
opencode auth login2. Selecione o Provider
Escolha "Other" e digite qwen-code
3. Autentique
Selecione "Qwen Code (qwen.ai OAuth)"
- Uma janela do navegador abrirá para você autorizar
- O plugin detecta automaticamente quando você completa a autorização
- Não precisa copiar/colar códigos ou pressionar Enter!
[!TIP] No TUI do OpenCode (interface gráfica), o provider Qwen Code aparece automaticamente na lista de providers.
🎯 Modelos Disponíveis
Modelos de Código
| Modelo | Contexto | Max Output | Melhor Para |
|--------|----------|------------|-------------|
| qwen3-coder-plus | 1M tokens | 64K tokens | Tarefas complexas de código |
| qwen3-coder-flash | 1M tokens | 64K tokens | Respostas rápidas de código |
Modelos de Propósito Geral
| Modelo | Contexto | Max Output | Reasoning | Melhor Para |
|--------|----------|------------|-----------|-------------|
| qwen3-max | 256K tokens | 64K tokens | Não | Modelo flagship, raciocínio complexo e tool use |
| qwen-plus-latest | 128K tokens | 16K tokens | Sim | Equilíbrio qualidade-velocidade com thinking mode |
| qwen3-235b-a22b | 128K tokens | 32K tokens | Sim | Maior modelo open-weight MoE com thinking mode |
| qwen-flash | 1M tokens | 8K tokens | Não | Ultra-rápido, baixo custo para tarefas simples |
Usando um modelo específico
opencode --provider qwen-code --model qwen3-coder-plus
opencode --provider qwen-code --model qwen3-max
opencode --provider qwen-code --model qwen-plus-latest⚙️ Como Funciona
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ OpenCode CLI │────▶│ qwen.ai OAuth │────▶│ Qwen Models │
│ │◀────│ (Device Flow) │◀────│ API │
└─────────────────┘ └──────────────────┘ └─────────────────┘- Device Flow (RFC 8628): Abre seu navegador em
chat.qwen.aipara autenticação - Polling Automático: Detecta a conclusão da autorização automaticamente
- Armazenamento de Token: Salva credenciais em
~/.qwen/oauth_creds.json - Auto-refresh: Renova tokens 30 segundos antes de expirar
📊 Limites de Uso
| Plano | Rate Limit | Limite Diário | |-------|------------|---------------| | Gratuito (OAuth) | 60 req/min | 2.000 req/dia |
[!NOTE] Os limites resetam à meia-noite UTC. Para limites maiores, considere usar uma API key do DashScope.
🔧 Solução de Problemas
Token expirado
O plugin renova tokens automaticamente. Se houver problemas:
# Remova credenciais antigas
rm ~/.qwen/oauth_creds.json
# Re-autentique
opencode auth loginProvider não aparece no auth login
O provider qwen-code é adicionado via plugin. No comando opencode auth login:
- Selecione "Other"
- Digite
qwen-code
Rate limit excedido (erros 429)
- Aguarde até meia-noite UTC para reset da cota
- Tente usar
qwen3-coder-flashpara requisições mais leves - Considere a API DashScope para limites maiores
🛠️ Desenvolvimento
# Clone o repositório
git clone https://github.com/gustavodiasdev/opencode-qwencode-auth.git
cd opencode-qwencode-auth
# Instale dependências
bun install
# Verifique tipos
bun run typecheckTeste local
Edite ~/.opencode/package.json:
{
"dependencies": {
"opencode-qwencode-auth": "file:///caminho/absoluto/para/opencode-qwencode-auth"
}
}Depois reinstale:
cd ~/.opencode && npm install📁 Estrutura do Projeto
src/
├── constants.ts # Endpoints OAuth, config de modelos
├── types.ts # Interfaces TypeScript
├── index.ts # Entry point principal do plugin
├── qwen/
│ └── oauth.ts # OAuth Device Flow + PKCE
└── plugin/
├── auth.ts # Gerenciamento de credenciais
└── utils.ts # Utilitários🔗 Projetos Relacionados
- qwen-code - CLI oficial do Qwen para programação
- OpenCode - CLI com IA para desenvolvimento
- opencode-gemini-auth - Plugin similar para Google Gemini
📄 Licença
MIT
