白皮书

指令语法

概述

本文档定义了一套用于 Agent 交互的快捷斜杠指令(Slash Commands)语法规范。该规范提供极简、一致、可扩展的命令接口,用于完成帮助、会话管理、数据库查询以及对象的创建与查询等常见操作。

设计原则

  • 极简 – 命令短、参数少,无冗余括号或特殊分隔符。
  • CLI 习惯 – 采用 /<动词>/<动作>-<目标> 结构,支持位置参数与空格分隔的多值列表。
  • 一致性 – 创建(c)与查询(q)使用相同修饰符(-b, -f)和对象名占位符。
  • 可扩展 – 对象类型可自定义,新增对象无需修改解析核心。

通用语法规则

  • 所有指令以 / 起始,大小写敏感,推荐全小写
  • 命令名由字母、连字符 - 组成,不得包含空格
  • 参数与命令名之间以一个空格分隔。
  • 多值参数(如批量查询的标识符列表)使用空格分隔,不使用逗号。
  • 对象名包含多个单词时,使用下划线 _ 连接。
  • 模糊查询对象使用 " " 进行框定,精确查询则不需要引号。

命令详细说明

系统命令

/help

输出完整的命令参考手册。

/clear

清除当前会话的上下文、历史记录及临时状态。

数据查询命令

/db-对象

对结构化数据库执行查询,表名 为必需参数。后续消息可提供 SQL 或自然语言查询条件。

示例

/db-employees

/search 查询词

搜索非结构化数据(文档、日志等)。

示例

/search "error rate > 10%"

对象操作命令

/c-对象

创建一个新对象。创建所需数据通常由后续消息提供(JSON/表单)。

示例

/c-user

/c-b-对象

批量创建多个对象。支持后续消息提供 JSON 数组。

示例

/c-b-product

/c-f-对象 文件标识

通过附件(文件)创建对象。文件标识 为可选参数,文件内容应为单条对象数据(JSON/YAML/CSV)。

示例

/c-f-user attach_123
# 使用 file_id = attach_123 的内容创建用户

/q-对象 标识符

根据唯一标识查询单个对象。标识符 为必需参数。

示例

/q-user 10086
/q-order ORD-9876

/q-b-对象 标识符1 标识符2 ...

依次查询多个对象,结果按请求顺序返回。标识符列表以空格分隔。

示例

/q-b-user alice bob charlie
/q-b-order ORD-1 ORD-2 ORD-3

/q-f-对象 文件标识

使用附件中的查询条件(如 ID 列表、过滤器表达式)来查询对象。文件标识 为可选参数。

示例

/q-f-user filter.json

扩展机制

新增对象类型无需修改解析器,仅需在 Agent 内部注册对应的处理器。自定义修饰符(除 -b, -f 外)可预留未来扩展,如 -u(更新)、-d(删除)。

示例扩展:添加 project 对象后,自动支持以下指令

/c-project
/c-b-project
/c-f-project 文件标识
/q-project 标识符
/q-b-project 标识符1 标识符2 ...
/q-f-project 文件标识

解析与实现建议

解析步骤

  1. 去除前导/尾部空白。
  2. 检查首字符是否为 /,否则作为普通消息处理。
  3. 按空格切分命令与参数部分(最多一次切分获得命令名和参数字符串)。
  4. 匹配命令名:若为 help|clear|db|search → 系统命令,参数字符串原样保留(如 /db employees 的参数 employees)。
  5. 根据命令类型校验参数数量及格式(如 /q-b- 后面必须至少有一个标识符)。

指令速查表

类别命令格式示例
系统/help/help
系统/clear/clear
数据查询/db-对象/db-employees
数据查询/search "查询词"/search "error 500"
对象操作/c-对象/c-user
对象操作/c-b-对象/c-b-product
对象操作/c-f-对象 文件标识/c-f-user attach_123
对象操作/q-对象 标识符/q-user 1001
对象操作/q-b-对象 标识符1 标识符2 .../q-b-order ORD-1 ORD-2 ORD-3
对象操作/q-f-对象 文件标识/q-f-user filter.json

占位符说明

对象 : 具体业务对象类型名(如 user, order, product

标识符 : 对象唯一标识(数字、UUID 或业务键)

文件标识 : 附件的 ID 或路径,省略时使用当前会话的最新附件