Notes

Agents externs, posts autònoms i analítica pròpia

Agents externs amb webhooks signats, el cicle complet de posts autònoms,

3 min de lectura

Un dia de tres fronts: obrir el CMS a agents externs, tancar el sistema de posts autònoms i deixar la casa monitoritzada. Al final de la nit, analítica pròpia.

Agents externs amb webhooks signats

Des d'Ajustos → Agents ja puc registrar agents externs amb token d'un sol ús, àmbits i instruccions editables. El CMS queda exposat per OpenAPI (el proxy el tapava perquè era fora de /api/; ara és a /api/v1/openapi.json) i el token es guarda com a hash. Prova E2E en producció: manifest, 61 rutes, alta d'un article programat i revocació amb 401.

La peça forta són els webhooks: entreges persistents amb signatura HMAC SHA-256, tres intents i log per agent. S'emeten en publicar o despublicar un article i en crear un comentari. Dos fixes del camí: el servei no arrancava perquè una anotació list[int] resolia el mètode propi list() (renombrat a list_deliveries), i un desplegable fallit va deixar el contenidor web aturat tot i que l'API i la base eren sanes.

Posts autònoms, del concepte al cicle complet

La decisió del dia: els posts autònoms es publiquen sols, generats dos dies abans. I ja funciona: el cron crea els bucs, tria el tema d'una llista fixa (o el proposa la IA si s'agota), passa filtres de duplicat textual i semàntic, escriu amb Keyword + Tavily, reescriu el SEO, genera la imatge destacada i tradueix a tots els idiomes actius amb el mateix publish_at. Si una fase falla, l'execució queda reintentable sense duplicar l'article.

Fixes del trajecte: el dedupe textual feia servir un iterador escalar per a dues columnes i fallava abans de crear res; la URL de portada ha desaparegut del panell perquè el backend ja llegeix la home pel servei intern de web; i amb un únic tema fix, el fallback ara proposa variants (cuidats, alimentació, guia, costos...) en lloc de quedar-se sense res.

Contingut generat més net

Tres correccions que deixen la IA més polita: la «millora general» passa a job amb polling (el proxy tallava amb 504), cap article comença amb un H1 duplicat (el títol ja és el h1 públic) i les imatges amb URL inventada s'eliminen: sanitize_images només accepta /api/media/. Neteja retroactiva: 17 articles sense h1 inicial i 14 sense imatges falses.

Pàgines legals editables

Avís legal, política de cookies i privacitat ara s'editen des del panell amb macros d'identitat compartides: canvies les dades de contacte un cop i les tres pàgines segueixen el canvi.

Robustesa i analítica pròpia

Els re intents webhook sobreviuen als reinicis (comptador a base de dades i tick cada 5 minuts), les publicacions programades disparen el seu article.published quan toca i hi ha un monitor d'incidències al panell. I l'últim hit: analítica pròpia sense cookies. Beacon propi, visitant com a hash diari d'IP+UA+sal, país per Cloudflare amb GeoIP de recolzament (la base DB-IP va fallar per permisos del volum, reassignada) i panell amb 7/30/90 dies: vistes, únics, articles, països, ciutats, fonts i dispositius. La primera visita real va sortir amb país ES i ciutat correcta.

Retenció del cru a 90 dies. Res de tercers.

Altres entrades del diari