Uma ferramenta de organização de ficheiros inteligente que usa IA (OpenAI, Gemini, Groq, etc.) para criar regras de organização contextuais e granulares.
Cansado da sua pasta de "Downloads" parecer uma zona de desastre? O FileSorter é uma ferramenta com interface gráfica (GUI) que leva a organização de ficheiros para o próximo nível. Em vez de se basear apenas em extensões de ficheiro (.jpg, .pdf), ele utiliza o poder da IA generativa para analisar os nomes dos seus ficheiros e criar regras de organização inteligentes baseadas em palavras-chave e contexto.
Diga-lhe "separe faturas de relatórios de trabalho" e veja-o criar as regras por si. Ou seja vago e peça-lhe para "organizar esta confusão", e ele irá inferir categorias lógicas. No final de cada operação, é gerado um relatório HTML detalhado para que saiba exatamente o que foi alterado.
- 🧠 Organização Inteligente com IA: Suporta múltiplos provedores (OpenAI, Gemini, Groq, LM Studio, Ollama, etc.) para analisar nomes de ficheiros e sugerir regras de organização contextuais.
- ✍️ Comandos em Linguagem Natural: Dê instruções como "separe fotos de férias e documentos de impostos" e a IA cria as regras.
- 📂 Organização Granular: Move ficheiros com base em palavras-chave (
fatura,relatorio_q3,ferias_2025) e não apenas em extensões. - 📋 Relatórios de Auditoria: Gera automaticamente um relatório HTML detalhado após cada organização, mostrando cada ficheiro movido e cada pasta criada.
- 🖱️ Interface Amigável: Uma GUI simples com suporte para arrastar e largar (Drag and Drop), barra de progresso e log de atividades em tempo real.
- 🚫 Operação Segura: Nunca sobrescreve ficheiros. Se um ficheiro já existir no destino, ele é renomeado de forma inteligente (ex:
documento (1).pdf). - 🛑 Controlo Total: Inclui um botão de "Cancelar" para interromper operações longas de forma segura.
- 🔓 Multi-Provedor: Alterne entre OpenAI, Gemini, Groq, ou qualquer API compatível com OpenAI diretamente na interface.
- ⏰ Automação Completa: Agende organizações periódicas, por horário específico, ou em tempo real (watch mode).
- 🚀 Instalador Windows: Crie um instalador profissional com Inno Setup para distribuição fácil.
- Baixe o instalador mais recente em Releases
- Execute
FileSorter_Setup_x.x.x.exe - Siga as instruções do instalador
- O FileSorter será instalado em
C:\Program Files\FileSorter
-
Clone o repositório:
git clone https://github.com/marciolopesjr/FileSorter.git cd FileSorter -
Execute o script de build:
build_installer.bat
Este script irá:
- Instalar dependências
- Criar o executável com PyInstaller
- Gerar o instalador com Inno Setup (se instalado)
-
O instalador será criado em:
installer\Output\FileSorter_Setup_x.x.x.exe
-
Instale Python 3.8+: python.org
-
Clone e instale dependências:
git clone https://github.com/marciolopesjr/FileSorter.git cd FileSorter pip install -r requirements.txt -
Execute:
python FileSorter.py
- Python 3.8+: Instale o Python se ainda não o tiver. Importante: Durante a instalação no Windows, certifique-se que a opção "Add Python to PATH" está marcada.
- Chave de API: A funcionalidade de IA requer uma chave de API de um dos provedores suportados:
- OpenAI: Obtenha em OpenAI API Keys
- Google Gemini: Obtenha em Google AI Studio
- Groq: Obtenha em Groq Console
- Outros: Qualquer API compatível com OpenAI (LM Studio, Ollama, etc.)
-
Clone o repositório:
git clone https://github.com/marciolopesjr/FileSorter.git cd FileSorter -
Instale as dependências: A aplicação utiliza algumas bibliotecas externas. Instale-as facilmente com o seguinte comando:
pip install -r requirements.txt
-
Configure a sua chave de API:
Opção A - Via Interface (Recomendado):
- Execute a aplicação (veja abaixo)
- Clique em "⚙ Configurar IA"
- Selecione o provedor (OpenAI, Gemini, etc.)
- Preencha a chave de API e outras configurações
- Clique em "Salvar"
Opção B - Via Ficheiro
.env:- Na pasta do projeto, crie um ficheiro chamado
.env. - Abra o ficheiro
.enve adicione as seguintes linhas:
# Para OpenAI ou compatíveis OPENAI_API_KEY="SUA_CHAVE_OPENAI_AQUI" # Para Gemini (alternativo) GEMINI_API_KEY="SUA_CHAVE_GEMINI_AQUI"- Nunca partilhe este ficheiro ou envie-o para um repositório público!
Com tudo instalado e configurado, execute o seguinte comando no seu terminal:
python FileSorter.py- Selecione uma Pasta: Arraste e largue uma pasta para dentro da janela da aplicação ou use o botão "Selecionar Pasta".
- Configure o Provedor de IA (se necessário): Clique em "⚙ Configurar IA" para selecionar o provedor e inserir a chave de API.
- Peça Sugestões à IA: No campo "Assistente de IA", escreva o que deseja fazer (ex: "divida os meus ficheiros de trabalho e pessoais").
- Gere as Regras: Clique em "Sugerir Novas Regras". A IA irá analisar os nomes dos ficheiros na pasta e propor um conjunto de regras.
- Aplique as Regras: Uma janela de confirmação irá mostrar as regras sugeridas. Se concordar, clique em "Sim" para as salvar.
- Organize! Clique no botão "Organizar Usando Regras Atuais" para iniciar o processo.
- Verifique o Relatório: No final, será perguntado se deseja ver o relatório HTML. Ele também será guardado dentro da pasta que acabou de organizar.
O FileSorter oferece três modos de automação para organizar ficheiros automaticamente:
| Modo | Descrição | Quando Usar |
|---|---|---|
| Por Intervalo | Organiza pastas a cada X minutos | Para pastas com fluxo constante de ficheiros |
| Por Horário | Organiza em horários específicos (ex: 09:00, 18:00) | Para organização no início/fim do dia |
| Tempo Real (Watch) | Organiza assim que ficheiros novos são detectados | Para pastas de downloads ou recebimento automático |
- Clique em "🕐 Automação" na janela principal
- Adicione pastas monitoradas: Clique em "Adicionar Pasta" e selecione as pastas que deseja monitorar
- Selecione o modo:
- Por Intervalo: Defina o intervalo em minutos (1-1440)
- Por Horário: Adicione horários no formato HH:MM
- Tempo Real: Detecta ficheiros instantaneamente
- Iniciar com o Windows: Marque para iniciar automaticamente
- Clique em "Iniciar Automação"
- Abra configurações de automação
- Adicione
C:\Users\SeuNome\Downloads - Selecione modo "Tempo Real (Watch)"
- Clique em "Iniciar Automação"
Agora, sempre que um ficheiro for adicionado à pasta Downloads, ele será automaticamente organizado!
Para iniciar o FileSorter automaticamente com o Windows:
Via Instalador:
- Marque a opção "Iniciar automaticamente com o Windows" durante a instalação
Via Interface:
- Em "🕐 Automação", marque "Iniciar com o Windows"
- Isso cria uma tarefa no Agendador de Tarefas do Windows
Manualmente:
- Pressione
Win + R, digiteshell:startup - Crie um atalho para
FileSorter.exenesta pasta
| Provedor | URL Base (opcional) | Modelos Exemplo |
|---|---|---|
| OpenAI | (padrão) | gpt-4, gpt-3.5-turbo |
| Groq | https://api.groq.com/openai/v1 |
llama-3, mixtral-8x7b |
| LM Studio | http://localhost:1234/v1 |
Qualquer modelo local |
| Ollama | http://localhost:11434/v1 |
llama2, mistral, etc. |
| Gemini | (nativo) | gemini-pro, gemini-1.5-flash |
-
A janela não abre ao executar
python FileSorter.py:- Certifique-se de que está a executar o comando a partir de um terminal/linha de comandos, e não a dar um duplo clique no ficheiro.
- Tente reinstalar as dependências com
pip install -r requirements.txt. - Se o problema persistir, pode ser um problema com a sua instalação do Python/Tkinter. Tente reinstalar o Python.
-
A funcionalidade de IA está desabilitada:
- Verifique se configurou corretamente a chave de API nas configurações da aplicação ou no ficheiro
.env. - Confirme que a chave de API está correta e não contém espaços extra.
- Para APIs locais (LM Studio, Ollama), certifique-se de que o servidor está em execução.
- Verifique se configurou corretamente a chave de API nas configurações da aplicação ou no ficheiro
-
Erro ao comunicar com a API:
- Verifique sua conexão com a internet.
- Para APIs locais, confirme que o servidor está acessível no endereço configurado.
- Verifique se há créditos/saldo na sua conta do provedor.
FileSorter/
├── FileSorter.py # Interface gráfica principal
├── logic.py # Lógica de organização e IA
├── scheduler.py # Sistema de automação e agendamento
├── config.json # Regras de organização
├── requirements.txt # Dependências Python
├── build.py # Script de build PyInstaller
├── build_installer.bat # Script de build completo (Windows)
├── .env.example # Modelo de configuração de API
├── installer/
│ └── create_installer.iss # Script Inno Setup
└── dist/ # Executáveis compilados (após build)
# Windows
build_installer.bat
# Ou manualmente
pip install -r requirements.txt
python build.py- Instale Inno Setup 6
- Execute
build_installer.bat - O instalador será criado em
installer\Output\FileSorter_Setup_x.x.x.exe
- Python 3.8+
- PyInstaller (
pip install pyinstaller) - Inno Setup 6 (opcional, para criar instalador)
Contribuições são bem-vindas! Se encontrar um bug ou tiver uma ideia para uma nova funcionalidade, sinta-se à vontade para abrir uma issue ou enviar um pull request.
Este projeto está licenciado sob a licença MIT. Consulte o ficheiro LICENSE para obter detalhes.
