A simple Bluesky bot to make sense of the noise, with responses powered by Gemini, similar to Grok.
README.md

Aero #

A simple Bluesky bot to make sense of the noise, with responses powered by any model on OpenRouter, similar to Grok. Built with the @skyware/bot library. Aero can look at the images in a post (and video thumbnails), so the model needs vision support. Set ENABLE_VISION=false if yours doesn't have it. If TINYFISH_API_KEY is set, the model can also search the web and read pages through TinyFish. It can search and browse Bluesky itself too, and cites the pages and posts it relied on as numbered links, like [1].

How to Use #

In public: tag the bot under a post, or in a reply to one (for example "@aero.indexx.dev is this true?"), and it replies right there. It answers about the post you replied to, the post you quoted, or your own post if it's neither. Public replies are kept short.

In DMs:

  • Find a post you want to ask about
  • Start a conversation by sending a link to the post and your initial query to the @aero.indexx.dev account. ..after a few seconds, you'll get a response to your query!

For any further queries:

  • You don't need to resend the post link, just send the message like normal. Want to compare posts? Send another link and it joins the chat (Aero keeps the last three). /reset clears everything so you can start on something new.
  • Each account gets a daily query limit (15 by default, DAILY_QUERY_LIMIT), counted over a rolling 24 hours. There is also a short burst limit, and only one message is handled at a time.

Commands: /summarize, /factcheck, /reset, /usage, /delete and /help. Aero also lets you know when you're nearly out of queries.

All messages are stored in the database just to make the process simpler so I don't have to deal with cursors or accidentally including messages that shouldn't be included in the context window. Send /delete confirm to permanently erase everything stored about you. Only a timestamp of each query is kept, to enforce the daily limit.