Aplicação desktop para upscaling inteligente de wallpapers — De qualquer resolução para 4K usando IA.
SweetDesk é uma aplicação desktop multiplataforma que transforma wallpapers de baixa/média resolução em imagens 4K (3840×2160) usando inteligência artificial. O projeto combina SweetDesk-core (motor de processamento em Go) com uma interface moderna em Next.js + React.
✅ Upscale Automático — De qualquer resolução para 4K/customizado com IA
✅ Classificação Inteligente — Detecta automaticamente anime vs fotografia (via SweetDesk-core)
✅ Múltiplas Fontes — Busca e download integrado com Pixabay
✅ Batch Processing — Processa múltiplas imagens em lote com progresso em tempo real
✅ Interface Moderna — Next.js 16 + React 19 + TailwindCSS
✅ Processamento Local — Todo upscale roda no seu computador (sem enviar para nuvem)
✅ Cross-Platform — macOS, Windows e Linux (via Wails)
┌─────────────────────────────────────────────┐
│ Frontend (Next.js 16) │
│ React 19 + TypeScript + TailwindCSS │
│ - Busca de imagens (Pixabay) │
│ - Upload e preview │
│ - Processamento batch │
└──────────────┬──────────────────────────────┘
│ (Wails Bridge)
↓
┌─────────────────────────────────────────────┐
│ Backend Go (Wails v2.11.0) │
│ - ImageProcessor │
│ - CoreBridge (integração) │
│ - API providers (Pixabay) │
└──────┬──────────────────────────────────────┘
│
↓
┌─────────────────────────────────────────────┐
│ SweetDesk-core v0.0.4 (Go Module) │
│ github.com/Molasses-Co/SweetDesk-core │
│ - Classificação automática (anime/foto) │
│ - Upscaling (RealCUGAN / LSDIR) │
│ - Seam carving (aspect ratio) │
│ - ONNX Runtime embarcado │
└─────────────────────────────────────────────┘
| Camada | Tecnologia | Versão | Propósito |
|---|---|---|---|
| Frontend | Next.js + React | 16.1.6 / 19.2.4 | Interface do usuário |
| UI Framework | TailwindCSS | 4.1.18 | Estilização |
| Runtime | Wails | 2.11.0 | App nativa multiplataforma |
| Backend | Go | 1.25.7 | Lógica de negócios |
| Core Engine | SweetDesk-core | 0.0.4 | Processamento de imagens |
| AI Runtime | ONNX Runtime | 1.25.0 | Inferência de modelos |
- Go 1.25.7+
- Node.js 18+ ou Bun
- Wails v2.11.0 (Instalar Wails)
- 4GB RAM mínimo (8GB+ recomendado para batch processing)
# 1. Clone o repositório
git clone https://github.com/Molasses-Co/SweetDesk.git
cd SweetDesk
# 2. Instale dependências do frontend
cd frontend
npm install # ou: bun install / pnpm install
cd ..
# 3. Baixe dependências do Go
go mod download
# 4. Rode em modo desenvolvimento
wails dev
# O app abrirá com hot reload ativado# Build para o sistema operacional atual
wails build
# Binário estará em: build/bin/Para usar a busca de imagens integrada:
# Crie um arquivo .env na raiz do projeto
echo "PIXABAY_API_KEY=sua_chave_aqui" > .env
# Obtenha sua chave em: https://pixabay.com/api/docs/1️⃣ Abra SweetDesk
↓
2️⃣ Escolha uma opção:
• Fazer upload de imagem local
• Buscar no Pixabay
↓
3️⃣ Selecione resolução de saída (ex: 3840x2160)
↓
4️⃣ Clique "Process"
↓
5️⃣ Aguarde processamento (30s-2min)
↓
6️⃣ Salve a imagem upscalada ✅
1. Abra a aba "Batch"
2. Adicione múltiplas imagens
3. Configure resolução de saída
4. Selecione pasta de destino
5. Clique "Start Batch Processing"
6. Acompanhe progresso em tempo realSweetDesk/
├── frontend/ # Next.js 16 + React 19
│ ├── src/
│ │ ├── app/ # App Router do Next.js
│ │ ├── components/ # Componentes React
│ │ │ ├── ImageUpload.tsx
│ │ │ ├── ImagePreview.tsx
│ │ │ ├── SearchPanel.tsx
│ │ │ ├── DownloadList.tsx
│ │ │ ├── ProcessingView.tsx
│ │ │ ├── ProcessingPanel.tsx
│ │ │ ├── FolderSelect.tsx
│ │ │ ├── ImageDetail.tsx
│ │ │ └── CompleteView.tsx
│ │ └── lib/ # Utilitários
│ ├── wailsjs/ # Bindings gerados pelo Wails
│ ├── package.json
│ ├── next.config.ts
│ └── tailwind.config.ts
│
├── internal/ # Backend Go
│ └── services/
│ ├── core_bridge.go # Integração com SweetDesk-core
│ ├── image_processor.go # Processamento de imagens
│ └── api_provider.go # Pixabay API
│
├── app.go # Aplicação principal Wails
├── main.go # Entry point
├── go.mod # Dependências Go
├── wails.json # Configuração Wails
└── README.md
O SweetDesk usa o SweetDesk-core que aplica automaticamente o modelo mais adequado:
- Fotos/Realismo: LSDIR (Real-ESRGAN 4x)
- Anime/Ilustrações: RealCUGAN-pro
Opções de Processamento:
type ProcessingOptions struct {
TargetWidth int // Largura final (ex: 3840)
TargetHeight int // Altura final (ex: 2160)
ScaleFactor float64 // Fator de escala (ex: 4.0)
MaxResolution int // Limite máximo (padrão: 16384)
KeepAspectRatio bool // Manter proporção
}Interface integrada para buscar wallpapers:
- Busca por palavras-chave
- Filtros de resolução mínima
- Preview antes do download
- Download direto para processamento
Sistema robusto para processar múltiplas imagens:
- Adicione quantas imagens quiser
- Progresso individual por imagem
- Estados:
pending→processing→done/error - Notificações em tempo real via Wails Events
Exemplo de uso interno:
items := []BatchItem{
{ID: "1", Base64Data: "...", Dimension: "3840x2160"},
{ID: "2", DownloadURL: "https://...", Dimension: "3840x2160"},
}
ProcessBatch(items, "/caminho/destino")Ajuste inteligente de aspect ratio que preserva conteúdo importante ao invés de apenas cortar/distorcer a imagem.
# .env (raiz do projeto)
PIXABAY_API_KEY=sua_chave_aquiConfigurados em app.go:
const (
defaultMaxResolution = 16384 // Máximo 16K
maxPixels = 16384 * 16384 // ~268 megapixels
)# Ativar logs detalhados
export SWEETDESK_DEBUG=1
wails devcd frontend
npm run dev
# Abre em http://localhost:3000# Rodar testes
go test ./internal/services/...
# Testar CoreBridge
go test -v ./internal/services -run TestCoreBridge# Atualizar para versão específica
go get github.com/Molasses-Co/SweetDesk-core@v0.0.5
# Ou usar versão local para desenvolvimento
# Edite go.mod e descomente:
# replace github.com/Molasses-Co/SweetDesk-core => ../SweetDesk-core
go mod tidyCausa: SweetDesk-core não foi carregado corretamente.
Solução:
# Verificar se o módulo está baixado
go mod download
go mod verify
# Rebuild o projeto
wails buildSolução:
# Criar arquivo .env na raiz
echo "PIXABAY_API_KEY=sua_chave" > .envDicas:
- Usar resoluções intermediárias (2K ao invés de 8K)
- Processar lotes menores (5-10 imagens por vez)
- Fechar outros apps pesados
- SweetDesk-core usa automaticamente aceleração de hardware quando disponível
Contribuições são bem-vindas!
# 1. Fork o repositório
# 2. Crie uma branch
git checkout -b feature/minha-feature
# 3. Commit suas mudanças
git commit -m "feat: adiciona nova funcionalidade"
# 4. Push para o branch
git push origin feature/minha-feature
# 5. Abra um Pull Request- Integração com mais providers (Unsplash, Wallhaven)
- Preset de resoluções comuns (1080p, 1440p, 4K, etc.)
- Suporte a arrastar e soltar
- Testes unitários do frontend
- Documentação em outras línguas
MIT License — Veja LICENSE para detalhes.
| Componente | Licença | Link |
|---|---|---|
| SweetDesk-core | MIT | GitHub |
| Wails | MIT | wails.io |
| Next.js | MIT | nextjs.org |
| ONNX Runtime | MIT | onnxruntime.ai |
| RealCUGAN | BSD-3 | GitHub |
- SweetDesk-core — Motor de processamento em Go
- Wails — Framework para apps desktop com Go
- Next.js — Framework React
- Pixabay API — API de imagens grátis
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Aplicação Wails com Next.js + React
- Integração com SweetDesk-core v0.0.4
- Upload de imagens locais
- Busca e download via Pixabay
- Upscaling individual (resolução customizável)
- Processamento em lote
- Progresso em tempo real
- Preview de imagens
- Mais providers (Unsplash, Wallhaven)
- Presets de resolução (1-click para 4K, 5K, etc.)
- Histórico de processamentos
- Configurações persistentes
- Modo "Set as Wallpaper" automático (macOS/Windows/Linux)
- Suporte a múltiplos monitores
- Rotação agendada de wallpapers
- Color correction pós-upscale
- Integração com serviços de nuvem
Desenvolvido por @pedro3pv para Molasses Co.
- SweetDesk-core — Motor de processamento
- RealCUGAN Team — Upscaling de anime
- Real-ESRGAN/LSDIR — Upscaling fotográfico
- Microsoft ONNX Runtime — Inferência de ML
- Wails Team — Framework desktop
- Vercel — Next.js e React
SweetDesk — Wallpapers em Alta Resolução com IA 🍬✨
Versão: 0.0.1
Última atualização: Fevereiro 2026
Mantenedor: @pedro3pv
Core Engine: SweetDesk-core v0.0.4