diff --git a/portfolio/configmap-html.yaml b/portfolio/configmap-html.yaml index 09e2163..76394c5 100644 --- a/portfolio/configmap-html.yaml +++ b/portfolio/configmap-html.yaml @@ -1,326 +1,148 @@ apiVersion: v1 +data: + index.html: "\n\n\n \n \n ChemaVX\n \n\n\n\n + \
\n
C
\n

ChemaVX

\n

\n + \ Homelab · k3s · Self-hosted\n

\n
\n\n + \ \n
\n + \

Services

\n
\n + \ \n \U0001F4CA\n Grafana\n \n \n ⚙️\n n8n\n + \ \n \n \U0001F3E0\n + \ Homarr\n \n \n + \ \U0001F4C8\n Polymarket + Bot\n \n \n \U0001F916\n + \ Open WebUI\n \n \n \U0001F419\n Gitea\n + \ \n \n \U0001F504\n + \ ArgoCD\n \n \n + \ \U0001F510\n Vaultwarden\n + \ \n
\n
\n\n \n
\n + \

Projects

\n
\n + \ \n \U0001F6F8\n + \ ze\n \n
\n
\n\n + \ \n
\n

Polymarket + Bot — Live

\n
\n
\n + \
\n \U0001F4C8\n Portfolio + Summary\n PAPER\n + \
\n Loading…\n
\n + \
\n
\n
P&L
\n
\n
\n
\n
Win Rate
\n
\n
\n
\n
Deployed
\n
\n
\n
\n
Trades
\n
\n
\n
\n
Bankroll
\n
\n
\n
\n
Sharpe
\n
\n
\n
\n
Calibration
\n
\n
\n
\n + \
Status
\n
\n
\n
\n
\n + \
\n\n \n\n \n\n\n" kind: ConfigMap metadata: name: portfolio-html namespace: portfolio -data: - index.html: | - - - - - - ChemaVX - - - - -
-
C
-

ChemaVX

-

- Homelab · k3s · Self-hosted -

-
- - -
-

Services

-
- - 📊 - Grafana - - - ⚙️ - n8n - - - 🏠 - Homarr - - - 📈 - Polymarket Bot - - - 🤖 - Open WebUI - - - 🐙 - Gitea - - - 🔄 - ArgoCD - - - 🔐 - Vaultwarden - -
-
- - -
-

Polymarket Bot — Live

-
-
-
- 📈 - Portfolio Summary - PAPER -
- Loading… -
-
-
-
P&L
-
-
-
-
Win Rate
-
-
-
-
Deployed
-
-
-
-
Trades
-
-
-
-
Bankroll
-
-
-
-
Sharpe
-
-
-
-
Calibration
-
-
-
-
Status
-
-
-
-
-
- - - - - - diff --git a/portfolio/configmap-ze-manual.yaml b/portfolio/configmap-ze-manual.yaml new file mode 100644 index 0000000..b7f44e1 --- /dev/null +++ b/portfolio/configmap-ze-manual.yaml @@ -0,0 +1,341 @@ +apiVersion: v1 +data: + index.html: "\n\n\n\n\nze + — Manual · Zona de Exclusión\n\n\n\n\n
\n\n
\n + \
\n
\n Zona de Exclusión\n v1.0 + · @ZonaDeExclusion\n
\n

ze — Manual de instrucciones

\n + \

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

\n
\n\n + \ \n\n \n
\n
\n + \ 01\n

Instalación

\n
\n\n + \

Dependencias del sistema

\n
# Linux
+    X11\nsudo apt install xclip\n\n# Linux Wayland\nsudo apt install wl-clipboard
\n\n + \

Dependencias Python

\n
cd ze-promote\npip
+    install -r requirements.txt
\n\n

Variables de entorno

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

Instalar + el comando ze

\n
bash install.sh\nsource
+    ~/.bashrc   # o ~/.zshrc si usas zsh
\n

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

\n
\n\n
\n\n + \ \n
\n
\n + \ 02\n

Uso rápido

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

Modo búsqueda

\n
\n\n + \

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

\n\n + \
\n
\n
\n + \ ze — arranque\n
\n
\n
$ ze
\n + \
\n
── Zona de Exclusión — Promotion + Tool ──
\n
\n
+ 9 artículos del blog cargados | + \ 68 resultados encontrados
\n
\n + \
\n\n

La tabla de resultados

\n

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

\n\n
\n
\n + \
\n tabla de resultados\n + \
\n
\n + \
# Score Acción Src Autor + \ Stats Fecha
\n
1 + \ 78 ✅ Responder + \ r/UFOs u/uap_tracker ↑312 \U0001F4AC7 16/05 09:00
\n + \
2 53 ✅ + Responder \U0001D54F @DocAlienista ♥5.5K + \U0001F4AC8 \U0001F501589 13/05 18:57
\n
3 + \ 45 ⚠️ Opcional + \ r/UFOs u/someone ↑60 \U0001F4AC24 15/05 19:11
\n + \
4 22 ❌ + Saltar r/UFOs u/another ↑5 \U0001F4AC199 + \ 15/05 16:08
\n
\n
\n\n

