When designing interactions with my agents I've added 3 things to the regular chat window: a static list of stories (for mental navigation), a dynamic list of buttons / progress bars (for structured input) and a narrator (kinda a sys-prompt for the user). There's also an interrupt button, as an extra.
I just launched in on HN, take a look: