4 ms·
I have recently picked up XMPP as my agent communication layer, and its worked great. Each pi agent is given an account and wrapped in an XMPP client[0] that le
by pavo-etc 1mo ago
I have recently picked up XMPP as my agent communication layer, and its worked great. Each pi agent is given an account and wrapped in an XMPP client[0] that lets it speak to me and other agents when needed.
This has worked well since I can spin up new accounts on demand and I can use existing server software (ejabberd, perfect) and clients (Fluux, great; Conversations, okay). I've had to make a few custom modifications to each client to make agent comms a bit nicer (e.g. exposing status messages more prominently since I use that to expose current agent commands), but the XMPP layer has had pretty much everything I could have wanted.
Controlling a chat service is a bit intoxicating, I'm now using it as my notification service over a bunch of different projects.
I used Google Chat way back, its nice that the tech is still around and great as ever.
[0]: https://github.com/zachpmanson/pi-msg https://github.com/zachpmanson/pi-msg
- gatlin 1mo agoAmazing! Perhaps my project here would interest you. Also do you have bonjour support? https://github.com/gatlin/pii https://github.com/gatlin/pii
- pavo-etc 1mo agoPii is interesting! pi-msg doesn't support bonjour, I'm running it on a nixos server (nix is the real secret ingredient of my whole setup) the xmpp server is the same machine as the agents. I'm almost always on a different network to the one where the server is. If the server goes down the agents and ejabberd are coming down simultaneously.
- tehnoslow 1mo agoCool use case with the agents, hadn't thought of that
- dhc02 1mo agoThis is really neat. I've recently been watching people use custom pi harnesses and thinking of jumping in, but I was dreaming of a way to do essentially what pi-msg does so that I could drive it remotely in a more full-featured way. Thanks for sharing.
- pavo-etc 1mo agoThanks! I had the same urge, I didn't want to be responsible for an entire GUI and communication layer but I did want to have a remotely controllable extensible harness, this was the perfect middle ground. The benefit beyond that was having agents running on my server directly so they can do a lot of sysadmin and monitoring tasks, as well as suggesting config changes through PRs to my nix config.
- dhc02 1mo agoLetting the agents bang their heads against the wall hunting down a config fix for a random malfunctioning piece of my homelab instead of me is by far my favorite part of the AI present.