# main.py

> importa as bibliotecas necessárias para criar um agente autónomo utilizando o LangChain e o Google Generative AI.

- Fonte: https://doutorai.pt/apps/windows-use-autonomous-agent
- Categoria: Agentes Avançados
- Dificuldade: Médio
- Modelos: Claude, Gemini, Llama, Mistral
- Frameworks: LangChain
- Corre local?: Sim (Ollama)
- Chaves necessárias: Nenhuma
- Licença: Apache-2.0
- Site: Doutor AI (https://doutorai.pt) - ferramentas de IA para pequenos negócios em português

## Tutorial completo

<div align="center">

  <h1>🪟 Windows Use Autonomous Agent</h1>

</div>

<br>

**Windows-Use** é um poderoso agente de automação que interage diretamente com o Windows na camada GUI. Ele faz a ponte entre Agentes de IA e o sistema operativo Windows para realizar tarefas como abrir aplicações, clicar em botões, digitar, executar comandos de shell e capturar o estado da interface, tudo sem depender de modelos tradicionais de visão computacional. Permite que qualquer LLM realize automação de computador em vez de depender de modelos específicos para isso.

## 🛠️ Guia de Instalação

### **Pré-requisitos**

- Python 3.12 ou superior
- [UV](https://github.com/astral-sh/uv) (ou `pip`)
- Windows 10 ou 11

### **Passos de Instalação**

**Instalar usando `uv`:**

```bash
uv pip install windows-use
```

```markdown
Ou com pip:
```

```bash
pip install windows-use
```

## ⚙️Utilização Básica

Para começar a utilizar o teu projeto, segue os passos abaixo:

1. **Instalação**  
   Primeiro, instala as dependências necessárias. Executa o seguinte comando:

   ```bash
   npm install
   ```

2. **Execução**  
   Para iniciar a aplicação, utiliza o comando:

   ```bash
   npm start
   ```

3. **Construção**  
   Para construir a versão de produção, executa:

   ```bash
   npm run build
   ```

## 📁 Estrutura de Ficheiros

A estrutura de ficheiros do projeto é a seguinte:

```
/projeto
│
├── /src
│   ├── index.js
│   └── App.js
│
├── /public
│   ├── index.html
│   └── favicon.ico
│
└── package.json
```

## 🛠️ Comandos Disponíveis

Aqui estão alguns comandos úteis que podes utilizar:

- `npm start` - Inicia a aplicação em modo de desenvolvimento.
- `npm run build` - Cria a versão otimizada para produção.
- `npm test` - Executa os testes definidos no projeto.

## 📚 Documentação

Para mais informações, consulta a [documentação oficial](https://link-para-documentacao).

```python
# main.py
from langchain_google_genai import ChatGoogleGenerativeAI
from windows_use.agent import Agent
from dotenv import load_dotenv

load_dotenv()

llm=ChatGoogleGenerativeAI(model='gemini-2.0-flash')
agent = Agent(llm=llm,use_vision=True)
query=input("Enter your query: ")
agent_result=agent.invoke(query=query)
print(agent_result.content)
```

## 🤖 Executar Agente

Podes usar o seguinte para executar a partir de um script:

```bash
python main.py
Enter your query: <YOUR TASK>
```

## 🎥 Demos

**PROMPT:** Escreve uma nota curta sobre LLMs e guarda no desktop

<https://github.com/user-attachments/assets/0faa5179-73c1-4547-b9e6-2875496b12a0>

**PROMPT:** Muda do modo Escuro para o modo Claro

<https://github.com/user-attachments/assets/47bdd166-1261-4155-8890-1b2189c0a3fd>

## Visão

Fala com o teu computador. Vê-o a realizar tarefas.

## Roteiro

### 🤖 Inteligência do Agente

* [ ] **Integrar memória** : permitir que o agente se lembre de interações passadas feitas pelo utilizador.
* [ ] **Otimizar uso de tokens** : implementar estratégias como compressão de Ally Tree e engenharia de prompts para reduzir sobrecarga.
* [ ] **Simular entrada avançada semelhante à humana** : permitir interações precisas e naturalistas com o rato e teclado em várias aplicações.
* [ ] **Suporte para LLMs locais** : modelos locais com desempenho quase equivalente a APIs baseadas na nuvem (por exemplo, Mistral, LLaMA, etc.).
* [ ] **Melhorar raciocínio e planeamento** : aprimorar a capacidade do agente de decompor e sequenciar tarefas complexas.

### 🌳 Otimização do Ally Tree

* [ ] **Melhorar deteção de elementos da UI** : identificar e priorizar automaticamente componentes interativos essenciais no ecrã.
* [ ] **Comprimir Ally Tree de forma inteligente** : reduzir a complexidade podando ramos irrelevantes.
* [ ] **Priorização consciente do contexto** : classificar elementos da UI com base na relevância para a tarefa em questão.

### 💡 Experiência do Utilizador

* [ ] **Reduzir latência** : otimizar para melhorar o tempo de resposta entre interações com a GUI.
* [ ] **Aprimorar interface de comandos** : facilitar a escrita, fala ou digitação de comandos através de uma camada de UX simplificada.
* [ ] **Melhorar tratamento de erros e recuperação** : garantir um tratamento adequado de casos extremos e instruções pouco claras.

### 🧪 Avaliação

* [ ] **Benchmarks de avaliação de LLM** - acompanhar o desempenho em diferentes modelos e benchmarks.

## ⚠️ Cuidado

O agente interage diretamente com o teu sistema operativo Windows na camada da GUI para realizar ações. Embora o agente seja projetado para agir de forma inteligente e segura, pode cometer erros que podem trazer comportamentos indesejados ao sistema ou causar alterações não intencionais. Tenta executar o agente num ambiente de sandbox.

Feito com ❤️ por [Jeomon George](https://github.com/Jeomon)

---

## Citação

```bibtex
@software{
  author       = {George, Jeomon},
  title        = {Windows-Use: Enable AI to control Windows OS},
  year         = {2025},
  publisher    = {GitHub},
  url={https://github.com/CursorTouch/Windows-Use}
}
```

## Poupe horas todas as semanas com IA, sem complicações

O **Doutor AI** dá-lhe 1859 prompts de IA prontos a copiar, por indústria e em português simples - mais uma biblioteca técnica completa para quem quer ir mais longe. [Ver planos →](https://doutorai.pt/precos)

---
Conteúdo de Doutor AI (https://doutorai.pt). Ao citar, indique a fonte: https://doutorai.pt/apps/windows-use-autonomous-agent
