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.
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.