Herramienta de línea de comandos
bsbot gestiona tus bots y sus handles name.bluesky.bot desde una terminal:
las mismas acciones que el panel, para scripts y para quienes viven
en una shell. Funciona en macOS y Linux con Node.js 22 o posterior.
npm install --global @blueskydotbot/cli
bsbot loginEl paquete npm se llama @blueskydotbot/cli y el comando que instala es
bsbot. Para ejecutarlo sin instalarlo: npx @blueskydotbot/cli login
(o pnpm dlx @blueskydotbot/cli, yarn dlx @blueskydotbot/cli,
bunx @blueskydotbot/cli).
El paquete aún no está en npm. Hasta entonces, ejecútalo desde una copia del
proyecto: node packages/cli/src/bin.ts <command> (Node.js 24).
Iniciar sesión
bsbot login abre bluesky.bot en tu navegador. Inicia sesión con Bluesky como
siempre (ninguna contraseña pasa nunca por la terminal), comprueba el nombre
de máquina que muestra la página y elige Autorizar. El navegador devuelve
un código de un solo uso a la CLI en tu propia máquina, y la CLI guarda su
token.
- El token dura 30 días. Después, vuelve a ejecutar
login. - Se guarda en
~/.config/bsbot/credentials.json(o$XDG_CONFIG_HOME/bsbot/), legible solo por ti. Nunca se muestra, ni siquiera con--json. - Solo puede gestionar los handles de tus bots. No puede publicar, seguir, leer tu cuenta de Bluesky, cambiar tus ajustes ni eliminar tu cuenta.
--name <label>da nombre a la máquina en tus ajustes (por defecto, su nombre de host), p. ej.bsbot login --name "CI".- En una máquina sin navegador, añade
--no-browsery abre en otro sitio el enlace que aparece; el navegador debe poder llegar a la máquina de la CLI, por ejemplo conssh -L.
Para dejarlo: bsbot logout revoca el token. También puedes revocar cualquier
máquina en Ajustes → Acceso CLI del panel, y Cerrar sesión en todas
partes revoca todos los tokens a la vez.
Comandos
| Comando | Qué hace |
|---|---|
whoami | La cuenta con la que has iniciado sesión, y cuándo caduca el token |
bots | Tus bots, su handle y si está activo |
check <name> | Si <name>.bluesky.bot está libre (sin iniciar sesión) |
claim <bot> <name> | Reclama <name>.bluesky.bot para un bot y se lo aplica |
switch <bot> | Vuelve a pedir al servidor del bot que use su handle |
verify <bot> | Comprueba que el handle está activo en Bluesky |
release <bot> | Libera el handle; pide confirmación, o añade --yes |
directory | Recorre el directorio público: --q, --category, --verified, --limit, --cursor |
<bot> es el DID de un bot, su handle, su handle anterior (antes de tener uno
.bluesky.bot) o simplemente el nombre: weather para
weather.bluesky.bot. Los bots nuevos se añaden desde el panel:
hace falta iniciar sesión en la propia cuenta del bot.
bsbot check weather
bsbot claim weather.bsky.social weather
bsbot verify weatherLas reglas son las del panel: nombres de 3 a 30 caracteres, nombres reservados, un breve periodo de gracia para los handles liberados y el mismo límite de cambios de handle por hora, compartido entre el panel y la CLI.
Scripts
Todos los comandos aceptan --json: la respuesta de la API en
stdout, y {"error": {"code", "message"}} en stderr cuando fallan. El código
de salida es 0 si todo va bien, 1 ante un error y 2 ante un uso
incorrecto.
bsbot bots --json | jq -r '.bots[] | select(.verifiedAt == null) | .did'Por debajo, la CLI llama a las rutas /me/* de la API con su token
(Authorization: Bearer). Aparecen en la referencia de la API.