Skip to main content
Glama
KalyelNLaurindo

PromptEngine-AI MCP

README.md
<p align="center">
  <h1 align="center">🤖 PromptEngine.AI — Eliezer TUI</h1>
  <p align="center"><b>Engine de Engenharia de Prompt & Orquestração de Agentes com Persona Irônica (TUI / MCP / Ollama / Gemini)</b></p>
  <p align="center">
    <i>Uma ferramenta de elite para avaliar a qualidade de instruções de entrada, eliminar ambiguidades e refatorar prompts para agentes autônomos em tempo real.</i>
  </p>
</p>

<p align="center">
  <a href="https://www.python.org"><img src="https://img.shields.io/badge/Python-3.11+-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="Python 3.11+" /></a>
  <a href="https://ollama.com"><img src="https://img.shields.io/badge/Ollama-Local_LLM-000000?style=for-the-badge&logo=ollama&logoColor=white" alt="Ollama" /></a>
  <a href="https://deepseek.com"><img src="https://img.shields.io/badge/DeepSeek_R1-8B_Reasoning-00F0FF?style=for-the-badge&logo=ai&logoColor=white" alt="DeepSeek R1" /></a>
  <a href="https://textual.textualize.io"><img src="https://img.shields.io/badge/Textual-TUI_Engine-7aa2f7?style=for-the-badge&logo=terminal&logoColor=white" alt="Textual TUI" /></a>
  <a href="https://rich.readthedocs.io"><img src="https://img.shields.io/badge/Rich-Console_Render-bb9af7?style=for-the-badge&logo=pypi&logoColor=white" alt="Rich" /></a>
  <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-Model_Context_Protocol-8A2BE2?style=for-the-badge&logo=anthropic&logoColor=white" alt="MCP Protocol" /></a>
  <a href="https://google.dev"><img src="https://img.shields.io/badge/Google_GenAI-Gemini_SDK-4285F4?style=for-the-badge&logo=google&logoColor=white" alt="Google GenAI SDK" /></a>
  <a href="https://nvidia.com"><img src="https://img.shields.io/badge/NVIDIA_RTX-3060_Ti_Acceleration-76B900?style=for-the-badge&logo=nvidia&logoColor=white" alt="NVIDIA RTX 3060 Ti" /></a>
</p>

<p align="center">
  <b>Navegação Rápida:</b><br>
  <a href="#-visão-geral-do-projeto">🎯 Visão Geral</a> •
  <a href="#-persona-eliezer">🎭 Persona Eliezer</a> •
  <a href="#-arquitetura-do-sistema">🏛️ Arquitetura</a> •
  <a href="#-funcionalidades-principais">⚡ Funcionalidades</a> •
  <a href="#-guia-de-instalação--execução">⚙️ Guia de Execução</a> •
  <a href="#-licença--governança">🛡️ Licença</a>
</p>

---

> [!WARNING]
> **VERSÃO EM DESENVOLVIMENTO (WORK IN PROGRESS - BETA v0.9.0):**
> Este projeto não é uma versão final estática. Ele está em constante evolução no repositório de portfólio para incorporar novos aprendizados, refinamento de metaprompts e novos conectores MCP.

---

## 🎯 Visão Geral do Projeto

<table align="center">
  <tr>
    <td width="30%" align="center">
      <h2>🤖 ELIEZER</h2>
      <b>Prompt Engineer Agent</b><br>
      <i>Sarcástico, Irônico & Ultra-Técnico</i>
    </td>
    <td width="70%">
      <b>PromptEngine.AI</b> é um agente orquestrador projetado para atuar como um <b>filtro de qualidade de comandos</b> antes que ordens brutas sejam disparadas para agentes de software autônomos ou subagentes.<br><br>
      Ele analisa instruções em <b>5 dimensões críticas</b> (Clareza, Especificidade, Contexto, Restrições e Actionability), detecta ambiguidades e gera a versão refatorada do prompt em formato XML/Markdown pronto para uso.
    </td>
  </tr>
</table>

> [!NOTE]
> **Metáfora Operacional:** Pense no PromptEngine.AI como o "Revisor Mestre de Instruções". Ele impede que ordens vagas gerem respostas de baixa qualidade, economizando tempo e consumo desnecessário de tokens.

---

## 🎭 Persona Eliezer

O agente adota a persona **Eliezer**:
- **Tom de Comunicação:** Sarcástico, pragmático e sem paciência para prompts medíocres ou sem contexto.
- **Diálogo e Esclarecimentos:** Utiliza comentários irônicos e emojis no terminal para pontuar falhas de especificidade do usuário.
- **Saída Otimizada (Clean Output):** O prompt refatorado final é entregue **100% limpo, sem emojis e sem ironias**, no formato XML/Markdown estrito pronto para cópia em produção.

