AI-Engineer-Foundation / agent-protocol

Common interface for interacting with AI agents. The protocol is tech stack agnostic - you can use it with any framework for building agents.

Home Page:https://agentprotocol.ai

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Proposal: Cross-Platform CLI Tool for the Agent Protocol

jzanecook opened this issue · comments

Objective:

This proposal outlines the development of a cross-platform CLI tool aimed at simplifying interactions with the Agent Protocol. The goal is to improve user experience, streamline debugging, and facilitate automation within the agent protocol ecosystem.

Background:

The Agent Protocol involves managing tasks, steps, and artifacts, all identified by UUIDs (v4). Tasks represent high-level commands for agents, steps denote individual actions taken by agents, and artifacts correspond to files generated or used during agent operations. This proposal aims to create a user-friendly CLI application inspired by the ease of use of Docker's command-line interface.

Proposed CLI Commands:

To provide a clear vision for this tool, we propose the following CLI commands and their expected functionalities:

  1. ap-cli connect [endpoint] - Connects to the specified agent endpoint.

    • Example: $ ap-cli connect http://localhost:8000
  2. ap-cli task list - Lists tasks with their full UUIDs.

    • The response to this command (for tasks, steps, and artifacts alike) could be formatted in JSON (as the original API, to be sent to jq for scripting or etc.) or as a formatted table.
  3. ap-cli task create [options] - Creates a new task.

    • Example: $ ap-cli task create
  4. ap-cli task [task_uuid] step create --input="[input]" - Creates a new step within a task.

    • Example: $ ap-cli task 70e62fbb-0123-4567-89ab-cdef01234567 step create --input="Write 'Washington' to a file."
  5. ap-cli task [task_uuid] artifact list - Lists artifacts associated with a task.

    • Example: $ ap-cli task 70e62fbb-0123-4567-89ab-cdef01234567 artifact list

Note: If multi-agent usage becomes a necessity, the agent name from the (not yet implemented) info endpoint could be used for individual calls.
Example:

$ ap-cli connect http://localhost:8000
> Connected to MyAgent

$ ap-cli connect http://localhost:8001
> Connected to NotMyAgent

$ ap-cli MyAgent task list

Goals of the CLI Tool:

  • Enhance user experience with an intuitive CLI interface.
  • Simplify debugging and monitoring of agent tasks and steps.
  • Enable automation of agent protocol interactions for CI/CD workflows.
  • Facilitate agent protocol compliance verification and testing.

Discussion Points:

This proposal serves as a technical framework for the CLI tool's development. Your input is essential to refine the design and functionality. Please share your thoughts on the proposed commands, suggest additional features or improvements, and highlight any potential challenges or considerations.

Let's collaborate to create a powerful and user-centric CLI tool that enhances the usability and effectiveness of the Agent Protocol.

@jzanecook for the 3rd command, what [option] can our users use?

Okay, I saw your PR: #76. I will check that one.

The options for the create command are whatever the options are in the spec, so input and additional_input for task/step and then for artifact it's that schema.

I have the structure of the commands/args pretty well set in the PR, it just needs to be refactored a bit and linked with the OpenAPI generated functions.