9042110ea2
Cinco issues que componen el plan: - 0026: sistema de jobs (infra, contrato wire) - 0027: tipo Webpage + cache de documentos - 0028: enricher fetch_webpage (MVP end-to-end) - 0028b: enrichers extract_domain / extract_links / extract_text_entities - 0029: variantes CDP (Chrome headless, screenshot) - 0030: macro "Deep enrich" + expand_domain Tambien anade los issues previos 0012-0025 que estaban untracked. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
---
|
|
id: 0020
|
|
title: Ingesta via email forwarding y bot Telegram/Signal
|
|
status: pending
|
|
priority: low
|
|
created: 2026-05-01
|
|
depends_on: [0012]
|
|
---
|
|
|
|
## Objetivo
|
|
|
|
Ingerir entidades sin estar delante del PC. Util para capturar cosas
|
|
sobre la marcha (movil, lectura en otra pantalla, conversaciones).
|
|
|
|
## Canales
|
|
|
|
- **Email**: direccion dedicada (mailbox o alias) que se chequea via
|
|
IMAP cada N minutos. Adjuntos -> ingesta como en 0015. Cuerpo ->
|
|
extract.
|
|
- **Bot Telegram/Signal**: forwardear un mensaje, una imagen, o escribir
|
|
comandos (`/add empresa Acme`, `/relate Acme owns Bravo`). El bot
|
|
habla con el endpoint 0012.
|
|
|
|
## Alcance
|
|
|
|
- Cliente IMAP minimo o uso de un MTA local (postfix+dovecot) que
|
|
redirija a un script.
|
|
- Bot Telegram: BotFather + python-telegram-bot o equivalente Go (vive
|
|
en `apps/<bot_name>/` con tag `service`).
|
|
- Auth: solo procesar mensajes de chat IDs / direcciones whitelisted en
|
|
config.
|
|
- Confirmacion: el bot responde con preview ("¿añado estas 3 entidades?
|
|
responde 'si' o 'no'") antes de commit.
|
|
|
|
## Decisiones
|
|
|
|
- Bot self-hosted (no SaaS) — corre como service en VPS o en el PC.
|
|
- Multiples grafos: el bot puede targetear distintos `operations.db`
|
|
segun el chat de origen (mapping en config).
|
|
|
|
## Definicion de hecho
|
|
|
|
- Reenvio un PDF a la direccion dedicada y, en menos de 2 minutos, veo
|
|
las entidades en el grafo con notificacion del bot.
|
|
- El bot rechaza mensajes de chat IDs no autorizados sin responder.
|
|
- Comando `/search Acme` desde el bot devuelve hits del grafo.
|