Loading video...
Video Failed to Load
Everything is a stream. In Unix, "everything is a file" was always really "everything is a stream": stdin, stdout, and the pipe. Today we're launching Ante v0.2.0: our first numbered SemVer release, stabilizing the wire protocol that decouples the agent engine from the interface. 🧵👇
843,426 views • 1 month ago •via X (Twitter)
25 Comments

The UI and prompts belong to the user. Most coding agents lock you into their terminal, their window, or their proprietary IDE. They treat the interface as their moat. We take the opposite stance: we are there to serve.

Plugins at the surface. Streams at the seams. UI and prompts are where the user is the oracle: instant feedback, infinite malleability. The agent core is brutal to verify: eval sweeps burning billions of tokens. Don't fuse them together. Plugin the surface. Protect the plugged.

`ante serve`: we are literally there to serve. Ante runs headless across stdio, local Unix domain sockets, and WebSockets: • Operations go in (prompts, tool approvals, interrupts) • Events come out (token deltas, tool activity, diff previews)

1. Build your own coding agent harness (`mini-tui`) Because the UI belongs to you, Ante's `mini-tui` is a one-file Rust client: streaming tokens, inline tool lifecycle, interactive y/n approvals, and Esc interrupt.

2. Integrate with your IDE or orchestrator (`ante-acp`) Editors like Zed and JetBrains talk Agent Client Protocol (ACP). `ante-acp` maps ACP requests directly to Ante's engine over stdio. Live diffs and native permission dialogs—without modifying the core engine (WIP in repo).

3. Build your own claw-like personal assistant (`ante-gateway`) Run Ante as a multi-channel bot in Slack and Discord over a shared Unix socket. Every thread or DM gets an isolated session. In-chat approvals (yes/no), task stops, and workspace controls. Your team owns chat; Ante serves the run.

Read the full architecture essay: Explore the code & build your own harness: Protocol spec:

The idea of separating the agent engine from the interface makes a lot of sense.

Unix energy but for agents. Clean launch, Monk Zero

Tool approvals, interrupts, and diffs all become easier to trust when the communication model stays visible and simple.

Stream is good, I like Kafka a lot

“Everything is a stream” is a much better agent abstraction than another tool-calling diagram.

This is cool

Thank you!

Thanks for sharing this

streaming concepts are powerful, but they can complicate debugging at times

Una evolución muy interesante: convertir todo en streams hace que la arquitectura sea mucho más flexible y desacoplada.

The engine/UI split is the moment a tool becomes infrastructure. That's the interesting part of this release.

love the unix philosophy here

Love this take framing everything as a stream makes the Unix philosophy click, and stabilizing the wire protocol in v0.2.0 is a huge milestone!

The separation between the engine and the interface is the part that feels most important. It gives builders room to improve the workflow without rebuilding the intelligence underneath.

A clean stream boundary makes agent interfaces feel less like a locked product and more like infrastructure people can shape.

A stable wire protocol is a really useful step for the project.

stabilizing the wire protocol can really improve efficiency in data handling

Huge congrats on Ante v0.2.0 stabilizing the wire protocol is a massive milestone


