Skip to content

JupyterAI 3.2: UI affordances to help users understand tradeoffs as we "merge" jupyterlite-ai and jupyter-ai #1583

Description

@mfisher87

Discussed today on the Jupyter AI call.

jupyterlite-ai provides browser-based interface with models. No server component, no harnesses. The user connects directly to providers' HTTP APIs.

jupyter-ai provides ACP-based interfaces to models exposed via harnesses like Claude Code or OpenCode.

Currently, a user of JupyterLite would not be able to leverage jupyter-ai because harnesses like Claude Code don't run in the browser. The name of jupyterlite-ai communicates that it meets that use case that jupyter-ai doesn't serve. But jupyterlite-ai is not exclusive to JupyterLite -- you may want to connect directly to an inference provider's HTTP API from JupyterLab -- which is why we don't like the name. So once we consolidate these interfaces, we need to find a way to replace that affordance that communicates "this persona works in browser-only environments, but this other persona doesn't".

I propose that the "roster" interface handles this. When an ACP-based persona is loaded in JupyterLite, or in any environment where the necessary harness isn't installed, a ⚠️ warning icon could be displayed with a tooltip that explains the situation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions