Implementations
Saturn ships seven reference implementations across five languages and four mDNS libraries (Saturn.md:976). None share Saturn-specific code; conformance is the wire format.
A post-thesis OpenCode fork (TypeScript) is also Saturn-aware but lives outside the monorepo and is not counted among the canonical seven.
Feature matrix
| Feature | Go (saturnd) |
Python (saturn-ai) |
Rust (saturn-router) |
TypeScript (ai-sdk-provider-saturn) |
Lua (vlc_extension) |
CLI (saturn) |
|---|---|---|---|---|---|---|
Browse _saturn._tcp.local. |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Resolve SRV+TXT | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Publish (run a responder) | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ |
| Priority sort + failover | ✓ | ✓ | ✓ | ✓ | partial | ✓ |
| Cloud beacon (mint JWT) | partial | ✓ | ✗ | ✗ | ✗ | ✓ |
| OpenAI HTTP client built-in | ✗ | ✓ | ✗ | ✓ | ✓ | — |
| Cross-compiles to MIPS / OpenWRT | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
| MCP surface | ✓ | ✓ | ✗ | ✗ | ✗ | — |
The same five lines in every language
Each implementation discovers the highest-priority Saturn instance and prints its endpoint. Compare side-by-side:
Per-language deep dives
Go — saturnd
Standalone daemon under saturnd/. Browses mDNS, parses TXT, re-exports discovered backends over HTTP and MCP. Built with grandcat/zeroconf. No Python required.
$ cd saturnd && go build -o saturnd ./cmd/saturnd && ./saturnd
$ curl http://localhost:7827/v1/agents
→ reference/clients/cli/cli.md
Python — saturn-ai
Reference package on PyPI. Ships the discovery library, server runtime, beacon, CLI, and Web UI. The Python SDK is the canonical implementation against which other clients are tested.
→ reference/clients/python/api.md
Rust — saturn-router
Cross-compiles to mipsel-unknown-linux-musl (~2 MB binary, 128 MB RAM target). Designed for router-edge deployment on OpenWRT — "DHCP for AI", literally.
→ reference/clients/rust-router.md
TypeScript — ai-sdk-provider-saturn
Drop-in Vercel AI SDK provider. Adds discovery, circuit breaking, and failover to any AI SDK consumer.
→ reference/clients/typescript-api.md
Lua — vlc_extension
Bridges Saturn into VLC via the dns-sd CLI. Demonstrates the protocol in a non-AI-native host application — same wire format, no shared code with the Python or Go implementations.
→ Source: vlc_extension/
MCP surface — saturn-mcp
Surfaces Saturn discovery as MCP tools so any MCP-aware agent (Claude Desktop, Cursor, Open WebUI) can browse the LAN without protocol-specific code.
→ reference/clients/mcp-tools.md
Open WebUI — owui_saturn.py
Single-file backend swap that points Open WebUI at the highest-priority Saturn endpoint.
Adding a new implementation
The wire format is the contract. To add a sixth language:
- Browse
_saturn._tcp.local.with any DNS-SD library. - Resolve SRV+TXT for instances you care about.
- Validate
version=1and parse the TXT keys. - Sort by
priority, pick the lowest healthy. - Send HTTP requests to
api_base(or constructedhost:port) per the HTTP API.
That is the entire protocol surface. → Spec v0.2