Skip to content

Allow extensions to control the status indicator #263

@dlqqq

Description

@dlqqq

Problem

The new status indicator in Jupyter Chat looks delightful. I'm a big fan of how intuitive it is. There are a couple of features which would really enhance the AI extensions we are building on top of this:

  1. Allow chat users to set their own typing indicator message. Right now, it always says "Jupyternaut is typing...". However, since Personas will be running agent tools, it would be nice if this were controllable by the Persona itself. For example, we would like to show "Jupyternaut is running ripgrep /<some-regex>/ -- ./packages ...".

  2. Move "stop streaming" button to status indicator. Currently in Jupyter AI, we are using the configurable message footer to show a "Stop streaming" button at the bottom of each message. There are 2 issues:

  • i) The stop button only appears if a message is being streamed. This is usually fine when just chatting. However, AI agents can run tools before streaming a natural language reply. If a persona hasn't streamed any content back yet and is running a tool that is taking too long, the user will not be able to halt it.

  • ii) The stop button only appears under each message. If multiple personas are replying in parallel, it is difficult to stop all of them since a user may have to scroll to see different messages.

Proposed Solution

  1. Add an awareness API that allows the user to control the status indicator. Ideally it should support Markdown, but it is fine if the initial implementation doesn't.

  2. Add an optional plugin that allows other extensions to add a custom React component into the status indicator, similar to the message footer previously added.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions