A terminal interface for prototyping agents really quickly.
Point it at any AG-UI backend and get streaming chat, the model's chain of thought,
tables, charts and human approval, with no frontend to build.
Get started
pip install gentui # or: uv tool install gentui
gentui http://localhost:8000/agent # your AG-UI endpoint
gentui --demo # no backend yet? watch a tour of every feature
Requires Python 3.12 or newer.
Documentation
Full docs, with search: rahrajlat.github.io/Gentui
| I want to… | Read |
|---|---|
| install it and try the demo | Getting started |
| see every command-line flag | Command-line reference |
| use slash commands, themes and the event inspector | Commands |
| save a session and play it back | Record and replay |
| run the same prompts every time | Run a set of prompts |
| diff two runs side by side | Compare runs |
| score runs with my own judge model | Judges |
| change config, CSS and colours | Customising |
| add widgets, commands or event hooks | Plugins |
| build my own backend in any language | Backend contract |
| talk to an agent on Amazon Bedrock AgentCore | AgentCore Runtime |
| understand the internals | How it works |
See it
Record and replay
Save any session to JSON, then play it back with pause, a seek bar and speed control. No agent, no network. Read more
Compare runs and judge them
Run the same prompts against two versions of your agent, diff the results side by side, and let a judge (Ollama built in, or your own function) score each prompt. Export it all, charts included, to one HTML page. Read more
Status
Gentui is alpha: tested with the Strands Agents framework over AG-UI and with AgentCore Runtime; other setups are untested. The details are in Development and status.
Contributing
Issues and pull requests are welcome. Please run the tests (uv run pytest -q) before opening a PR, and add a test with any behaviour change. See Development and status.
License
MIT. Free to use, modify and distribute, including the example backend.
Metadata
Release files for gentui 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gentui-0.1.6.tar.gz | 66.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gentui-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 148.2 kB
Release files / gentui-0.1.6.tar.gz
| Download URL | gentui-0.1.6.tar.gz |
|---|---|
| Size | 66.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c869d056207b3535846e57163e977c834c8393a0c8c3637d4109cb05d0829225
|
|
BLAKE2b-256 checksum How to use checksums |
6d5dc96d0a92f0f14eefb887e97a8808d446b98079d3a41319f0ee20d714197e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / gentui-0.1.6-py3-none-any.whl
| Download URL | gentui-0.1.6-py3-none-any.whl |
|---|---|
| Size | 82.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
247ccb01ebc679b4137e25a1d49426dfabec8446d90dee637a57a009138cc413
|
|
BLAKE2b-256 checksum How to use checksums |
4e698006273f30ffb07232d082a1d2acb71ebda11bb3abd2a8cd74f5a1b41724
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|