Proposal: a structured chat API for Herdr #2677
marcelormendes
started this conversation in
Ideas
Replies: 3 comments
|
I think you might get some pushback on that project name. |
0 replies
|
Good call — I hadn’t realized how official “Herdr Desktop” sounded. I’ve renamed the project to Drover and updated the repository, app, packages, website, and discussion to make clear that it is an independent client for Herdr, not affiliated with or endorsed by the Herdr project. Thanks for flagging it. |
0 replies
|
This is really interesting. I wonder if this would be useful to Moshi as well. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Update (Aug 12): The client has been renamed Drover to make its independent identity clear. It is not affiliated with or endorsed by the Herdr project. Thanks to @PonchoPig for flagging the naming concern.
I'm building Drover, an independent GUI client for Herdr: https://github.com/marcelormendes/drover. To show an agent session it currently has to parse the raw terminal output, which is fragile and cannot represent structure like plans, tool calls, or approvals. We would like the data to come from the engine instead.
Proposal: an opt-in JSON API for conversations, off by default. A new
agent_conversationscapability reported instatusand per pane, endpoints for turns, tools, and approvals, live updates, and no change to how prompts are sent. Clients that do not use it work exactly as they do now, and the terminal protocol version stays the same.A working implementation exists on the
agent/unified-agent-chatbranch ofmarcelormendes/herdr(commit6b1a0242). It reads each provider's own log files (Codex, Claude, Pi, Oh My Pi) and has been used daily through the desktop client. Validation: 3,496 tests, strict Clippy, pinned Rust 1.96.1.We know Herdr does not accept unsolicited pull requests, so this is a proposal, not a push. Two questions:
All reactions