A friend suggested a mesh node could answer a question for you. I wanted to see if I could actually build it, so I set one up to answer a direct message with a short Wikipedia summary.
Here is the setup in action — a wiki soccer request and the reply coming back in two parts:

How It Works
handheld → "wiki soccer" → base station → bridge service → Wikipedia → Hermes → DMs back
The node. A fixed LoRa node at the house receives the requests.
The bridge. A small service on the home server keeps a connection to that node and reads the packets it hands over. It only reacts to a direct message addressed to the base station that starts with wiki and at least one word. Broadcasts are ignored, and replies go back to the node that asked.
The lookup. The bridge does the Wikipedia search itself and passes the article summary to Hermes. Nothing else is used as a source.
The assistant. Hermes writes the reply: two or three short sentences, plain ASCII, no markdown, no links, and nothing about the infrastructure behind it.
Sending the Replies
This part took a few tries. My first version pushed all three messages at the radio back to back and only the first one arrived.
LoRa direct messages wait for an acknowledgement, and a pending message to the same node gets replaced if another one is pushed behind it. The fix was to send one message, wait for its own ack, pause a couple of seconds, then send the next.
Guardrails
- direct messages only, never broadcasts
- duplicate packets and repeated topics dropped, with a minimum gap between answers
- three messages maximum, 140 characters each
- anything that looks like an address, hostname, or device name is stripped before sending
What’s Next
Two things I am considering. One is opening it up: right now it only answers me, and I may share it with the rest of the mesh so anyone who wants to can ask it something. The other is a log, so I can see who is asking for what and which topics actually get used.