Technology1 min read

Show HN: Apron Chat Protocol

By · Published by Everything Blog

In short

The system incorporates standard messaging features including rooms, threads, reactions, and automated agents alongside graceful fallbacks for optional capabilities. Developers can inspect multiple reference servers, ranging from a full-featured Go backend and a TypeScript Cloudflare Worker to minimal single-file scripts in Python and Bun. Client choices span a SvelteKit web app, a macOS application named SideTable, and a terminal tool called whisk. Notably, an example bot demonstrates integration simplicity by streaming GitHub pull request events in just two frames.

Key points

  • The design allows basic server implementations to be completed in roughly 100 lines of co…: The design allows basic server implementations to be completed in roughly 100 lines of code.
  • Users can interface with the network through terminal, web, and native macOS desktop appl…: Users can interface with the network through terminal, web, and native macOS desktop applications.
  • Built-in capabilities support essential chat features like threads, reactions, and low-ov…: Built-in capabilities support essential chat features like threads, reactions, and low-overhead bots.

Sources checked by our analysis pipeline: 1

Apron Chat Protocol

Apron is a minimal protocol for self-hosted chats. Simple enough to write a server in ~100 lines, powerful enough for rooms, threads, bots, reactions, and more.

For agents: apron.chat/llms.txt links the spec in Markdown, the servers, clients, JSON Schema and wire fixtures to test against.

1.The Protocol

JSON over any transport, like WebSocket. Tiny core and optional incremental capabilities with graceful fallbacks. Build only what you need.

{"method": "server", "params": {"apron": 10, "auth": ["guest"]}} {"method": "auth", "id": "c1", "params": {"scheme": "guest", "name": "Ada"}} {"id": "c1", "result": {"you": {"user_id": "guest_1234", "name": "Ada"}}} {"method": "message", "id": "c2", "params": {"body": {"text": "Hello"}}} {"method": "message", "params": {"room_id": "general", "from": {"user_id": "guest_1234"}, ...}} {"id": "c2", "result": {"message_id": "1724803200042"}}

2.Live Demo

Come say "hi" on our public demo server, or point the Apron Web client at your own server.

3.Servers

Reference implementations to run or modify for your use cases.

Goapron-server-goReference server for self-hosting. Every capability.

TypeScript · Workerapron-server-cloudflareRuns the public demo on the Cloudflare free tier.

Python · 1 filepython-minimalOne room, guests, history. uv run apron_server.py

Bun · 1 filejs-minimalThe same, no…

Technology