Skip to content

How should a Python agent that is only on PyPI be listed so that Zed shows it? (npx launcher and terminal auth) #726

Closed

Description

@zy1233

Hello,

I want to add pi-python to the registry. Before I open a PR, I have two questions about the distribution and the auth method.

The agent

What I found

  1. Zed reads only binary and npx from a registry entry (RegistryDistribution in crates/project/src/agent_registry_store.rs). An entry with only uvx is not shown: minion-code not visible in Zed after merge #147 (comment)
  2. The registry has no --from for uvx yet (Support --from argument for uvx command run #296, feat: support explicit package commands #323).
  3. Today, 41 of the 43 entries have binary or npx (or both). Only fast-agent and minion-code have uvx only.
  4. A frozen binary of this agent is hard for me. It starts child Python processes (a script sandbox) and finds extensions through Python entry points. I would prefer not to freeze it.

Questions

  1. May I list the agent with an npx distribution that is a thin launcher? The npm package would hold only a small Node script. The script would run uvx --from pi-agent-cli-lc==<version> pi-agent-cli, pass stdio through, and print install help when uv is missing. I would publish the npm package and the PyPI package from one release workflow, with the same version. Does the validator runner have uv on its PATH when it starts an npx entry? Is there a better path for a PyPI-only agent? If Zed will read uvx soon, I can wait and list only uvx.
  2. The agent has no OAuth. The user gives a model name and an API key. I plan to advertise one auth method of type terminal with args: ["--setup"], like the example in AUTHENTICATION.md. The agent would advertise it only to clients that declare terminal auth (the validator does). Does the registry accept this as the required auth method?

If the answers are yes, I will open the PR with agent.json and the icon.

Thank you.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions