📖 Tutorial Completo – kwy Chess Bot no Navegador
⚠️ Aviso importante:
Este projeto é apenas para estudo e demonstração técnica.
O uso em partidas ranqueadas pode violar os Termos de Serviço de plataformas como Chess.com e Lichess.
🟢 Parte 1 – Para Jogadores (passo a passo simples)
🔹 O que o bot faz
Mostra a melhor jogada no tabuleiro
Pode jogar automaticamente por você
Desenha uma seta indicando o movimento
Ajusta a força do motor, velocidade, chance de erro proposital (blunder)
Permite iniciar automaticamente novas partidas
🔹 Pré-requisitos
Abra uma partida ativa no Chess.com
Pode ser contra outra pessoa ou contra o bot de treino.
O script só funciona quando o tabuleiro está carregado e pronto.
Ter acesso ao console do navegador (funciona no Chrome, Edge, Firefox, Brave).
🔹 Instalação e uso
Vá para Chess.com → Jogar e inicie uma partida real.
Quando o tabuleiro estiver na tela, pressione:
F12 (ou Ctrl + Shift + I) → abre as ferramentas de desenvolvedor
Clique na aba Console
[Hidden Content]
Cole no console e pressione Enter.
Se tudo der certo, vai aparecer no canto da tela uma janela chamada kwy Smart Assist.
🔹 Como usar na prática
Enable Bot → ativa o bot
Show Arrow → seta indicando a melhor jogada
Auto Move → faz o bot jogar automaticamente
Blunder Chance → insere erros aleatórios (para parecer humano)
Time Control → ajusta o tempo da partida (1 min, 3 min, 5 min, etc.)
Atalhos rápidos:
Ctrl + B → mostra/esconde o menu do bot
💡 Dica: Se não aparecer nada, recarregue a partida e cole o código de novo.
🔹 Exemplo
⚙️ Parte 2 – Para Desenvolvedores (detalhes técnicos)
🔹 Estrutura do projeto
O script é dividido em três camadas principais:
UI (Interface do usuário)
Criada dinamicamente em createUI()
Usa elementos HTML/CSS inline para exibir os botões e sliders
Toggle rápido com Ctrl + B
Hook do Bot
O código “escuta” os movimentos do jogador e do adversário
Envia a posição atual do tabuleiro para o motor Stockfish (WebAssembly)
Recebe o melhor movimento e decide o que mostrar/fazer
Engine (Stockfish)
Roda direto no navegador via WebAssembly
Suporta profundidade variável (depth)
Ajuste de nível (engine strength) para simular jogadores de diferentes ELOs
🔹 Configurações importantes
Profundidade de busca (Max Depth)
Controla o número de jogadas futuras analisadas.
Exemplo:
const DEFAULT_DEPTH = 18; // pode aumentar para 25 para mais precisão
Nível de força (Engine Strength)
Vai de 0 (muito fraco) até 20 (forte como GM).
Blunders (erros simulados)
A função adiciona jogadas ruins aleatórias para não parecer “perfeito demais”.
🔹 Customizações possíveis
Alterar atalho do painel
Exemplo, trocar Ctrl + B por Ctrl + M:
if (event.ctrlKey && event.key === 'm') { toggleBotUI(); }
Mudar o visual da UI
Dentro de createUI(), pode editar os estilos inline (cores, tamanhos, posição).
Integrar outro motor
É possível substituir o Stockfish por Lc0 (Leela), desde que compilado em WASM.
✅ Resumo
O bot só funciona quando você já está em uma partida aberta (contra humano ou bot).
Para jogadores comuns → basta colar o código no console.
Para devs → há várias formas de personalizar e expandir a ferramenta.