GitHub

A desktop GUI for the rho coding assistant, built with egui (immediate mode GUI).

The app spawns a rho subprocess and communicates with it over JSON-RPC on stdin/stdout.

rho-egui
├── src/
│   ├── main.rs          — Entry point, eframe setup
│   ├── app.rs           — Main app state, event handling, UI layout
│   ├── agent.rs         — RhoAgent: subprocess management (module root)
│   ├── agent/
│   │   ├── process.rs   — Async stdin/stdout I/O via pollster
│   │   └── protocol.rs  — JSON-RPC notification parsing, RhoEvent enum
│   ├── chat.rs          — ChatBlock types, ApprovalResolution, ToolStatus
│   ├── chat/
│   │   └── store.rs     — In-memory chat store with streaming support
│   ├── ui.rs            — Module root
│   ├── ui/
│   │   ├── chat_view.rs — Block rendering, approval controls, redirect box
│   │   ├── modals.rs    — Model picker, session picker, stats, help dialogs
│   │   └── widgets.rs   — Shared state for model/session/provider lists
│   ├── util.rs          — Module root
│   └── util/
│       ├── formatting.rs — Duration formatting, session stats formatting
│       └── json.rs       — Safe JSON field access helpers

Read the original on github.com ↗