---

## 🏛️ Arquitetura do Sistema

```text
┌────────────────────────────────────────────────────────────────────────────────────────┐
│                              PROMPTENGINE.AI ARCHITECTURE                              │
├────────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                        │
│  [Usuário / Input] ──► [Eliezer TUI (Textual + Rich)] ──► [PromptEvaluator Engine]    │
│                            (Tela Cheia / Terminal)            (Avaliação 5D Pydantic)  │
│                                                                        │               │
│                                                                        ▼               │
│  [Servidor MCP Protocol] ◄──────────────────────────────── [LLM Provider Abstraction] │
│  (Ferramentas OpenWebUI)                                    (Google GenAI / Ollama)    │
│                                                                        │               │
│                                                                        ▼               │
│                                                            [DeepSeek-R1 8B (Disco D)]  │
│                                                            (NVIDIA RTX 3060 Ti VRAM)   │
└────────────────────────────────────────────────────────────────────────────────────────┘
```

---

## ⚡ Funcionalidades Principais

| Ícone & Recurso | Descrição Técnica |
| :--- | :--- |
| 📊 **Scorecard de 5 Dimensões** | Avalia Clareza, Especificidade, Contexto, Restrições e Actionability (0 a 10) com barras visuais em Rich. |
| ⚠️ **Detecção de Ambiguidades** | Mapeia termos vagos, premissas implícitas e lacunas na instrução do usuário. |
| ❓ **Perguntas de Alinhamento** | Gera perguntas estratégicas para sanar dúvidas antes do acionamento do agente destino. |
| ✨ **Refatorador de Prompt XML** | Gera a versão final da ordem estruturada em tags `<contexto>`, `<instrucao>`, `<restricoes>` e `<formato_saida>`. |
| 💻 **TUI Interativa em Tela Cheia** | Interface construída com `textual` e `rich` com suporte a teclado, formulários e temas escuros. |
| 🔌 **Servidor MCP Protocol** | Exposição nativa de ferramentas JSON-RPC para OpenWebUI, Claude Desktop e Cursor. |
| 🏠 **Raciocínio Local (Ollama + Disco D)** | Suporte nativo ao modelo **DeepSeek-R1 8B** rodando na GPU (NVIDIA RTX 3060 Ti) armazenado no SSD `D:\OllamaModels`. |

---

## 🧭 Estrutura do Repositório

```text
prompt-eval-agent/
├── LICENSE                      # Licença Open-Source MIT
├── PRD.md                       # Product Requirement Document
├── SDD.md                       # Software Design Document
├── README.md                    # Este arquivo
├── rodar_agente.bat             # Atalho de duplo clique no Windows
├── requirements.txt             # Dependências Python (textual, rich, google-genai, mcp)
└── src/
    ├── main.py                  # Entrypoint principal (Lança a TUI Eliezer)
    ├── main_cli.py              # CLI legado (Modo terminal simples)
    ├── mcp_server.py            # Servidor de ferramentas MCP Protocol
    ├── engine/
    │   ├── evaluator.py         # Motor central de avaliação
    │   ├── models.py            # Esquemas Pydantic
    │   └── prompt_templates.py  # Metaprompts da persona Eliezer
    ├── providers/
    │   ├── base.py              # Interface abstrata de LLM
    │   ├── google_provider.py   # Provedor Google GenAI SDK (Gemini 2.5 Flash)
    │   └── ollama_provider.py   # Provedor Ollama Local (DeepSeek R1 8B)
    └── ui/
        ├── __init__.py
        └── tui_app.py           # Aplicação TUI em Textual + Rich
```

---

## ⚙️ Guia de Instalação & Execução

### 1. Clonar e Acessar o Repositório
```bash
git clone https://github.com/SEU_USUARIO/PromptEngine-AI.git
cd PromptEngine-AI
```

### 2. Configurar o Ambiente Virtual Python
```powershell
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt
```

### 3. Executar o Agente

#### 🖱️ Opção A (Windows — 2 Clicks):
Basta dar duplo clique no arquivo **`rodar_agente.bat`**.

#### 💻 Opção B (Linha de Comando TUI):
```powershell
python -m src.main --provider ollama --model deepseek-r1:8b
```

#### 🔌 Opção C (Servidor MCP para OpenWebUI / Claude):
```powershell
python -m src.mcp_server
```

---

## 🛡️ Licença & Governança

Este projeto é disponibilizado sob a licença **[MIT License](LICENSE)**.

---

<p align="center">
  <b>Autor:</b> Kalyel N. Laurindo | Software Engineer & AI Builder<br>
  <i>Projeto desenvolvido para o Portfólio de IA & Engenharia de Prompt</i>
</p>