斜杠命令

向客户端声明可用的斜杠命令

Agent 可以声明一组用户可调用的斜杠命令。这些命令提供对特定 Agent 能力和工作流的快速访问。命令作为常规提示请求的一部分运行,客户端在提示中包含命令文本。

声明命令

创建会话后,Agent 可以 通过 available_commands_update 会话通知发送可用命令列表:

{
  "jsonrpc": "2.0",
  "method": "session/update",
  "params": {
    "sessionId": "sess_abc123def456",
    "update": {
      "sessionUpdate": "available_commands_update",
      "availableCommands": [
        {
          "name": "web",
          "description": "Search the web for information",
          "input": {
            "type": "text",
            "hint": "query to search for"
          }
        },
        {
          "name": "test",
          "description": "Run tests for the current project"
        },
        {
          "name": "plan",
          "description": "Create a detailed implementation plan",
          "input": {
            "type": "text",
            "hint": "description of what to plan"
          }
        }
      ]
    }
  }
}
字段类型必需描述
availableCommandsAvailableCommand[]-此会话中可用的命令列表

AvailableCommand

字段类型必需描述
namestring命令名称(例如 “web”、“test”、“plan”)
descriptionstring命令功能的人类可读描述
inputAvailableCommandInput-命令的可选输入规范

AvailableCommandInput

目前支持 type: "text" 的文本输入:

字段类型必需描述
hintstring输入尚未提供时显示的提示

命令输入规范可以添加自定义或未来的 type 值。自定义输入类型 必须_ 开头;未知的非下划线输入类型保留给未来的 ACP 变体。无法渲染输入规范的客户端应在存储、重放、代理或转发命令元数据时保留它,否则显示不带结构化输入的命令。

动态更新

Agent 可以在会话期间的任何时候通过发送另一个 available_commands_update 通知来更新可用命令列表。这允许根据上下文添加命令、在不再相关时移除命令,或使用更新的描述进行修改。

运行命令

命令作为常规用户消息包含在提示请求中:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "session/prompt",
  "params": {
    "sessionId": "sess_abc123def456",
    "prompt": [
      {
        "type": "text",
        "text": "/web agent client protocol"
      }
    ]
  }
}

Agent 识别命令前缀并相应地处理它。命令可以在同一提示数组中伴随任何其他用户消息内容类型(图像、音频等)。