I’ve built something on top of Syncthing and wanted to show the people whose work it depends on.
I run coding agents across three machines. They needed a way to hand each other work — “do this”, “here’s the result”, “send it back with these notes” — and every option I found put a server in the middle, which was exactly what I didn’t want for machines on networks I don’t control.
So the channel is a Syncthing folder. Each agent writes signed files into it; Syncthing does the routing; the other machines read the files that appear. Nothing is sent, nothing listens on a port, and a machine that’s offline for a day just catches up. It’s a use of Syncthing as a coordination substrate rather than as file sync, and it has held up better than I expected.
Things I learned that might interest you: conflict files turned out to be a feature rather than a problem, because append-only artifacts make a conflict visible instead of a silent overwrite. And ordering has to come from somewhere other than arrival time, so the artifacts are hash-chained.
Ferryman bundles Syncthing unmodified (MPL-2.0, noted in THIRD_PARTY.md) and degrades gracefully when it isn’t running — it says so plainly and keeps working locally.
Repo: GitHub - estejosh/ferryman: Private coordination for a fleet of AI agents, across machines you own. Agents leave each other files; Syncthing carries them. No server, no ports, no cloud in the middle. · GitHub — source-available, free for non-production and small production use.
Happy to hear if I’m using it in a way that will bite me.