Skip to main content

Descripción general

Feed Generator es el mecanismo de “feeds algorítmicos” que se ejecuta sobre Bluesky. Permite publicar feeds propios adaptados a palabras clave o condiciones de usuario. Con laravel-bluesky puedes implementar fácilmente un Feed Generator dentro de una aplicación Laravel.
Tutorial oficial: Crear un feed personalizado
Starter kit oficial: bluesky-social/feed-generator

Registro del algoritmo del FeedGenerator

La forma más sencilla es registrar el algoritmo como clausura en AppServiceProvider::boot().
En name utiliza una cadena URL-safe. El valor de retorno del algoritmo es un array que contiene cursor y feed.
El paquete registra automáticamente todas las rutas necesarias.
  • http://localhost/xrpc/app.bsky.feed.getFeedSkeleton?feed=at://did:web:example.com/app.bsky.feed.generator/artisan
  • http://localhost/xrpc/app.bsky.feed.describeFeedGenerator
  • http://localhost/.well-known/did.json
  • El Service DID se genera automáticamente a partir de la URL actual (por ejemplo, did:web:example.com).
Lo único que tienes que decidir es el name del FeedGenerator y su implementación.

Publicar el feed (crear un comando)

Con solo implementar el FeedGenerator dentro de la aplicación Laravel no se publica en Bluesky. Crea un comando que invoque publishFeedGenerator y ejecútalo.
1

Genera el comando

2

Implementa el comando

3

Ejecuta el comando

Si tiene éxito, se añade un enlace a la lista de feeds del perfil de Bluesky. Como publishFeedGenerator solo actualiza información, puedes ejecutarlo tantas veces como quieras.

Crear varios FeedGenerator

Basta con cambiar el name y llamar a register varias veces para crear múltiples feeds.
En el comando de publicación llamas también varias veces a publishFeedGenerator.

Separar el algoritmo en una clase

Al usar una clase independiente en lugar de una clausura, resulta más fácil organizar el código. Crea una clase invocable que implemente el contrato FeedGeneratorAlgorithm y regístrala en AppServiceProvider.

Autenticación

La funcionalidad de autenticación del starter kit oficial viene activada por defecto. Para desactivarla, pasa a validateAuthUsing una clausura que simplemente devuelva el DID del usuario.
El feed se ve afectado por la “configuración de idioma” de la cuenta. Si el FeedGenerator recupera publicaciones pero el feed no aparece en Bluesky, revisa la configuración de idioma de la cuenta.

Uso avanzado

Si usas comandos Artisan y programación de tareas para guardar las publicaciones en la base de datos y en el algoritmo solo consultas la BD, puedes lograr un feed rápido sin llamadas a la API.
Última modificación el 13 de julio de 2026