Prospero is a coding harness in C++ that stays out of the way of your fuzzer

Chris Wellons argues a harness is 'curl glued to popen()' and built one that uses roughly two orders of magnitude fewer resources than web-stack rivals.

In brief

Prospero runs against llama.cpp, OpenRouter or the Anthropic and OpenAI APIs. Every wait has a deadline, long shell commands turn into background tasks, and stopping a command kills its whole process tree.

Thread reaction was split on the language. A C++ veteran who wrote a GUI framework said he would never have chosen C++ for an agent UI.

Deadlines instead of babysitting

Prospero's interface
Prospero's interface

Wellons's post describes a C++ and Dear ImGui harness whose core rule is "Never wait forever". Permission requests time out to a denial, network calls have timeouts, and a shell command that outruns its timeout becomes an async task the agent can check later. Stopping a command kills its entire process tree. The engine can run headless on a remote host while the UI stays on the desktop. Because it is lean, he says, a fuzzing campaign won't see the Linux OOM killer choose the harness over the fuzz target.

The Community Edition is free on GitHub with a nag message and no built-in headless engines. The Professional Edition costs a nominal fee.

C++ for a GUI full of markdown

"Agent UIs are all markdown, HTML, big scrolling lists, text flow, unicode chars, and all the other stuff that C++ frameworks are terrible at, but which is a doddle in HTML/CSS/JS.. You are a brave man!" — julesrms, creator of the JUCE C++ GUI framework

Others questioned the packaging instead. One commenter was confused by an Unlicense project that also sells a Pro edition, and wanted to know where the Pro code lives.

What a working user wants

A developer building his own GUI agent listed a flaw in current CLI agents: while typing a prompt, a sudden Y/N question can swallow a keystroke and steer the agent wrong. A GUI harness could fix that by owning its own input focus.

Get breakdowns like this every day

The top Hacker News stories, unpacked — by email, Telegram, or RSS.

Next story · 10 of 11 Read more
🚀Tech

GCC picks a jump table over a comparison tree by counting comparisons, not labels

Cases 0, 7, 14, 21, 34 compile to a jump table. Cases 0, 8, 16, 24, 40 compile to comparisons. A switch of twenty labels over 0 to 87 also loses its table.

★ 199 · 💬 40 · xoranth.net · 2 min