Recomendación + automática

\n \n \n \n \n + \ \n \n \n \n \n \n \n \n \n \n \n + \ \n \n + \
IndicadorCondiciónPor + qué
✅ ResponderScore ≥ 40 y < 15 comentariosPoca competencia, + buena visibilidad garantizada
⚠️ OpcionalScore ≥ 40 y + 15-80 comentariosPuede merecer la pena si el contenido encaja + muy bien
❌ + SaltarScore < 40, >80 comentarios o post de opiniónDemasiado ruido o sin contexto factual para responder
\n\n

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

\n\n

Navegar por los resultados

\n

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

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

Generación de respuestas

\n
\n\n + \

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

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

URL de destino

\n + \

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

\n\n + \
\n
\n
\n + \ url de destino\n
\n
\n
✓ Copiado al + portapapeles
\n
\n
╭──────────────────────────────────────────────────╮
\n + \
→ Pega + tu respuesta aquí:
\n + \
https://reddit.com/r/UFOs/comments/abc123/ + \
\n
╰──────────────────────────────────────────────────╯
\n + \
\n
\n\n

Links automáticos del blog

\n

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.

\n + \
\n\n
\n\n \n
\n
\n 05\n + \

Modo manual

\n
\n\n

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

\n\n + \
ze --manual\n# o\nze -m
\n\n
\n
\n
\n + \ flujo manual\n
\n
\n
$ ze + --manual
\n
\n
Pega + el texto del tweet o post (línea vacía para terminar):
\n
Estados Unidos desclasifica 162 archivos UAP...
\n + \
[línea vacía]
\n
\n + \
Fuente (t=Twitter, r=Reddit): t
\n
\n
Generando + respuesta…
\n
\n
\n
\n\n
\n\n + \ \n
\n
\n + \ 06\n

Opciones de línea de comandos

\n + \
\n\n \n \n + \ \n + \ \n \n \n \n \n
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
\n\n
ze
+    --no-twitter          # solo Reddit, útil sin GETX_API_KEY\nze --limit 15            #
+    ver solo el top 15\nze -m                    # modo manual\nze --no-reddit --limit
+    5 # solo los 5 mejores tweets
\n
\n\n
\n\n + \ \n
\n
\n + \ 07\n

Algoritmo de scoring

\n + \
\n\n

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

\n\n
\n
\n Engagement\n + \ 0–40 pts\n
\n
\n
\n Recencia\n 0–30 pts\n
\n
\n + \
\n Idioma español\n + \ 0–20 pts\n
\n
\n + \
\n Competencia + baja\n 0–10 pts\n
\n
\n + \
\n\n \n \n + \ \n + \ \n \n \n
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
\n\n + \

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.

\n
\n\n
\n\n + \ \n
\n
\n + \ 08\n

Personalizar búsquedas

\n + \
\n\n

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

\n\n
# Queries
+    para X/Twitter (texto plano, sin operadores avanzados)\nTWITTER_QUERIES = [\n
+    \   \"UAP OVNI desclasificacion 2026\",\n    \"OVNI España avistamiento\",\n    \"UAP
+    disclosure Pentagon\",\n]\n\n# Subreddits y queries para Reddit\nREDDIT_SEARCHES
+    = [\n    (\"UFOs\", \"UAP\"),\n    (\"HighStrangeness\", \"UAP\"),\n    (\"conspiracyespanol\",
+    \"OVNI\"),\n    (\"es\", \"OVNI avistamiento\"),\n    # añade más: (\"subreddit\",
+    \"query\")\n]
\n\n

Estructura del proyecto

\n
ze-promote/\n├──
+    install.sh           # Instalador del comando ze\n├── main.py              # Punto
+    de entrada CLI\n├── ze_promote/\n│   ├── scraper.py       # Scraping de zonadeexclusion.com\n│
+    \  ├── sources.py       # Búsqueda en X y Reddit\n│   ├── scorer.py        # Algoritmo
+    de scoring 0-100\n│   ├── responder.py     # Generación de respuestas con Claude\n│
+    \  └── ui.py            # Interfaz Rich (tabla, paneles, prompts)\n├── requirements.txt\n├──
+    .env.example\n└── README.md
\n
\n\n \n\n
\n\n\n" +kind: ConfigMap +metadata: + name: ze-manual-html + namespace: portfolio diff --git a/portfolio/deployment.yaml b/portfolio/deployment.yaml index e735d4f..6055c7a 100644 --- a/portfolio/deployment.yaml +++ b/portfolio/deployment.yaml @@ -21,6 +21,8 @@ spec: volumeMounts: - name: html mountPath: /usr/share/nginx/html + - name: ze-html + mountPath: /usr/share/nginx/html/ze readinessProbe: httpGet: path: / @@ -38,3 +40,6 @@ spec: - name: html configMap: name: portfolio-html + - name: ze-html + configMap: + name: ze-manual-html