Zona de Exclusión v1.0 · @ZonaDeExclusion

ze — Manual de instrucciones

Herramienta CLI para gestionar la presencia en X y Reddit. Busca, puntúa y genera respuestas con IA usando el contenido del blog.

01

Instalación

Dependencias del sistema

# Linux X11
sudo apt install xclip

# Linux Wayland
sudo apt install wl-clipboard

Dependencias Python

cd ze-promote
pip install -r requirements.txt

Variables de entorno

cp .env.example .env
# Edita .env con tus claves
VariableNecesariaPara qué
ANTHROPIC_API_KEYGenerar respuestas con Claude
GETX_API_KEYNoBúsquedas en X/Twitter. Sin ella solo funciona Reddit

Instalar el comando ze

bash install.sh
source ~/.bashrc   # o ~/.zshrc si usas zsh

Crea el alias ze en tu shell y el ejecutable /usr/local/bin/ze. Después puedes usar ze desde cualquier directorio.


02

Uso rápido

🔍
Búsqueda automática
Busca en X y Reddit, puntúa resultados y genera respuestas.
✍️
Modo manual
Pega cualquier tweet o post para generar una respuesta directamente.
⚙️
Flexible
Filtra por fuente, limita resultados o desactiva Twitter si no tienes clave.
chemavx@chemavx-k8
$ ze
$ ze --manual
$ ze --no-twitter
$ ze --limit 10
$ ze --help

03

Modo búsqueda

Al arrancar sin flags, el programa hace tres cosas automáticamente:

ze — arranque
$ ze

── Zona de Exclusión — Promotion Tool ──

9 artículos del blog cargados | 68 resultados encontrados

La tabla de resultados

Cada resultado muestra: score, recomendación automática, fuente, autor, preview del contenido, estadísticas y fecha.

tabla de resultados
# Score Acción Src Autor Stats Fecha
1 78 ✅ Responder r/UFOs u/uap_tracker ↑312 💬7 16/05 09:00
2 53 ✅ Responder 𝕏 @DocAlienista ♥5.5K 💬8 🔁589 13/05 18:57
3 45 ⚠️ Opcional r/UFOs u/someone ↑60 💬24 15/05 19:11
4 22 ❌ Saltar r/UFOs u/another ↑5 💬199 15/05 16:08

Recomendación automática

IndicadorCondiciónPor qué
✅ Responder Score ≥ 40 y < 15 comentarios Poca competencia, buena visibilidad garantizada
⚠️ Opcional Score ≥ 40 y 15-80 comentarios Puede merecer la pena si el contenido encaja muy bien
❌ Saltar Score < 40, >80 comentarios o post de opinión Demasiado ruido o sin contexto factual para responder

Los posts de opinión ("what do you think", "¿qué pensáis?", "debate", "CMV"…) se descartan automáticamente.

Navegar por los resultados

Tras la tabla, el programa muestra cada post con su panel de detalle:

panel de detalle
╭── Reddit r/UFOs ● 78 pts u/uap_tracker 1/15 ──╮
Pentagon releases new UAP footage from 2023
│ │
↑ 312 upvotes | 💬 7 comentarios · 16/05 09:00
https://reddit.com/r/UFOs/comments/abc123/
│ │
Recomendación: ✅ Responder
╰───────────────────────────────────────────────────╯
Acción (R/S/Q):
TeclaAcción
rGenerar respuesta con Claude
sSaltar al siguiente resultado
qSalir

04

Generación de respuestas

Al pulsar r, Claude genera una respuesta teniendo en cuenta:

respuesta generada
╭─── Respuesta generada ──────────────────────────────╮
Ruppelt dirigió Blue Book 1951-53, su etapa más
activa. Un briefing clasificado del 52 sería
historia UAP fundamental. 30 días para saberlo.
│ │
187/240 caracteres ✓
╰─────────────────────────────────────────────────────╯
Respuesta (C/E/S):
TeclaAcción
cCopiar al portapapeles
eEditar inline antes de copiar
sDescartar y pasar al siguiente

URL de destino

Tras copiar, el programa muestra exactamente dónde pegar la respuesta:

url de destino
✓ Copiado al portapapeles

╭──────────────────────────────────────────────────╮
→ Pega tu respuesta aquí:
https://reddit.com/r/UFOs/comments/abc123/
╰──────────────────────────────────────────────────╯

Links automáticos del blog

Claude compara el tema concreto del post con los artículos publicados. Si hay solapamiento real, incluye la URL del artículo de forma natural. Si no hay coincidencia precisa, no incluye ningún link — una respuesta sin link es mejor que un link forzado.


05

Modo manual

Para cuando encuentras algo interesante navegando manualmente — como cuando alguien te manda una captura de pantalla.

ze --manual
# o
ze -m
flujo manual
$ ze --manual

Pega el texto del tweet o post (línea vacía para terminar):
Estados Unidos desclasifica 162 archivos UAP...
[línea vacía]

Fuente (t=Twitter, r=Reddit): t

Generando respuesta…

06

Opciones de línea de comandos

FlagDescripciónEjemplo
(sin flags)Búsqueda completa en X y Redditze
--manual, -mPega texto directamente para generar respuestaze -m
--no-twitterOmitir búsquedas en X/Twitterze --no-twitter
--no-redditOmitir búsquedas en Redditze --no-reddit
--limit N, -n NMostrar solo los N mejores resultadosze -n 10
--helpMostrar ayudaze --help
ze --no-twitter          # solo Reddit, útil sin GETX_API_KEY
ze --limit 15            # ver solo el top 15
ze -m                    # modo manual
ze --no-reddit --limit 5 # solo los 5 mejores tweets

07

Algoritmo de scoring

Cada resultado recibe una puntuación de 0 a 100 basada en cuatro criterios:

Engagement 0–40 pts
Recencia 0–30 pts
Idioma español 0–20 pts
Competencia baja 0–10 pts
CriterioPuntosDetalle
Engagement0–40Likes + upvotes en escala logarítmica
Recencia0–30<6h → 30 · <24h → 22 · <48h → 12 · <72h → 5
Idioma español0–20Detectado por palabras clave en el texto
Competencia baja0–100 replies → 10 · <5 → 7 · <15 → 4 · <40 → 1

Tweets con cero engagement en las tres métricas (likes, replies y retweets todos por debajo del umbral mínimo) se descartan antes de puntuar.


08

Personalizar búsquedas

Edita ze_promote/sources.py para cambiar las queries y subreddits:

# Queries para X/Twitter (texto plano, sin operadores avanzados)
TWITTER_QUERIES = [
    "UAP OVNI desclasificacion 2026",
    "OVNI España avistamiento",
    "UAP disclosure Pentagon",
]

# Subreddits y queries para Reddit
REDDIT_SEARCHES = [
    ("UFOs", "UAP"),
    ("HighStrangeness", "UAP"),
    ("conspiracyespanol", "OVNI"),
    ("es", "OVNI avistamiento"),
    # añade más: ("subreddit", "query")
]

Estructura del proyecto

ze-promote/
├── install.sh           # Instalador del comando ze
├── main.py              # Punto de entrada CLI
├── ze_promote/
│   ├── scraper.py       # Scraping de zonadeexclusion.com
│   ├── sources.py       # Búsqueda en X y Reddit
│   ├── scorer.py        # Algoritmo de scoring 0-100
│   ├── responder.py     # Generación de respuestas con Claude
│   └── ui.py            # Interfaz Rich (tabla, paneles, prompts)
├── requirements.txt
├── .env.example
└── README.md