白皮书
指令语法
概述
本文档定义了一套用于 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 文件标识
解析与实现建议
解析步骤
- 去除前导/尾部空白。
- 检查首字符是否为
/,否则作为普通消息处理。 - 按空格切分命令与参数部分(最多一次切分获得命令名和参数字符串)。
- 匹配命令名:若为
help|clear|db|search→ 系统命令,参数字符串原样保留(如/db employees的参数employees)。 - 根据命令类型校验参数数量及格式(如
/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 或路径,省略时使用当前会话的最新附件