斜杠命令
向客户端宣告可用的斜杠命令
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": {
"hint": "query to search for"
}
},
{
"name": "test",
"description": "Run tests for the current project"
},
{
"name": "plan",
"description": "Create a detailed implementation plan",
"input": {
"hint": "description of what to plan"
}
}
]
}
}
}
| 字段 | 类型 | 必需 | 描述 |
|---|---|---|---|
availableCommands | AvailableCommand[] | - | 此会话中可用的命令列表 |
AvailableCommand
| 字段 | 类型 | 必需 | 描述 |
|---|---|---|---|
name | string | 是 | 命令名称(如 “web”、“test”、“plan”) |
description | string | 是 | 命令功能的人类可读描述 |
input | AvailableCommandInput | - | 命令的可选输入规范 |
AvailableCommandInput
目前支持非结构化文本输入:
| 字段 | 类型 | 必需 | 描述 |
|---|---|---|---|
hint | string | 是 | 当输入尚未提供时显示的提示 |
动态更新
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 识别命令前缀并相应地处理它。命令可以附带同一提示数组中的任何其他用户消息内容类型(图像、音频等)。