1712 lines
78 KiB
Markdown
1712 lines
78 KiB
Markdown
# DWS Skill 能力验证测试集
|
||
|
||
## 目标
|
||
|
||
验证 `dws` skill 在各 AI Agent 工具中的**意图理解→CLI 命令生成**能力。
|
||
Agent 安装 dws skill 后,仅依据 skill 提供的参考文档,将自然语言意图翻译为 `dws` CLI 命令。
|
||
|
||
## 一句话启动测试
|
||
|
||
复制以下 prompt 发给 Agent 即可:
|
||
|
||
```
|
||
帮我跑一下 skill_tests.md 里的全部测试用例。
|
||
每条用例读 Prompt 后用 dws 命令实现,和 Expected 对比,输出 PASS/FAIL。
|
||
把每条用例的详细测试情况都打印出来。特别是依赖skill的哪个信息去判断的。
|
||
最后给个汇总:总数、通过数、按产品分组通过率、所有 FAIL 的详情。
|
||
以上所有输出内容都写入 skill_tests_results.md
|
||
```
|
||
|
||
## 校验规则
|
||
|
||
| 维度 | 规则 |
|
||
|------|------|
|
||
| **命令路径** | `dws` 之后、第一个 `--` 之前的 token 序列必须与用例的命令路径一致 |
|
||
| **参数** | 每个 `--key value` 对必须与 Flags 中列出的一致(`--format json` 忽略)|
|
||
| **占位符** | `<...>` 形式的值表示动态 ID,验证时只需确认 key 存在 |
|
||
| **[ASK_USER]** | Agent 应识别出缺少必要信息需要追问用户,只验证命令路径 |
|
||
| **参数顺序** | 不要求参数顺序一致,只要 key-value 内容正确即可 |
|
||
|
||
## 评分标准
|
||
|
||
| 指标 | 计算方式 |
|
||
|------|---------|
|
||
| **命令准确率** | 命令路径正确的用例数 / 总用例数 × 100% |
|
||
| **参数准确率** | 命令路径和所有参数都正确的用例数 / 总用例数 × 100% |
|
||
| **产品识别率** | 正确选择产品命令的用例数 / 总用例数 × 100% |
|
||
|
||
## 测试覆盖总览
|
||
|
||
| 产品 | Skill 参考文档 | 命令数 | 用例数 |
|
||
|------|---------------|--------|--------|
|
||
| `aitable` | `references/products/aitable.md` | 16 | 41 |
|
||
| `attendance` | `references/products/attendance.md` | 4 | 16 |
|
||
| `calendar` | `references/products/calendar.md` | 13 | 30 |
|
||
| `chat` | `references/products/chat.md` | 13 | 31 |
|
||
| `contact` | `references/products/contact.md` | 7 | 14 |
|
||
| `devdoc` | `references/products/simple.md` | 2 | 7 |
|
||
| `dev` | `skills/multi/dingtalk-misc/references/devapp.md` | 19 | 25 |
|
||
| `ding` | `references/products/ding.md` | 2 | 5 |
|
||
| `event` | `skills/multi/dingtalk-event/SKILL.md` | 6 | 40 |
|
||
| `report` | `references/products/report.md` | 6 | 26 |
|
||
| `routing` | `references/intent-guide.md` | 1 | 3 |
|
||
| `todo` | `references/products/todo.md` | 6 | 30 |
|
||
| `workbench` | `references/products/workbench.md` | 2 | 6 |
|
||
|
||
---
|
||
|
||
## 测试用例
|
||
|
||
### aitable(41 条)
|
||
|
||
#### `dws aitable base create`
|
||
|
||
**aitable_aitable_base_create_001**
|
||
- Prompt: 创建 AI 表格,name 为 项目跟踪
|
||
- Expected: `dws aitable base create --name 项目跟踪 --format json`
|
||
- Flags: `--name` = `项目跟踪`
|
||
|
||
**aitable_aitable_base_create_002**
|
||
- Prompt: 用模板tpl123创建一个AI表格叫项目管理
|
||
- Expected: `dws aitable base create --name "项目管理" --template-id tpl123 --format json`
|
||
- Flags: `--name` = `项目管理`, `--template-id` = `tpl123`
|
||
|
||
#### `dws aitable base delete`
|
||
|
||
**aitable_aitable_base_delete_001**
|
||
- Prompt: 删除 AI 表格
|
||
- Expected: `dws aitable base delete --base-id <BASE_ID> --format json`
|
||
- Flags: `--base-id` = `<BASE_ID>`
|
||
|
||
**aitable_aitable_base_delete_002**
|
||
- Prompt: 删除AI表格base123,原因是项目已结项
|
||
- Expected: `dws aitable base delete --base-id base123 --reason "项目已结项" --format json`
|
||
- Flags: `--base-id` = `base123`, `--reason` = `项目已结项`
|
||
|
||
#### `dws aitable base get`
|
||
|
||
**aitable_aitable_base_get_001**
|
||
- Prompt: 获取 AI 表格 base123 的信息
|
||
- Expected: `dws aitable base get --base-id base123 --format json`
|
||
- Flags: `--base-id` = `base123`
|
||
|
||
**aitable_aitable_base_get_002**
|
||
- Prompt: 查看一下 ID 为 base456 的多维表格的详情
|
||
- Expected: `dws aitable base get --base-id base456 --format json`
|
||
- Flags: `--base-id` = `base456`
|
||
|
||
#### `dws aitable base list`
|
||
|
||
**aitable_aitable_base_list_001**
|
||
- Prompt: 获取我的 AI 表格列表
|
||
- Expected: `dws aitable base list --format json`
|
||
|
||
**aitable_aitable_base_list_002**
|
||
- Prompt: 获取 AI 表格列表,每页5个
|
||
- Expected: `dws aitable base list --limit 5 --format json`
|
||
- Flags: `--limit` = `5`
|
||
|
||
**aitable_aitable_base_list_003**
|
||
- Prompt: 获取 AI 表格列表,从游标 NEXT_CURSOR 继续翻页
|
||
- Expected: `dws aitable base list --cursor NEXT_CURSOR --format json`
|
||
- Flags: `--cursor` = `NEXT_CURSOR`
|
||
|
||
**aitable_aitable_base_list_004**
|
||
- Prompt: 分页获取 AI 表格列表,从 NEXT_CURSOR 开始每页5个
|
||
- Expected: `dws aitable base list --limit 5 --cursor NEXT_CURSOR --format json`
|
||
- Flags: `--cursor` = `NEXT_CURSOR`, `--limit` = `5`
|
||
|
||
#### `dws aitable base search`
|
||
|
||
**aitable_aitable_base_search_001**
|
||
- Prompt: 搜索 AI 表格,query 为 项目管理
|
||
- Expected: `dws aitable base search --query 项目管理 --format json`
|
||
- Flags: `--query` = `项目管理`
|
||
|
||
**aitable_aitable_base_search_002**
|
||
- Prompt: 搜索名为 销售 的 AI 表格,从游标 cursor123 开始翻页
|
||
- Expected: `dws aitable base search --query 销售 --cursor cursor123 --format json`
|
||
- Flags: `--cursor` = `cursor123`, `--query` = `销售`
|
||
|
||
#### `dws aitable base update`
|
||
|
||
**aitable_aitable_base_update_001**
|
||
- Prompt: 更新 AI 表格,name 为 新名称
|
||
- Expected: `dws aitable base update --base-id <BASE_ID> --name 新名称 --format json`
|
||
- Flags: `--base-id` = `<BASE_ID>`, `--name` = `新名称`
|
||
|
||
**aitable_aitable_base_update_002**
|
||
- Prompt: 更新AI表格base123的名字为项目跟踪表,备注是用于Q2项目跟踪
|
||
- Expected: `dws aitable base update --base-id base123 --name "项目跟踪表" --desc "用于Q2项目跟踪" --format json`
|
||
- Flags: `--base-id` = `base123`, `--desc` = `用于Q2项目跟踪`, `--name` = `项目跟踪表`
|
||
|
||
#### `dws aitable field create`
|
||
|
||
**aitable_aitable_field_create_001**
|
||
- Prompt: 在 base123 的 table456 里创建一个单选字段 状态,选项有待办、进行中、已完成
|
||
- Expected: `dws aitable field create --base-id base123 --table-id table456 --fields '[{"fieldName":"状态","type":"singleSelect","config":{"options":[{"name":"待办"},{"name":"进行中"},{"name":"已完成"}]}}]' --format json`
|
||
- Flags: `--base-id` = `base123`, `--fields` = `[{"fieldName":"状态","type":"singleSelect","config":{"options":[{"name":"待办"},{"name":"进行中"},{"name":"已完成"}]}}]`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_field_create_002**
|
||
- Prompt: 给 base789 的 tblABC 新加一个文本字段叫 备注
|
||
- Expected: `dws aitable field create --base-id base789 --table-id tblABC --fields '[{"fieldName":"备注","type":"text"}]' --format json`
|
||
- Flags: `--base-id` = `base789`, `--fields` = `[{"fieldName":"备注","type":"text"}]`, `--table-id` = `tblABC`
|
||
|
||
#### `dws aitable field delete`
|
||
|
||
**aitable_aitable_field_delete_001**
|
||
- Prompt: 删除 base123 的 table456 中的字段 fld789
|
||
- Expected: `dws aitable field delete --base-id base123 --field-id fld789 --table-id table456 --format json`
|
||
- Flags: `--base-id` = `base123`, `--field-id` = `fld789`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_field_delete_002**
|
||
- Prompt: 把 base456 的 tblXYZ 里那个字段 fldABC 删掉
|
||
- Expected: `dws aitable field delete --base-id base456 --field-id fldABC --table-id tblXYZ --format json`
|
||
- Flags: `--base-id` = `base456`, `--field-id` = `fldABC`, `--table-id` = `tblXYZ`
|
||
|
||
#### `dws aitable field get`
|
||
|
||
**aitable_aitable_field_get_001**
|
||
- Prompt: 获取数据表 base123 的 table456 的所有字段详情
|
||
- Expected: `dws aitable field get --base-id base123 --table-id table456 --format json`
|
||
- Flags: `--base-id` = `base123`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_field_get_002**
|
||
- Prompt: 只获取字段 fld1,fld2 的详情,表格 ID 是 table456,AI 表格 ID 是 base123
|
||
- Expected: `dws aitable field get --base-id base123 --table-id table456 --field-ids fld1,fld2 --format json`
|
||
- Flags: `--base-id` = `base123`, `--field-ids` = `fld1,fld2`, `--table-id` = `table456`
|
||
|
||
#### `dws aitable field update`
|
||
|
||
**aitable_aitable_field_update_001**
|
||
- Prompt: 更新字段,name 为 新字段名称
|
||
- Expected: `dws aitable field update --base-id <BASE_ID> --field-id <FIELD_ID> --table-id <TABLE_ID> --name "新字段名称" --format json`
|
||
- Flags: `--base-id` = `<BASE_ID>`, `--field-id` = `<FIELD_ID>`, `--table-id` = `<TABLE_ID>`, `--name` = `新字段名称`
|
||
|
||
**aitable_aitable_field_update_002**
|
||
- Prompt: 把 base123 的 table456 中字段 fld1 的名字改为 状态字段
|
||
- Expected: `dws aitable field update --base-id base123 --table-id table456 --field-id fld1 --name 状态字段 --format json`
|
||
- Flags: `--base-id` = `base123`, `--field-id` = `fld1`, `--name` = `状态字段`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_field_update_003**
|
||
- Prompt: 更新字段 fld2 的配置,将选项值改为 JSON 配置
|
||
- Expected: `dws aitable field update --base-id base123 --table-id table456 --field-id fld2 --config '{"options":[{"name":"进行中"}]}' --format json`
|
||
- Flags: `--base-id` = `base123`, `--config` = `{"options":[{"name":"进行中"}]}`, `--field-id` = `fld2`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_field_update_004**
|
||
- Prompt: 同时更新 base123 的 table456 中字段 fld3 的名称为 优先级 并修改其选项配置
|
||
- Expected: `dws aitable field update --base-id base123 --table-id table456 --field-id fld3 --name 优先级 --config '{"options":[{"name":"高"},{"name":"中"},{"name":"低"}]}' --format json`
|
||
- Flags: `--base-id` = `base123`, `--config` = `{"options":[{"name":"高"},{"name":"中"},{"name":"低"}]}`, `--field-id` = `fld3`, `--name` = `优先级`, `--table-id` = `table456`
|
||
|
||
#### `dws aitable record create`
|
||
|
||
**aitable_aitable_record_create_001**
|
||
- Prompt: 在 base123 的 table456 中新增一条记录,任务名称为 开发需求评审,优先级为高
|
||
- Expected: `dws aitable record create --base-id base123 --table-id table456 --records '[{"cells":{"任务名称":"开发需求评审","优先级":"高"}}]' --format json`
|
||
- Flags: `--base-id` = `base123`, `--records` = `[{"cells":{"任务名称":"开发需求评审","优先级":"高"}}]`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_record_create_002**
|
||
- Prompt: 往 base789 的 tblABC 里加一条记录,数据是姓名张三、部门研发
|
||
- Expected: `dws aitable record create --base-id base789 --table-id tblABC --records '[{"cells":{"姓名":"张三","部门":"研发"}}]' --format json`
|
||
- Flags: `--base-id` = `base789`, `--records` = `[{"cells":{"姓名":"张三","部门":"研发"}}]`, `--table-id` = `tblABC`
|
||
|
||
#### `dws aitable record query`
|
||
|
||
**aitable_aitable_record_query_001**
|
||
- Prompt: 查询记录
|
||
- Expected: `dws aitable record query --base-id <BASE_ID> --table-id <TABLE_ID> --format json`
|
||
- Flags: `--base-id` = `<BASE_ID>`, `--table-id` = `<TABLE_ID>`
|
||
|
||
**aitable_aitable_record_query_002**
|
||
- Prompt: 在base123的table456中搜索包含待处理的记录,每页5条
|
||
- Expected: `dws aitable record query --base-id base123 --table-id table456 --keyword "待处理" --limit 5 --format json`
|
||
- Flags: `--base-id` = `base123`, `--keyword` = `待处理`, `--limit` = `5`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_record_query_003**
|
||
- Prompt: 按 ID 查询 base123 的 table456 中指定记录 rec1,rec2
|
||
- Expected: `dws aitable record query --base-id base123 --table-id table456 --record-ids rec1,rec2 --format json`
|
||
- Flags: `--base-id` = `base123`, `--record-ids` = `rec1,rec2`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_record_query_004**
|
||
- Prompt: 查询 base123 的 table456 中的记录,只返回字段 fld1,fld2
|
||
- Expected: `dws aitable record query --base-id base123 --table-id table456 --field-ids fld1,fld2 --format json`
|
||
- Flags: `--base-id` = `base123`, `--field-ids` = `fld1,fld2`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_record_query_005**
|
||
- Prompt: 查询 base123 的 table456 中的记录,按字段 fld1 降序排列
|
||
- Expected: `dws aitable record query --base-id base123 --table-id table456 --sort '[{"fieldId":"fld1","order":"desc"}]' --format json`
|
||
- Flags: `--base-id` = `base123`, `--sort` = `[{"fieldId":"fld1","order":"desc"}]`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_record_query_006**
|
||
- Prompt: 查询 base123 的 table456 中状态为进行中的记录
|
||
- Expected: `dws aitable record query --base-id base123 --table-id table456 --filters '{"operator":"and","operands":[{"operator":"eq","operands":["fldStatus","进行中"]}]}' --format json`
|
||
- Flags: `--base-id` = `base123`, `--filters` = `{"operator":"and","operands":[{"operator":"eq","operands":["fldStatus","进行中"]}]}`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_record_query_007**
|
||
- Prompt: 在 base123 的 table456 中搜索关键词 项目评审,只返回字段 fld1,fld2,每页10条
|
||
- Expected: `dws aitable record query --base-id base123 --table-id table456 --keyword 项目评审 --limit 10 --field-ids fld1,fld2 --format json`
|
||
- Flags: `--base-id` = `base123`, `--field-ids` = `fld1,fld2`, `--keyword` = `项目评审`, `--limit` = `10`, `--table-id` = `table456`
|
||
|
||
#### `dws aitable table create`
|
||
|
||
**aitable_aitable_table_create_001**
|
||
- Prompt: 在 base123 中创建一张名为 任务表 的数据表,包含文本字段任务名称和单选字段优先级
|
||
- Expected: `dws aitable table create --base-id base123 --name 任务表 --fields '[{"fieldName":"任务名称","type":"text"},{"fieldName":"优先级","type":"singleSelect","config":{"options":[{"name":"高"},{"name":"中"},{"name":"低"}]}}]' --format json`
|
||
- Flags: `--base-id` = `base123`, `--fields` = `[{"fieldName":"任务名称","type":"text"},{"fieldName":"优先级","type":"singleSelect","config":{"options":[{"name":"高"},{"name":"中"},{"name":"低"}]}}]`, `--name` = `任务表`
|
||
|
||
**aitable_aitable_table_create_002**
|
||
- Prompt: 帮我在多维表格 base456 里新建一张叫 人员信息 的表,字段有姓名和部门
|
||
- Expected: `dws aitable table create --base-id base456 --name 人员信息 --fields '[{"fieldName":"姓名","type":"text"},{"fieldName":"部门","type":"text"}]' --format json`
|
||
- Flags: `--base-id` = `base456`, `--fields` = `[{"fieldName":"姓名","type":"text"},{"fieldName":"部门","type":"text"}]`, `--name` = `人员信息`
|
||
|
||
#### `dws aitable table delete`
|
||
|
||
**aitable_aitable_table_delete_001**
|
||
- Prompt: 删除数据表
|
||
- Expected: `dws aitable table delete --base-id <BASE_ID> --table-id <TABLE_ID> --format json`
|
||
- Flags: `--base-id` = `<BASE_ID>`, `--table-id` = `<TABLE_ID>`
|
||
|
||
**aitable_aitable_table_delete_002**
|
||
- Prompt: 删除 base123 中的数据表 table456,说明原因是该表已废弃
|
||
- Expected: `dws aitable table delete --base-id base123 --table-id table456 --reason 该表已废弃 --format json`
|
||
- Flags: `--base-id` = `base123`, `--reason` = `该表已废弃`, `--table-id` = `table456`
|
||
|
||
#### `dws aitable table get`
|
||
|
||
**aitable_aitable_table_get_001**
|
||
- Prompt: 获取 AI 表格 base123 里的所有数据表
|
||
- Expected: `dws aitable table get --base-id base123 --format json`
|
||
- Flags: `--base-id` = `base123`
|
||
|
||
**aitable_aitable_table_get_002**
|
||
- Prompt: 只获取 AI 表格 base123 中指定的表 tbl1,tbl2
|
||
- Expected: `dws aitable table get --base-id base123 --table-ids tbl1,tbl2 --format json`
|
||
- Flags: `--base-id` = `base123`, `--table-ids` = `tbl1,tbl2`
|
||
|
||
#### `dws aitable table update`
|
||
|
||
**aitable_aitable_table_update_001**
|
||
- Prompt: 把 base123 里的数据表 table456 的名字改成 Q2任务跟踪
|
||
- Expected: `dws aitable table update --base-id base123 --table-id table456 --name Q2任务跟踪 --format json`
|
||
- Flags: `--base-id` = `base123`, `--name` = `Q2任务跟踪`, `--table-id` = `table456`
|
||
|
||
**aitable_aitable_table_update_002**
|
||
- Prompt: 更新 base789 的 tblXYZ 表名为 销售漏斗
|
||
- Expected: `dws aitable table update --base-id base789 --table-id tblXYZ --name 销售漏斗 --format json`
|
||
- Flags: `--base-id` = `base789`, `--name` = `销售漏斗`, `--table-id` = `tblXYZ`
|
||
|
||
---
|
||
|
||
### attendance(16 条)
|
||
|
||
#### `dws attendance record get`
|
||
|
||
**attendance_attendance_record_get_001**
|
||
- Prompt: 查询个人考勤详情,date 为 2026-03-08, user 为 <USER_ID>
|
||
- Expected: `dws attendance record get --date 2026-03-08 --user <USER_ID> --format json`
|
||
- Flags: `--date` = `2026-03-08`, `--user` = `<USER_ID>`
|
||
|
||
**attendance_attendance_record_get_002**
|
||
- Prompt: 查一下userId1在2026年3月16号的打卡情况
|
||
- Expected: `dws attendance record get --user userId1 --date 2026-03-16 --format json`
|
||
- Flags: `--date` = `2026-03-16`, `--user` = `userId1`
|
||
|
||
**attendance_attendance_record_get_003**
|
||
- Prompt: 帮我查一下张三(user_zhangsan)今天2026-03-18的出勤情况
|
||
- Expected: `dws attendance record get --user user_zhangsan --date 2026-03-18 --format json`
|
||
- Flags: `--date` = `2026-03-18`, `--user` = `user_zhangsan`
|
||
|
||
**attendance_attendance_record_get_004**
|
||
- Prompt: 我想看员工 emp001 在 2026-03-10 的考勤详情
|
||
- Expected: `dws attendance record get --user emp001 --date 2026-03-10 --format json`
|
||
- Flags: `--date` = `2026-03-10`, `--user` = `emp001`
|
||
|
||
#### `dws attendance rules`
|
||
|
||
**attendance_attendance_rules_001**
|
||
- Prompt: 查询 2026-03-14 的考勤组与考勤规则
|
||
- Expected: `dws attendance rules --date 2026-03-14 --format json`
|
||
- Flags: `--date` = `2026-03-14`
|
||
|
||
**attendance_attendance_rules_002**
|
||
- Prompt: 今天2026年3月18日的考勤规则是什么
|
||
- Expected: `dws attendance rules --date 2026-03-18 --format json`
|
||
- Flags: `--date` = `2026-03-18`
|
||
|
||
**attendance_attendance_rules_003**
|
||
- Prompt: 帮我看看2026-03-20这天的打卡规则
|
||
- Expected: `dws attendance rules --date 2026-03-20 --format json`
|
||
- Flags: `--date` = `2026-03-20`
|
||
|
||
**attendance_attendance_rules_004**
|
||
- Prompt: 查一下 2026-03-17 09:00:00 对应的考勤组信息
|
||
- Expected: `dws attendance rules --date "2026-03-17 09:00:00" --format json`
|
||
- Flags: `--date` = `2026-03-17 09:00:00`
|
||
|
||
#### `dws attendance shift list`
|
||
|
||
**attendance_attendance_shift_list_001**
|
||
- Prompt: 查询用户 userId1 和 userId2 在 2026-03-03 到 2026-03-07 的班次
|
||
- Expected: `dws attendance shift list --end 2026-03-07 --start 2026-03-03 --users userId1,userId2 --format json`
|
||
- Flags: `--end` = `2026-03-07`, `--start` = `2026-03-03`, `--users` = `userId1,userId2`
|
||
|
||
**attendance_attendance_shift_list_002**
|
||
- Prompt: 帮我看看张三(user001)上周一到上周五的排班情况
|
||
- Expected: `dws attendance shift list --end 2026-03-13 --start 2026-03-09 --users user001 --format json`
|
||
- Flags: `--end` = `2026-03-13`, `--start` = `2026-03-09`, `--users` = `user001`
|
||
|
||
**attendance_attendance_shift_list_003**
|
||
- Prompt: 查询这周(2026-03-16到2026-03-22)团队成员 emp001,emp002,emp003 的排班
|
||
- Expected: `dws attendance shift list --start 2026-03-16 --end 2026-03-22 --users emp001,emp002,emp003 --format json`
|
||
- Flags: `--end` = `2026-03-22`, `--start` = `2026-03-16`, `--users` = `emp001,emp002,emp003`
|
||
|
||
**attendance_attendance_shift_list_004**
|
||
- Prompt: 我想知道 staffA 和 staffB 下周的当班安排,日期是2026-03-23到2026-03-27
|
||
- Expected: `dws attendance shift list --start 2026-03-23 --end 2026-03-27 --users staffA,staffB --format json`
|
||
- Flags: `--end` = `2026-03-27`, `--start` = `2026-03-23`, `--users` = `staffA,staffB`
|
||
|
||
#### `dws attendance summary`
|
||
|
||
**attendance_attendance_summary_001**
|
||
- Prompt: 查询用户 user123 在 2026-03-12 的考勤统计摘要
|
||
- Expected: `dws attendance summary --date "2026-03-12 15:00:00" --user user123 --format json`
|
||
- Flags: `--date` = `2026-03-12 15:00:00`, `--user` = `user123`
|
||
|
||
**attendance_attendance_summary_002**
|
||
- Prompt: 帮我看看员工 emp456 今天 2026-03-18 的打卡情况
|
||
- Expected: `dws attendance summary --date "2026-03-18 00:00:00" --user emp456 --format json`
|
||
- Flags: `--date` = `2026-03-18 00:00:00`, `--user` = `emp456`
|
||
|
||
**attendance_attendance_summary_003**
|
||
- Prompt: 给我看 emp789 在 2026-03-15 这天的考勤汇总
|
||
- Expected: `dws attendance summary --date "2026-03-15 00:00:00" --user emp789 --format json`
|
||
- Flags: `--date` = `2026-03-15 00:00:00`, `--user` = `emp789`
|
||
|
||
**attendance_attendance_summary_004**
|
||
- Prompt: 统计一下 userId99 在 2026-03-18 09:00:00 的考勤数据
|
||
- Expected: `dws attendance summary --date "2026-03-18 09:00:00" --user userId99 --format json`
|
||
- Flags: `--date` = `2026-03-18 09:00:00`, `--user` = `userId99`
|
||
|
||
---
|
||
|
||
### calendar(30 条)
|
||
|
||
#### `dws calendar busy search`
|
||
|
||
**calendar_calendar_busy_search_001**
|
||
- Prompt: 查询用户 user001 在 2026-03-10 14:00 到 18:00 的闲忙状态
|
||
- Expected: `dws calendar busy search --end 2026-03-10T18:00:00+08:00 --start 2026-03-10T14:00:00+08:00 --users user001 --format json`
|
||
- Flags: `--end` = `2026-03-10T18:00:00+08:00`, `--start` = `2026-03-10T14:00:00+08:00`, `--users` = `user001`
|
||
|
||
**calendar_calendar_busy_search_002**
|
||
- Prompt: 看看 emp123 和 emp456 明天上午9点到12点是否有空
|
||
- Expected: `dws calendar busy search --start 2026-03-19T09:00:00+08:00 --end 2026-03-19T12:00:00+08:00 --users emp123,emp456 --format json`
|
||
- Flags: `--end` = `2026-03-19T12:00:00+08:00`, `--start` = `2026-03-19T09:00:00+08:00`, `--users` = `emp123,emp456`
|
||
|
||
#### `dws calendar event create`
|
||
|
||
**calendar_calendar_event_create_001**
|
||
- Prompt: 创建日程,end 为 2026-03-10T15:00:00+08:00, start 为 2026-03-10T14:00:00+08:00, title 为 Q1 复盘会
|
||
- Expected: `dws calendar event create --end 2026-03-10T15:00:00+08:00 --start 2026-03-10T14:00:00+08:00 --title "Q1 复盘会" --format json`
|
||
- Flags: `--end` = `2026-03-10T15:00:00+08:00`, `--start` = `2026-03-10T14:00:00+08:00`, `--title` = `Q1 复盘会`
|
||
|
||
**calendar_calendar_event_create_002**
|
||
- Prompt: 创建一个日程,标题产品评审会,从2026-03-20T14:00:00+08:00到2026-03-20T16:00:00+08:00,描述是讨论Q2产品规划
|
||
- Expected: `dws calendar event create --title "产品评审会" --start "2026-03-20T14:00:00+08:00" --end "2026-03-20T16:00:00+08:00" --desc "讨论Q2产品规划" --format json`
|
||
- Flags: `--desc` = `讨论Q2产品规划`, `--end` = `2026-03-20T16:00:00+08:00`, `--start` = `2026-03-20T14:00:00+08:00`, `--title` = `产品评审会`
|
||
|
||
#### `dws calendar event delete`
|
||
|
||
**calendar_calendar_event_delete_001**
|
||
- Prompt: 删除日程
|
||
- Expected: `dws calendar event delete --id <EVENT_ID> --format json`
|
||
- Flags: `--id` = `<EVENT_ID>`
|
||
|
||
**calendar_calendar_event_delete_002** `[ASK_USER]`
|
||
- Prompt: 把那个会议取消了
|
||
- Expected: `dws calendar event delete --format json`
|
||
|
||
#### `dws calendar event get`
|
||
|
||
**calendar_calendar_event_get_001**
|
||
- Prompt: 获取日程 evt123 的详情
|
||
- Expected: `dws calendar event get --id evt123 --format json`
|
||
- Flags: `--id` = `evt123`
|
||
|
||
**calendar_calendar_event_get_002**
|
||
- Prompt: 查看一下这个日程 evtABC 的具体内容
|
||
- Expected: `dws calendar event get --id evtABC --format json`
|
||
- Flags: `--id` = `evtABC`
|
||
|
||
#### `dws calendar event list`
|
||
|
||
**calendar_calendar_event_list_001**
|
||
- Prompt: 查询日程列表,start 为 2026-03-10T14:00:00+08:00, end 为 2026-03-10T18:00:00+08:00
|
||
- Expected: `dws calendar event list --start "2026-03-10T14:00:00+08:00" --end "2026-03-10T18:00:00+08:00" --format json`
|
||
- Flags: `--start` = `2026-03-10T14:00:00+08:00`, `--end` = `2026-03-10T18:00:00+08:00`
|
||
|
||
**calendar_calendar_event_list_002**
|
||
- Prompt: 看看我最近的日程
|
||
- Expected: `dws calendar event list --format json`
|
||
|
||
#### `dws calendar event update`
|
||
|
||
**calendar_calendar_event_update_001**
|
||
- Prompt: 修改日程 ev123,只把标题改为 紧急会议
|
||
- Expected: `dws calendar event update --id ev123 --title 紧急会议 --format json`
|
||
- Flags: `--id` = `ev123`, `--title` = `紧急会议`
|
||
|
||
**calendar_calendar_event_update_002**
|
||
- Prompt: 把日程 ev456 的开始时间改到 2026-03-26T09:00:00+08:00
|
||
- Expected: `dws calendar event update --id ev456 --start "2026-03-26T09:00:00+08:00" --format json`
|
||
- Flags: `--id` = `ev456`, `--start` = `2026-03-26T09:00:00+08:00`
|
||
|
||
**calendar_calendar_event_update_003**
|
||
- Prompt: 把日程 ev789 的结束时间推迟到 2026-03-26T12:00:00+08:00
|
||
- Expected: `dws calendar event update --id ev789 --end "2026-03-26T12:00:00+08:00" --format json`
|
||
- Flags: `--id` = `ev789`, `--end` = `2026-03-26T12:00:00+08:00`
|
||
|
||
**calendar_calendar_event_update_004**
|
||
- Prompt: 把日程eventId123的标题改成产品评审v2,时间改为2026-03-25T10:00:00+08:00到2026-03-25T12:00:00+08:00
|
||
- Expected: `dws calendar event update --id eventId123 --title "产品评审v2" --start "2026-03-25T10:00:00+08:00" --end "2026-03-25T12:00:00+08:00" --format json`
|
||
- Flags: `--end` = `2026-03-25T12:00:00+08:00`, `--id` = `eventId123`, `--start` = `2026-03-25T10:00:00+08:00`, `--title` = `产品评审v2`
|
||
|
||
**calendar_calendar_event_update_005**
|
||
- Prompt: 帮我把会议 mtgXYZ 改名为周会,时间挪到下周一上午10点到11点
|
||
- Expected: `dws calendar event update --id mtgXYZ --title "周会" --start "2026-03-23T10:00:00+08:00" --end "2026-03-23T11:00:00+08:00" --format json`
|
||
- Flags: `--end` = `2026-03-23T11:00:00+08:00`, `--id` = `mtgXYZ`, `--start` = `2026-03-23T10:00:00+08:00`, `--title` = `周会`
|
||
|
||
#### `dws calendar participant add`
|
||
|
||
**calendar_calendar_participant_add_001**
|
||
- Prompt: 给日程 evt123 添加参与者 user001
|
||
- Expected: `dws calendar participant add --event evt123 --users user001 --format json`
|
||
- Flags: `--event` = `evt123`, `--users` = `user001`
|
||
|
||
**calendar_calendar_participant_add_002**
|
||
- Prompt: 把 user002 和 user003 加到会议 evtXYZ 里
|
||
- Expected: `dws calendar participant add --event evtXYZ --users user002,user003 --format json`
|
||
- Flags: `--event` = `evtXYZ`, `--users` = `user002,user003`
|
||
|
||
#### `dws calendar participant delete`
|
||
|
||
**calendar_calendar_participant_delete_001**
|
||
- Prompt: 从日程 evt123 中移除参与者 user001
|
||
- Expected: `dws calendar participant delete --event evt123 --users user001 --format json`
|
||
- Flags: `--event` = `evt123`, `--users` = `user001`
|
||
|
||
**calendar_calendar_participant_delete_002**
|
||
- Prompt: 把 user002 从会议 evtXYZ 的参与者里删掉
|
||
- Expected: `dws calendar participant delete --event evtXYZ --users user002 --format json`
|
||
- Flags: `--event` = `evtXYZ`, `--users` = `user002`
|
||
|
||
#### `dws calendar participant list`
|
||
|
||
**calendar_calendar_participant_list_001**
|
||
- Prompt: 查看日程 evt123 的参与者列表
|
||
- Expected: `dws calendar participant list --event evt123 --format json`
|
||
- Flags: `--event` = `evt123`
|
||
|
||
**calendar_calendar_participant_list_002**
|
||
- Prompt: 这个会议 evtXYZ 有哪些人参加
|
||
- Expected: `dws calendar participant list --event evtXYZ --format json`
|
||
- Flags: `--event` = `evtXYZ`
|
||
|
||
#### `dws calendar room add`
|
||
|
||
**calendar_calendar_room_add_001**
|
||
- Prompt: 给日程 evt123 预定会议室 room001
|
||
- Expected: `dws calendar room add --event evt123 --rooms room001 --format json`
|
||
- Flags: `--event` = `evt123`, `--rooms` = `room001`
|
||
|
||
**calendar_calendar_room_add_002**
|
||
- Prompt: 把 roomABC 这个会议室加到会议 evtXYZ
|
||
- Expected: `dws calendar room add --event evtXYZ --rooms roomABC --format json`
|
||
- Flags: `--event` = `evtXYZ`, `--rooms` = `roomABC`
|
||
|
||
#### `dws calendar room delete`
|
||
|
||
**calendar_calendar_room_delete_001**
|
||
- Prompt: 从日程 evt123 中移除会议室 room001
|
||
- Expected: `dws calendar room delete --event evt123 --rooms room001 --format json`
|
||
- Flags: `--event` = `evt123`, `--rooms` = `room001`
|
||
|
||
**calendar_calendar_room_delete_002**
|
||
- Prompt: 取消 evtXYZ 会议的会议室预定 roomABC
|
||
- Expected: `dws calendar room delete --event evtXYZ --rooms roomABC --format json`
|
||
- Flags: `--event` = `evtXYZ`, `--rooms` = `roomABC`
|
||
|
||
#### `dws calendar room list-groups`
|
||
|
||
**calendar_calendar_room_list_groups_001**
|
||
- Prompt: 获取所有会议室分组列表
|
||
- Expected: `dws calendar room list-groups --format json`
|
||
|
||
**calendar_calendar_room_list_groups_002**
|
||
- Prompt: 查一下公司有哪些会议室分组
|
||
- Expected: `dws calendar room list-groups --format json`
|
||
|
||
#### `dws calendar room search`
|
||
|
||
**calendar_calendar_room_search_001**
|
||
- Prompt: 搜索会议室,end 为 2026-03-10T15:00:00+08:00, start 为 2026-03-10T14:00:00+08:00
|
||
- Expected: `dws calendar room search --end 2026-03-10T15:00:00+08:00 --start 2026-03-10T14:00:00+08:00 --format json`
|
||
- Flags: `--end` = `2026-03-10T15:00:00+08:00`, `--start` = `2026-03-10T14:00:00+08:00`
|
||
|
||
**calendar_calendar_room_search_002**
|
||
- Prompt: 搜一下2026年3月20日下午2点到4点有空的会议室
|
||
- Expected: `dws calendar room search --start "2026-03-20T14:00:00+08:00" --end "2026-03-20T16:00:00+08:00" --available --format json`
|
||
- Flags: `--available`, `--end` = `2026-03-20T16:00:00+08:00`, `--start` = `2026-03-20T14:00:00+08:00`
|
||
|
||
**calendar_calendar_room_search_003**
|
||
- Prompt: 在分组 group123 中搜索 2026-03-25 上午9点到10点的空闲会议室
|
||
- Expected: `dws calendar room search --start 2026-03-25T09:00:00+08:00 --end 2026-03-25T10:00:00+08:00 --group-id group123 --format json`
|
||
- Flags: `--end` = `2026-03-25T10:00:00+08:00`, `--group-id` = `group123`, `--start` = `2026-03-25T09:00:00+08:00`
|
||
|
||
---
|
||
|
||
### chat(31 条)
|
||
|
||
#### `dws chat bot search`
|
||
|
||
**chat_chat_bot_search_001**
|
||
- Prompt: 搜索我创建的机器人
|
||
- Expected: `dws chat bot search --format json`
|
||
|
||
**chat_chat_bot_search_002**
|
||
- Prompt: 搜索我创建的名字包含日报的机器人,第1页每页10个
|
||
- Expected: `dws chat bot search --name "日报" --page 1 --size 10 --format json`
|
||
- Flags: `--name` = `日报`, `--page` = `1`, `--size` = `10`
|
||
|
||
#### `dws chat group create`
|
||
|
||
**chat_chat_group_create_001**
|
||
- Prompt: 创建群 — 当前登录用户自动成为群主,users 为 userId1,userId2,userId3, name 为 Q1 项目冲刺群
|
||
- Expected: `dws chat group create --users userId1,userId2,userId3 --name "Q1 项目冲刺群" --format json`
|
||
- Flags: `--users` = `userId1,userId2,userId3`, `--name` = `Q1 项目冲刺群`
|
||
|
||
**chat_chat_group_create_002**
|
||
- Prompt: 拉一个群讨论Q2计划,把userId1和userId2拉进来,群名叫Q2规划讨论
|
||
- Expected: `dws chat group create --users userId1,userId2 --name "Q2规划讨论" --format json`
|
||
- Flags: `--name` = `Q2规划讨论`, `--users` = `userId1,userId2`
|
||
|
||
#### `dws chat group members`
|
||
|
||
**chat_chat_group_members_001**
|
||
- Prompt: 查看群 openConvABC 的成员列表
|
||
- Expected: `dws chat group members --id openConvABC --format json`
|
||
- Flags: `--id` = `openConvABC`
|
||
|
||
**chat_chat_group_members_002**
|
||
- Prompt: 查看群 openConvABC 成员列表的下一页,游标是 cursor999
|
||
- Expected: `dws chat group members --id openConvABC --cursor cursor999 --format json`
|
||
- Flags: `--cursor` = `cursor999`, `--id` = `openConvABC`
|
||
|
||
#### `dws chat group members add`
|
||
|
||
**chat_chat_group_members_add_001**
|
||
- Prompt: 向群 conv123 添加成员 user001 和 user002
|
||
- Expected: `dws chat group members add --id conv123 --users user001,user002 --format json`
|
||
- Flags: `--id` = `conv123`, `--users` = `user001,user002`
|
||
|
||
**chat_chat_group_members_add_002**
|
||
- Prompt: 把张三(empABC)拉进 convXYZ 这个群
|
||
- Expected: `dws chat group members add --id convXYZ --users empABC --format json`
|
||
- Flags: `--id` = `convXYZ`, `--users` = `empABC`
|
||
|
||
#### `dws chat group members add-bot`
|
||
|
||
**chat_chat_group_members_add_bot_001**
|
||
- Prompt: 将机器人 robot001 添加到群 conv123
|
||
- Expected: `dws chat group members add-bot --id conv123 --robot-code robot001 --format json`
|
||
- Flags: `--id` = `conv123`, `--robot-code` = `robot001`
|
||
|
||
**chat_chat_group_members_add_bot_002**
|
||
- Prompt: 把 botXYZ 机器人拉进 convABC 这个群
|
||
- Expected: `dws chat group members add-bot --id convABC --robot-code botXYZ --format json`
|
||
- Flags: `--id` = `convABC`, `--robot-code` = `botXYZ`
|
||
|
||
#### `dws chat group members remove`
|
||
|
||
**chat_chat_group_members_remove_001**
|
||
- Prompt: 移除群成员 — 从指定群聊中移除成员,需传入群 ID 与待移除的用户 ID 列表,users 为 userId1,userId2
|
||
- Expected: `dws chat group members remove --id <openconversation_id> --users userId1,userId2 --format json`
|
||
- Flags: `--id` = `<openconversation_id>`, `--users` = `userId1,userId2`
|
||
|
||
**chat_chat_group_members_remove_002**
|
||
- Prompt: 把userId1和userId2从群abc123里踢出去
|
||
- Expected: `dws chat group members remove --id abc123 --users userId1,userId2 --format json`
|
||
- Flags: `--id` = `abc123`, `--users` = `userId1,userId2`
|
||
|
||
#### `dws chat group rename`
|
||
|
||
**chat_chat_group_rename_001**
|
||
- Prompt: 更新群名称,name 为 新群名
|
||
- Expected: `dws chat group rename --id <openconversation_id> --name 新群名 --format json`
|
||
- Flags: `--id` = `<openconversation_id>`, `--name` = `新群名`
|
||
|
||
**chat_chat_group_rename_002**
|
||
- Prompt: 把群abc123改名叫新项目讨论组
|
||
- Expected: `dws chat group rename --id abc123 --name "新项目讨论组" --format json`
|
||
- Flags: `--id` = `abc123`, `--name` = `新项目讨论组`
|
||
|
||
#### `dws chat message list`
|
||
|
||
**chat_chat_message_list_001**
|
||
- Prompt: 拉取群聊会话消息内容,time 为 2025-03-01 00:00:00
|
||
- Expected: `dws chat message list --group <openconversation_id> --time "2025-03-01 00:00:00" --format json`
|
||
- Flags: `--group` = `<openconversation_id>`, `--time` = `2025-03-01 00:00:00`
|
||
|
||
**chat_chat_message_list_002**
|
||
- Prompt: 拉取和userId123的单聊消息记录,从2025年3月1号开始
|
||
- Expected: `dws chat message list --user userId123 --time "2025-03-01 00:00:00" --format json`
|
||
- Flags: `--time` = `2025-03-01 00:00:00`, `--user` = `userId123`
|
||
|
||
**chat_chat_message_list_003**
|
||
- Prompt: 拉取群abc123从2025年3月10号开始往前的消息,最多50条
|
||
- Expected: `dws chat message list --group abc123 --time "2025-03-10 00:00:00" --forward false --limit 50 --format json`
|
||
- Flags: `--forward` = `false`, `--group` = `abc123`, `--limit` = `50`, `--time` = `2025-03-10 00:00:00`
|
||
|
||
#### `dws chat message recall-by-bot`
|
||
|
||
**chat_chat_message_recall_by_bot_001**
|
||
- Prompt: 用机器人 robot1 撤回群 openConvABC 中的消息,消息key是 msgKey001
|
||
- Expected: `dws chat message recall-by-bot --group <openconversation_id> --keys <process-query-key> --robot-code <robot-code> --format json`
|
||
- Flags: `--group` = `<openconversation_id>`, `--keys` = `<process-query-key>`, `--robot-code` = `<robot-code>`
|
||
|
||
**chat_chat_message_recall_by_bot_002**
|
||
- Prompt: 用机器人myBot撤回单聊消息,消息key是key123和key456
|
||
- Expected: `dws chat message recall-by-bot --robot-code myBot --keys key123,key456 --format json`
|
||
- Flags: `--keys` = `key123,key456`, `--robot-code` = `myBot`
|
||
|
||
#### `dws chat message send`
|
||
|
||
**chat_chat_message_send_001**
|
||
- Prompt: 在群 openConvABC 发一条消息:大家好
|
||
- Expected: `dws chat message send --conversation-id openConvABC "大家好" --format json`
|
||
- Flags: `--conversation-id` = `openConvABC`
|
||
|
||
**chat_chat_message_send_002**
|
||
- Prompt: 给userId123发一条私聊消息,标题是提醒,内容是请查收报告
|
||
- Expected: `dws chat message send --user userId123 --title "提醒" "请查收报告" --format json`
|
||
- Flags: `--title` = `提醒`, `--user` = `userId123`
|
||
|
||
**chat_chat_message_send_003**
|
||
- Prompt: 在群 groupId456 发一条带标题的通知:周报提醒,请大家本周五前提交周报
|
||
- Expected: `dws chat message send --conversation-id groupId456 --title "周报提醒" "请大家本周五前提交周报" --format json`
|
||
- Flags: `--conversation-id` = `groupId456`, `--title` = `周报提醒`
|
||
|
||
#### `dws chat message send-by-bot`
|
||
|
||
**chat_chat_message_send_by_bot_001**
|
||
- Prompt: 机器人发送群聊消息,text 为 ## 今日完成..., title 为 日报
|
||
- Expected: `dws chat message send-by-bot --group <openconversation_id> --robot-code <robot-code> --text "## 今日完成..." --title 日报 --format json`
|
||
- Flags: `--text` = `## 今日完成...`, `--group` = `<openconversation_id>`, `--robot-code` = `<robot-code>`, `--title` = `日报`
|
||
|
||
**chat_chat_message_send_by_bot_002**
|
||
- Prompt: 用机器人myBot给userId1和userId2发私聊消息,标题是通知,内容是请查收周报
|
||
- Expected: `dws chat message send-by-bot --robot-code myBot --users userId1,userId2 --title "通知" --text "请查收周报" --format json`
|
||
- Flags: `--text` = `请查收周报`, `--robot-code` = `myBot`, `--title` = `通知`, `--users` = `userId1,userId2`
|
||
|
||
#### `dws chat message send-by-webhook`
|
||
|
||
**chat_chat_message_send_by_webhook_001**
|
||
- Prompt: 通过 Webhook token1 发一条告警消息:CPU 超 90%
|
||
- Expected: `dws chat message send-by-webhook --content "CPU 超 90%" --title 告警 --token token1 --format json`
|
||
- Flags: `--content` = `CPU 超 90%`, `--title` = `告警`, `--token` = `token1`
|
||
|
||
**chat_chat_message_send_by_webhook_002**
|
||
- Prompt: 通过webhook发群消息,token是tokenABC,标题告警,内容CPU使用率超过90%,@所有人
|
||
- Expected: `dws chat message send-by-webhook --token tokenABC --title "告警" --content "CPU使用率超过90%" --at-all --format json`
|
||
- Flags: `--at-all`, `--content` = `CPU使用率超过90%`, `--title` = `告警`, `--token` = `tokenABC`
|
||
|
||
**chat_chat_message_send_by_webhook_003**
|
||
- Prompt: 用 Webhook tokenXYZ 发消息,标题是「审批提醒」,内容是「请及时审批」,并@用户 user001 和 user002
|
||
- Expected: `dws chat message send-by-webhook --token tokenXYZ --title "审批提醒" --content "@user001 @user002 请及时审批" --at-users user001,user002 --format json`
|
||
- Flags: `--at-users` = `user001,user002`, `--content` = `@user001 @user002 请及时审批`, `--title` = `审批提醒`, `--token` = `tokenXYZ`
|
||
|
||
**chat_chat_message_send_by_webhook_004**
|
||
- Prompt: 用 Webhook tokenDEF 发通知,标题是「会议通知」,内容是「请参加今日下午的会议」,并@手机号 13800138000 和 13900139000
|
||
- Expected: `dws chat message send-by-webhook --token tokenDEF --title "会议通知" --content "@13800138000 @13900139000 请参加今日下午的会议" --at-mobiles 13800138000,13900139000 --format json`
|
||
- Flags: `--at-mobiles` = `13800138000,13900139000`, `--content` = `@13800138000 @13900139000 请参加今日下午的会议`, `--title` = `会议通知`, `--token` = `tokenDEF`
|
||
|
||
#### `dws chat search`
|
||
|
||
**chat_chat_search_001**
|
||
- Prompt: 根据名称搜索会话列表,query 为 项目冲刺
|
||
- Expected: `dws chat search --query 项目冲刺 --format json`
|
||
- Flags: `--query` = `项目冲刺`
|
||
|
||
**chat_chat_search_002**
|
||
- Prompt: 搜一下有没有叫项目组的群
|
||
- Expected: `dws chat search --query "项目组" --format json`
|
||
- Flags: `--query` = `项目组`
|
||
|
||
**chat_chat_search_003**
|
||
- Prompt: 继续搜索关键词 项目冲刺 的下一页结果,游标 cursorXYZ
|
||
- Expected: `dws chat search --query 项目冲刺 --cursor cursorXYZ --format json`
|
||
- Flags: `--cursor` = `cursorXYZ`, `--query` = `项目冲刺`
|
||
|
||
---
|
||
|
||
### contact(14 条)
|
||
|
||
#### `dws contact dept list-children`
|
||
|
||
**contact_contact_dept_list_children_001**
|
||
- Prompt: 查看部门 12345 的子部门列表
|
||
- Expected: `dws contact dept list-children --id 12345 --format json`
|
||
- Flags: `--id` = `12345`
|
||
|
||
**contact_contact_dept_list_children_002**
|
||
- Prompt: 技术部(ID 67890)下面有哪些二级部门
|
||
- Expected: `dws contact dept list-children --id 67890 --format json`
|
||
- Flags: `--id` = `67890`
|
||
|
||
#### `dws contact dept list-members`
|
||
|
||
**contact_contact_dept_list_members_001**
|
||
- Prompt: 查看部门 12345 和 67890 的成员列表
|
||
- Expected: `dws contact dept list-members --ids 12345,67890 --format json`
|
||
- Flags: `--ids` = `12345,67890`
|
||
|
||
**contact_contact_dept_list_members_002**
|
||
- Prompt: 研发部(ID 11111)有哪些员工
|
||
- Expected: `dws contact dept list-members --ids 11111 --format json`
|
||
- Flags: `--ids` = `11111`
|
||
|
||
#### `dws contact dept search`
|
||
|
||
**contact_contact_dept_search_001**
|
||
- Prompt: 搜索部门,keyword 为 技术部
|
||
- Expected: `dws contact dept search --query 技术部 --format json`
|
||
- Flags: `--query` = `技术部`
|
||
|
||
**contact_contact_dept_search_002**
|
||
- Prompt: 搜一下技术部的部门信息
|
||
- Expected: `dws contact dept search --query "技术部" --format json`
|
||
- Flags: `--query` = `技术部`
|
||
|
||
#### `dws contact user get`
|
||
|
||
**contact_contact_user_get_001**
|
||
- Prompt: 批量获取用户 user001 和 user002 的详细信息
|
||
- Expected: `dws contact user get --ids user001,user002 --format json`
|
||
- Flags: `--ids` = `user001,user002`
|
||
|
||
**contact_contact_user_get_002**
|
||
- Prompt: 查一下员工 empABC 的信息
|
||
- Expected: `dws contact user get --ids empABC --format json`
|
||
- Flags: `--ids` = `empABC`
|
||
|
||
#### `dws contact user get-self`
|
||
|
||
**contact_contact_user_get_self_001**
|
||
- Prompt: 获取当前用户信息
|
||
- Expected: `dws contact user get-self --format json`
|
||
|
||
**contact_contact_user_get_self_002**
|
||
- Prompt: 我是谁,查一下当前登录账号的资料
|
||
- Expected: `dws contact user get-self --format json`
|
||
|
||
#### `dws contact user search`
|
||
|
||
**contact_contact_user_search_001**
|
||
- Prompt: 按关键词搜索用户,keyword 为 张三
|
||
- Expected: `dws contact user search --query 张三 --format json`
|
||
- Flags: `--query` = `张三`
|
||
|
||
**contact_contact_user_search_002**
|
||
- Prompt: 帮我找一下张三的联系方式
|
||
- Expected: `dws contact user search --query "张三" --format json`
|
||
- Flags: `--query` = `张三`
|
||
|
||
#### `dws contact user search-mobile`
|
||
|
||
**contact_contact_user_search_mobile_001**
|
||
- Prompt: 按手机号 13800138000 搜索用户
|
||
- Expected: `dws contact user search-mobile --mobile 13800138000 --format json`
|
||
- Flags: `--mobile` = `13800138000`
|
||
|
||
**contact_contact_user_search_mobile_002**
|
||
- Prompt: 查一下 15912345678 这个手机号是哪个员工
|
||
- Expected: `dws contact user search-mobile --mobile 15912345678 --format json`
|
||
- Flags: `--mobile` = `15912345678`
|
||
|
||
---
|
||
|
||
### dev(25 条)
|
||
|
||
#### `dws dev app list`
|
||
|
||
**dev_app_list_001**
|
||
- Prompt: 搜索开放平台应用,应用名是 DemoApp
|
||
- Expected: `dws dev app list --name DemoApp --format json`
|
||
- Flags: `--name` = `DemoApp`
|
||
|
||
**dev_app_list_002**
|
||
- Prompt: 分页查询开放平台应用,第 2 页,每页 10 条,按修改时间倒序
|
||
- Expected: `dws dev app list --page 2 --page-size 10 --sort gmt_modified --order desc --format json`
|
||
- Flags: `--page` = `2`, `--page-size` = `10`, `--sort` = `gmt_modified`, `--order` = `desc`
|
||
|
||
**dev_app_list_003**
|
||
- Prompt: 在开发者后台搜索企业内部应用 DemoApp
|
||
- Expected: `dws dev app list --name DemoApp --format json`
|
||
- Flags: `--name` = `DemoApp`
|
||
|
||
#### `dws dev app get`
|
||
|
||
**dev_app_get_001**
|
||
- Prompt: 查看统一应用 UNIFIED_APP_ID 的应用详情
|
||
- Expected: `dws dev app get --unified-app-id UNIFIED_APP_ID --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`
|
||
|
||
**dev_app_get_002**
|
||
- Prompt: 按 appKey dingxxx 查开放平台应用详情
|
||
- Expected: `dws dev app get --app-key dingxxx --format json`
|
||
- Flags: `--app-key` = `dingxxx`
|
||
|
||
**dev_app_get_003**
|
||
- Prompt: 查开放平台应用 DemoApp 的 appKey、clientId 和 agentId
|
||
- Expected: `dws dev app list --name DemoApp --format json`
|
||
- Flags: `--name` = `DemoApp`
|
||
|
||
#### `dws dev app create`
|
||
|
||
**dev_app_create_001**
|
||
- Prompt: 创建一个企业内部应用,名称 DemoApp,描述是内部应用
|
||
- Expected: `dws dev app create --name DemoApp --desc "内部应用" --type internal --dry-run --format json`
|
||
- Flags: `--name` = `DemoApp`, `--desc` = `内部应用`, `--type` = `internal`
|
||
|
||
**dev_app_create_002**
|
||
- Prompt: 已确认创建企业内部应用 DemoApp
|
||
- Expected: `dws dev app create --name DemoApp --type internal --yes --format json`
|
||
- Flags: `--name` = `DemoApp`, `--type` = `internal`
|
||
|
||
#### `dws dev app update`
|
||
|
||
**dev_app_update_001**
|
||
- Prompt: 把应用 UNIFIED_APP_ID 的描述改成 新描述
|
||
- Expected: `dws dev app update --unified-app-id UNIFIED_APP_ID --desc "新描述" --dry-run --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--desc` = `新描述`
|
||
|
||
#### `dws dev app delete`
|
||
|
||
**dev_app_delete_001**
|
||
- Prompt: 删除开放平台应用 UNIFIED_APP_ID,先给我预览
|
||
- Expected: `dws dev app delete --unified-app-id UNIFIED_APP_ID --dry-run --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`
|
||
|
||
#### `dws dev app credentials get`
|
||
|
||
**dev_app_credentials_get_001**
|
||
- Prompt: 查询应用 UNIFIED_APP_ID 的开放平台凭证
|
||
- Expected: `dws dev app credentials get --unified-app-id UNIFIED_APP_ID --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`
|
||
|
||
**dev_app_credentials_get_002**
|
||
- Prompt: 查询 AgentId AGENT_ID 对应应用的开放平台凭证
|
||
- Expected: `dws dev app credentials get --agent-id AGENT_ID --format json`
|
||
- Flags: `--agent-id` = `AGENT_ID`
|
||
|
||
#### `dws dev app member list`
|
||
|
||
**dev_app_member_list_001**
|
||
- Prompt: 查看开放平台应用 UNIFIED_APP_ID 的成员
|
||
- Expected: `dws dev app member list --unified-app-id UNIFIED_APP_ID --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`
|
||
|
||
#### `dws dev app member add`
|
||
|
||
**dev_app_member_add_001**
|
||
- Prompt: 给开放平台应用 UNIFIED_APP_ID 添加开发者成员 userId1,userId2,先预览
|
||
- Expected: `dws dev app member add --unified-app-id UNIFIED_APP_ID --user-ids userId1,userId2 --member-type DEVELOPER --dry-run --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--user-ids` = `userId1,userId2`, `--member-type` = `DEVELOPER`
|
||
|
||
#### `dws dev app member remove`
|
||
|
||
**dev_app_member_remove_001**
|
||
- Prompt: 已确认,从开放平台应用 UNIFIED_APP_ID 移除开发者成员 userId1
|
||
- Expected: `dws dev app member remove --unified-app-id UNIFIED_APP_ID --user-ids userId1 --member-type DEVELOPER --yes --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--user-ids` = `userId1`, `--member-type` = `DEVELOPER`, `--yes`
|
||
|
||
#### `dws dev app security config`
|
||
|
||
**dev_app_security_config_001**
|
||
- Prompt: 给开放平台应用 UNIFIED_APP_ID 配置 IP 白名单 192.0.2.10,先预览
|
||
- Expected: `dws dev app security config --unified-app-id UNIFIED_APP_ID --ip-whitelist 192.0.2.10 --dry-run --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--ip-whitelist` = `192.0.2.10`
|
||
|
||
#### `dws dev app permission list`
|
||
|
||
**dev_app_permission_list_001**
|
||
- Prompt: 查询应用 UNIFIED_APP_ID 已开通和未开通的全部 APP、SNS 权限
|
||
- Expected: `dws dev app permission list --unified-app-id UNIFIED_APP_ID --status all --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--status` = `all`
|
||
|
||
**dev_app_permission_list_002**
|
||
- Prompt: 搜索应用 UNIFIED_APP_ID 里机器人发送消息相关的未开通权限
|
||
- Expected: `dws dev app permission list --unified-app-id UNIFIED_APP_ID --keyword "机器人发送消息" --status unauthed --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--keyword` = `机器人发送消息`, `--status` = `unauthed`
|
||
|
||
**dev_app_permission_list_003**
|
||
- Prompt: 看一下权限 qyapi_robot_sendmsg 覆盖哪些 API
|
||
- Expected: `dws dev app permission list --unified-app-id UNIFIED_APP_ID --scope qyapi_robot_sendmsg --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--scope` = `qyapi_robot_sendmsg`
|
||
|
||
**dev_app_permission_list_004**
|
||
- Prompt: 给开放平台应用 UNIFIED_APP_ID 搜索手机号权限,应用权限和个人权限都要展示
|
||
- Expected: `dws dev app permission list --unified-app-id UNIFIED_APP_ID --keyword "手机号" --status all --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--keyword` = `手机号`, `--status` = `all`
|
||
|
||
#### `dws dev app permission add`
|
||
|
||
**dev_app_permission_add_001**
|
||
- Prompt: 给应用 UNIFIED_APP_ID 申请 qyapi_robot_sendmsg 权限,先预览
|
||
- Expected: `dws dev app permission add --unified-app-id UNIFIED_APP_ID --permissions qyapi_robot_sendmsg --dry-run --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--permissions` = `qyapi_robot_sendmsg`
|
||
|
||
**dev_app_permission_add_002**
|
||
- Prompt: 已确认,给应用 UNIFIED_APP_ID 申请 Contact.User.mobile 权限
|
||
- Expected: `dws dev app permission add --unified-app-id UNIFIED_APP_ID --permissions Contact.User.mobile --yes --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--permissions` = `Contact.User.mobile`
|
||
|
||
#### `dws dev app permission remove`
|
||
|
||
**dev_app_permission_remove_001**
|
||
- Prompt: 从应用 UNIFIED_APP_ID 移除 qyapi_robot_sendmsg 权限,先预览
|
||
- Expected: `dws dev app permission remove --unified-app-id UNIFIED_APP_ID --permission qyapi_robot_sendmsg --dry-run --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--permission` = `qyapi_robot_sendmsg`
|
||
|
||
#### `dws dev app event list`
|
||
|
||
**dev_app_event_list_001**
|
||
- Prompt: 查询应用 UNIFIED_APP_ID 的事件订阅配置
|
||
- Expected: `dws dev app event list --unified-app-id UNIFIED_APP_ID --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`
|
||
|
||
#### `dws dev app version publish`
|
||
|
||
**dev_app_version_publish_001**
|
||
- Prompt: 已确认,发布应用 UNIFIED_APP_ID 的版本 VERSION_ID,审批人是 USERID
|
||
- Expected: `dws dev app version publish --unified-app-id UNIFIED_APP_ID --version-id VERSION_ID --approver USERID --yes --format json`
|
||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--version-id` = `VERSION_ID`, `--approver` = `USERID`
|
||
|
||
---
|
||
|
||
### event(40 条)
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_at_001**
|
||
- Prompt: 监听有人 @ 我的消息
|
||
- Expected: `dws event +listen-im --kind at-me`
|
||
- Flags: `--kind` = `at-me`
|
||
|
||
#### `dws event consume user_im_message_receive_o2o`
|
||
|
||
**event_event_consume_o2o_001**
|
||
- Prompt: 用原始 EventKey user_im_message_receive_o2o 监听我和 userId test-user-001 的单聊消息
|
||
- Expected: `dws event consume user_im_message_receive_o2o --user test-user-001 --flatten -f ndjson`
|
||
- Flags: `--user` = `test-user-001`
|
||
|
||
**event_event_consume_o2o_open_id_001**
|
||
- Prompt: 用原始 EventKey user_im_message_receive_o2o 监听我和 openDingtalkId abc 的单聊消息
|
||
- Expected: `dws event consume user_im_message_receive_o2o --open-dingtalk-id abc --flatten -f ndjson`
|
||
- Flags: `--open-dingtalk-id` = `abc`
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_o2o_003** `[ASK_USER]`
|
||
- Prompt: 监听我的个人单聊消息
|
||
- Expected: `dws event +listen-im`
|
||
|
||
**event_event_consume_o2o_auto_reply_001**
|
||
- Prompt: 监听 userId test-user-001 发给我的消息,并对方发什么自动回复什么
|
||
- Expected: `dws event +listen-im --kind sender --user test-user-001`
|
||
- Flags: `--kind` = `sender`, `--user` = `test-user-001`
|
||
- Contract: 等待 stderr 的 `[event] ready`;从每行 NDJSON 顶层读取 `content` 和 `sender_open_dingtalk_id`,持续读取 stdout,不使用轮询或 output-dir watcher
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_group_001**
|
||
- Prompt: 监听 openConversationId cid123 的群消息
|
||
- Expected: `dws event +listen-im --kind group --chat-id cid123`
|
||
- Flags: `--chat-id` = `cid123`, `--kind` = `group`
|
||
- Contract: 群自动回复时直接读取事件顶层 `conversation_id`
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_user_001**
|
||
- Prompt: 监听 userId test-user-001 发给我的消息,包括单聊和群聊
|
||
- Expected: `dws event +listen-im --kind sender --user test-user-001`
|
||
- Flags: `--kind` = `sender`, `--user` = `test-user-001`
|
||
|
||
**event_event_consume_user_open_id_001**
|
||
- Prompt: 监听 openDingtalkId abc 发给我的消息,包括单聊和群聊
|
||
- Expected: `dws event +listen-im --kind sender --open-dingtalk-id abc`
|
||
- Flags: `--kind` = `sender`, `--open-dingtalk-id` = `abc`
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_o2o_all_001**
|
||
- Prompt: 监听我收到的所有单聊消息
|
||
- Expected: `dws event +listen-im --kind all-direct`
|
||
- Flags: `--kind` = `all-direct`
|
||
- Contract: 只有用户明确要求“所有”时使用,不得替代指定用户的 `receive_o2o`
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_group_all_001**
|
||
- Prompt: 监听我所在的所有群消息
|
||
- Expected: `dws event +listen-im --kind all-group`
|
||
- Flags: `--kind` = `all-group`
|
||
- Contract: 只有用户明确要求“所有”时使用,不得替代指定群的 `receive_group`
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_read_o2o_001**
|
||
- Prompt: 监听我发给 userId test-user-001 的单聊消息是否已读
|
||
- Expected: `dws event +listen-im --kind sender --events read --user test-user-001`
|
||
- Flags: `--events` = `read`, `--kind` = `sender`, `--user` = `test-user-001`
|
||
- Contract: 从每行 NDJSON 顶层读取 `message_id`、`reader`、`reader_open_dingtalk_id`、`read_time`
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_read_group_001**
|
||
- Prompt: 监听 openConversationId cid123 群里我发的消息是否已读
|
||
- Expected: `dws event +listen-im --kind group --events read --chat-id cid123`
|
||
- Flags: `--chat-id` = `cid123`, `--events` = `read`, `--kind` = `group`
|
||
- Contract: 从每行 NDJSON 顶层读取 `conversation_id`、`reader`、`reader_open_dingtalk_id`、`read_time`
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_recall_o2o_001**
|
||
- Prompt: 监听我和 userId test-user-001 的单聊消息撤回事件
|
||
- Expected: `dws event +listen-im --kind sender --events recall --user test-user-001`
|
||
- Flags: `--events` = `recall`, `--kind` = `sender`, `--user` = `test-user-001`
|
||
- Contract: 从每行 NDJSON 顶层读取 `message_id`、`recaller`、`recaller_open_dingtalk_id`、`recall_time`
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_recall_group_001**
|
||
- Prompt: 监听 openConversationId cid123 的群消息撤回事件
|
||
- Expected: `dws event +listen-im --kind group --events recall --chat-id cid123`
|
||
- Flags: `--chat-id` = `cid123`, `--events` = `recall`, `--kind` = `group`
|
||
- Contract: 从每行 NDJSON 顶层读取 `conversation_id`、`recaller`、`recaller_open_dingtalk_id`、`recall_time`
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_reaction_o2o_001**
|
||
- Prompt: 监听我和 userId test-user-001 的单聊消息贴表情事件
|
||
- Expected: `dws event +listen-im --kind sender --events reaction --user test-user-001`
|
||
- Flags: `--events` = `reaction`, `--kind` = `sender`, `--user` = `test-user-001`
|
||
- Contract: 从每行 NDJSON 顶层读取 `operator`、`operator_open_dingtalk_id`、`reaction_name`、`operation_type`
|
||
|
||
**event_event_consume_reaction_o2o_open_id_001**
|
||
- Prompt: 监听我和 openDingtalkId abc 的单聊消息贴表情事件
|
||
- Expected: `dws event +listen-im --kind sender --events reaction --open-dingtalk-id abc`
|
||
- Flags: `--events` = `reaction`, `--kind` = `sender`, `--open-dingtalk-id` = `abc`
|
||
- Contract: 从每行 NDJSON 顶层读取 `operator`、`operator_open_dingtalk_id`、`reaction_name`、`operation_type`
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_reaction_group_001**
|
||
- Prompt: 监听 openConversationId cid123 的群消息表情回应事件
|
||
- Expected: `dws event +listen-im --kind group --events reaction --chat-id cid123`
|
||
- Flags: `--chat-id` = `cid123`, `--events` = `reaction`, `--kind` = `group`
|
||
- Contract: 从每行 NDJSON 顶层读取 `conversation_id`、`operator`、`reaction_name`、`reaction_text`、`operation_type`
|
||
|
||
#### `dws event consume user_im_group_updated`
|
||
|
||
**event_event_consume_group_updated_001**
|
||
- Prompt: 监听 openConversationId cid123 群的群标题变更
|
||
- Expected: `dws event consume user_im_group_updated --group cid123 --flatten -f ndjson`
|
||
- Flags: `--group` = `cid123`
|
||
- Contract: 只读取顶层公共字段和实际 `payload`,不得猜测群标题或操作者字段
|
||
|
||
#### `dws event consume user_im_group_member_added`
|
||
|
||
**event_event_consume_group_member_added_001**
|
||
- Prompt: 监听有人加入 openConversationId cid123 群
|
||
- Expected: `dws event consume user_im_group_member_added --group cid123 --flatten -f ndjson`
|
||
- Flags: `--group` = `cid123`
|
||
- Contract: 从顶层读取 `conversation_id`、`operator`、`operator_open_dingtalk_id`、`members`、`event_time`;`members` 支持多人并读取 `nick/open_dingtalk_id`
|
||
|
||
#### `dws event consume user_im_group_member_exited`
|
||
|
||
**event_event_consume_group_member_exited_001**
|
||
- Prompt: 监听有人退出 openConversationId cid123 群
|
||
- Expected: `dws event consume user_im_group_member_exited --group cid123 --flatten -f ndjson`
|
||
- Flags: `--group` = `cid123`
|
||
- Contract: 从顶层读取 `conversation_id`、`operator`、`operator_open_dingtalk_id`、`members`、`event_time`;成员自行退出时允许操作人字段为空
|
||
|
||
#### `dws event consume user_im_group_disbanded`
|
||
|
||
**event_event_consume_group_disbanded_001**
|
||
- Prompt: 监听 openConversationId cid-test-disbanded 测试群被解散
|
||
- Expected: `dws event consume user_im_group_disbanded --group cid-test-disbanded --flatten -f ndjson`
|
||
- Flags: `--group` = `cid-test-disbanded`
|
||
- Contract: 只监听事件;如需触发自测,必须确认目标是可销毁测试群并提示解散不可逆
|
||
|
||
#### `dws chat search`
|
||
|
||
**event_lookup_group_001**
|
||
- Prompt: 监听项目群的消息
|
||
- Expected: `dws chat search --query "项目群" --format json`
|
||
- Flags: `--query` = `"项目群"`
|
||
|
||
#### `dws event +listen-im`
|
||
|
||
**event_event_consume_many_user_001**
|
||
- Prompt: 同时监听 userId test-user-001 发给我的消息,以及我和他的单聊已读、撤回事件
|
||
- Expected: `dws event +listen-im --kind sender --events message,read,recall --user test-user-001`
|
||
- Flags: `--events` = `message,read,recall`, `--kind` = `sender`, `--user` = `test-user-001`
|
||
- Contract: 保存每条 `[event] subscription` 的 subscribe ID,等待 `[event] ready event_count=3` 后处理 stdout;停止一个 subscribe ID 时其余两个继续监听
|
||
|
||
#### `dws event consume` 多事件
|
||
|
||
**event_event_consume_many_group_001**
|
||
- Prompt: 同时监听 openConversationId cid123 的群消息、群改名和群解散事件
|
||
- Expected: `dws event consume user_im_message_receive_group user_im_group_updated user_im_group_disbanded --group cid123 --flatten -f ndjson`
|
||
- Flags: `--group` = `cid123`
|
||
- Contract: 同一群使用一个多事件进程;不同群或不同过滤条件必须拆成多个 consume 进程
|
||
|
||
#### `dws event consume` OA 审批事件
|
||
|
||
**event_event_consume_oa_task_created_001**
|
||
- Prompt: 有新的待我审批任务创建时实时通知我
|
||
- Expected: `dws event consume user_oa_approval_task_created --flatten -f ndjson`
|
||
|
||
**event_event_consume_oa_task_finished_001**
|
||
- Prompt: 我的审批任务完成时实时通知我
|
||
- Expected: `dws event consume user_oa_approval_task_finished --flatten -f ndjson`
|
||
|
||
**event_event_consume_oa_task_redirected_001**
|
||
- Prompt: 待我处理的审批任务被转交时实时通知我
|
||
- Expected: `dws event consume user_oa_approval_task_redirected --flatten -f ndjson`
|
||
|
||
**event_event_consume_oa_instance_started_001**
|
||
- Prompt: 有和我相关的审批实例发起时实时通知我
|
||
- Expected: `dws event consume user_oa_approval_instance_started --flatten -f ndjson`
|
||
|
||
**event_event_consume_oa_instance_cc_001**
|
||
- Prompt: 有审批实例抄送给我时实时通知我
|
||
- Expected: `dws event consume user_oa_approval_instance_cc --flatten -f ndjson`
|
||
|
||
**event_event_consume_oa_instance_terminated_001**
|
||
- Prompt: 和我相关的审批实例终止时实时通知我
|
||
- Expected: `dws event consume user_oa_approval_instance_terminated --flatten -f ndjson`
|
||
|
||
**event_event_consume_oa_instance_finished_001**
|
||
- Prompt: 我发起的审批实例完成时实时通知我
|
||
- Expected: `dws event consume user_oa_approval_instance_finished --flatten -f ndjson`
|
||
|
||
#### `dws event consume` 底层控制
|
||
|
||
**event_event_consume_raw_envelope_001**
|
||
- Prompt: 用原始 EventKey user_im_message_receive_at 监听,并输出原始 transport envelope
|
||
- Expected: `dws event consume user_im_message_receive_at --max-events 1 -f raw`
|
||
- Flags: `--max-events` = `1`
|
||
|
||
**event_event_consume_filter_dsl_001**
|
||
- Prompt: 用 Filter DSL 监听内容等于 urgent 的 @我消息
|
||
- Expected: `dws event consume user_im_message_receive_at --filter-json '{"field":"content","op":"eq","value":"urgent"}' --flatten -f ndjson`
|
||
- Flags: `--filter-json` = `{"field":"content","op":"eq","value":"urgent"}`
|
||
|
||
**event_event_consume_subscribe_id_001**
|
||
- Prompt: 复用个人事件订阅 subId-existing 继续消费十分钟
|
||
- Expected: `dws event consume --subscribe-id subId-existing --duration 10m --flatten -f ndjson`
|
||
- Flags: `--duration` = `10m`, `--subscribe-id` = `subId-existing`
|
||
|
||
#### `dws event schema`
|
||
|
||
**event_event_schema_im_001**
|
||
- Prompt: 查看 user_im_message_receive_at 的扁平输出字段
|
||
- Expected: `dws event schema user_im_message_receive_at --flatten -f json`
|
||
|
||
**event_event_schema_oa_001**
|
||
- Prompt: 查看 user_oa_approval_task_created 的扁平输出字段
|
||
- Expected: `dws event schema user_oa_approval_task_created --flatten -f json`
|
||
|
||
#### `dws chat message list`
|
||
|
||
**event_negative_history_chat_001**
|
||
- Prompt: 查看 cid123 群从 2026-08-01 00:00:00 开始的历史消息
|
||
- Expected: `dws chat message list --group cid123 --time "2026-08-01 00:00:00" --format json`
|
||
- Flags: `--group` = `cid123`, `--time` = `2026-08-01 00:00:00`
|
||
|
||
#### `dws oa approval list-pending`
|
||
|
||
**event_negative_oa_crud_001**
|
||
- Prompt: 查询 8 月第一周待我处理的审批单
|
||
- Expected: `dws oa approval list-pending --start "2026-08-01T00:00:00+08:00" --end "2026-08-08T00:00:00+08:00" --format json`
|
||
- Flags: `--end` = `2026-08-08T00:00:00+08:00`, `--start` = `2026-08-01T00:00:00+08:00`
|
||
|
||
#### `dws dev app event list`
|
||
|
||
**event_negative_devapp_event_001**
|
||
- Prompt: 查看开放平台应用 app123 已配置的回调事件
|
||
- Expected: `dws dev app event list --unified-app-id app123 --format json`
|
||
- Flags: `--unified-app-id` = `app123`
|
||
|
||
#### `dws event status`
|
||
|
||
**event_event_status_001**
|
||
- Prompt: 查看指定单聊个人事件订阅状态
|
||
- Expected: `dws event status --event user_im_message_receive_o2o`
|
||
- Flags: `--event` = `user_im_message_receive_o2o`
|
||
|
||
#### `dws event stop`
|
||
|
||
**event_event_stop_001**
|
||
- Prompt: 停止个人事件订阅 subId-abc123
|
||
- Expected: `dws event stop subId-abc123`
|
||
|
||
---
|
||
|
||
### ding(5 条)
|
||
|
||
#### `dws ding message recall`
|
||
|
||
**ding_ding_message_recall_001**
|
||
- Prompt: 撤回 DING 消息 ding123,机器人代码 robot001
|
||
- Expected: `dws ding message recall --id ding123 --robot-code robot001 --format json`
|
||
- Flags: `--id` = `ding123`, `--robot-code` = `robot001`
|
||
|
||
**ding_ding_message_recall_002**
|
||
- Prompt: 把刚发的 DING 消息 dingXYZ 用机器人 botABC 撤回
|
||
- Expected: `dws ding message recall --id dingXYZ --robot-code botABC --format json`
|
||
- Flags: `--id` = `dingXYZ`, `--robot-code` = `botABC`
|
||
|
||
#### `dws ding message send`
|
||
|
||
**ding_ding_message_send_001**
|
||
- Prompt: 发送 DING 消息,content 为 请查看, robot-code 为 <ROBOT_CODE>, users 为 <USER_ID_1>
|
||
- Expected: `dws ding message send --content 请查看 --robot-code <ROBOT_CODE> --users <USER_ID_1> --format json`
|
||
- Flags: `--content` = `请查看`, `--robot-code` = `<ROBOT_CODE>`, `--users` = `<USER_ID_1>`
|
||
|
||
**ding_ding_message_send_002**
|
||
- Prompt: 用机器人botCode123给userId1发一条电话DING,内容是紧急请回电
|
||
- Expected: `dws ding message send --robot-code botCode123 --users userId1 --content "紧急请回电" --type call --format json`
|
||
- Flags: `--content` = `紧急请回电`, `--robot-code` = `botCode123`, `--type` = `call`, `--users` = `userId1`
|
||
|
||
**ding_ding_message_send_003**
|
||
- Prompt: 用机器人 botXYZ DING 提醒 alice 和 bob 参加今天下午的会议
|
||
- Expected: `dws ding message send --content "请参加今天下午的会议" --robot-code botXYZ --users alice,bob --format json`
|
||
- Flags: `--content` = `请参加今天下午的会议`, `--robot-code` = `botXYZ`, `--users` = `alice,bob`
|
||
|
||
---
|
||
|
||
### report(26 条)
|
||
|
||
#### `dws report detail`
|
||
|
||
**report_report_detail_001**
|
||
- Prompt: 获取日报 rpt123 的详情
|
||
- Expected: `dws report detail --report-id rpt123 --format json`
|
||
- Flags: `--report-id` = `rpt123`
|
||
|
||
**report_report_detail_002**
|
||
- Prompt: 查看一下这份日志 rptXYZ 的完整内容
|
||
- Expected: `dws report detail --report-id rptXYZ --format json`
|
||
- Flags: `--report-id` = `rptXYZ`
|
||
|
||
#### `dws report list`
|
||
|
||
**report_report_list_001**
|
||
- Prompt: 获取 2026-03-10 收到的前20条日报,从游标 0 开始
|
||
- Expected: `dws report list --cursor 0 --end 2026-03-10T23:59:59+08:00 --size 20 --start 2026-03-10T00:00:00+08:00 --format json`
|
||
- Flags: `--cursor` = `0`, `--end` = `2026-03-10T23:59:59+08:00`, `--size` = `20`, `--start` = `2026-03-10T00:00:00+08:00`
|
||
|
||
**report_report_list_002**
|
||
- Prompt: 查今天 2026-03-18 我收到的所有日报,每页10条
|
||
- Expected: `dws report list --cursor 0 --start 2026-03-18T00:00:00+08:00 --end 2026-03-18T23:59:59+08:00 --size 10 --format json`
|
||
- Flags: `--cursor` = `0`, `--end` = `2026-03-18T23:59:59+08:00`, `--size` = `10`, `--start` = `2026-03-18T00:00:00+08:00`
|
||
|
||
#### `dws report sent`
|
||
|
||
**report_report_sent_001** `[ASK_USER]`
|
||
- Prompt: 查询当前人创建的日志列表
|
||
- Expected: `dws report sent --format json`
|
||
|
||
**report_report_sent_002**
|
||
- Prompt: 查看我从2026年3月1号到3月15号写的周报
|
||
- Expected: `dws report sent --start "2026-03-01T00:00:00+08:00" --end "2026-03-15T23:59:59+08:00" --template-name "周报" --format json`
|
||
- Flags: `--end` = `2026-03-15T23:59:59+08:00`, `--start` = `2026-03-01T00:00:00+08:00`, `--template-name` = `周报`
|
||
|
||
**report_report_sent_003**
|
||
- Prompt: 从游标位置 50 继续查询我提交的日志
|
||
- Expected: `dws report sent --cursor 50 --format json`
|
||
- Flags: `--cursor` = `50`
|
||
|
||
**report_report_sent_004**
|
||
- Prompt: 查询我提交的日志,每页返回 20 条
|
||
- Expected: `dws report sent --size 20 --format json`
|
||
- Flags: `--size` = `20`
|
||
|
||
**report_report_sent_005**
|
||
- Prompt: 查询我在 2026-03-01 之后提交的日志
|
||
- Expected: `dws report sent --start 2026-03-01T00:00:00+08:00 --format json`
|
||
- Flags: `--start` = `2026-03-01T00:00:00+08:00`
|
||
|
||
**report_report_sent_006**
|
||
- Prompt: 查询我在 2026-03-31 之前提交的日志
|
||
- Expected: `dws report sent --end 2026-03-31T23:59:59+08:00 --format json`
|
||
- Flags: `--end` = `2026-03-31T23:59:59+08:00`
|
||
|
||
**report_report_sent_007**
|
||
- Prompt: 查询 2026-03-10 之后修改过的日志
|
||
- Expected: `dws report sent --modified-start 2026-03-10T00:00:00+08:00 --format json`
|
||
- Flags: `--modified-start` = `2026-03-10T00:00:00+08:00`
|
||
|
||
**report_report_sent_008**
|
||
- Prompt: 查询 2026-03-15 之前最后修改的日志
|
||
- Expected: `dws report sent --modified-end 2026-03-15T23:59:59+08:00 --format json`
|
||
- Flags: `--modified-end` = `2026-03-15T23:59:59+08:00`
|
||
|
||
**report_report_sent_009**
|
||
- Prompt: 查询使用「日报」模板提交的日志
|
||
- Expected: `dws report sent --template-name 日报 --format json`
|
||
- Flags: `--template-name` = `日报`
|
||
|
||
**report_report_sent_010**
|
||
- Prompt: 查看我2026年3月份提交的日志,时间范围从3月1号到3月31号
|
||
- Expected: `dws report sent --end 2026-03-31T23:59:59+08:00 --start 2026-03-01T00:00:00+08:00 --format json`
|
||
- Flags: `--end` = `2026-03-31T23:59:59+08:00`, `--start` = `2026-03-01T00:00:00+08:00`
|
||
|
||
**report_report_sent_011**
|
||
- Prompt: 分页查询我提交的日志,从游标 100 开始,每次取 10 条
|
||
- Expected: `dws report sent --cursor 100 --size 10 --format json`
|
||
- Flags: `--cursor` = `100`, `--size` = `10`
|
||
|
||
**report_report_sent_012**
|
||
- Prompt: 查询我在3月1到3月31日之间修改过的日志
|
||
- Expected: `dws report sent --modified-end 2026-03-31T23:59:59+08:00 --modified-start 2026-03-01T00:00:00+08:00 --format json`
|
||
- Flags: `--modified-end` = `2026-03-31T23:59:59+08:00`, `--modified-start` = `2026-03-01T00:00:00+08:00`
|
||
|
||
**report_report_sent_013**
|
||
- Prompt: 查询3月份用「月报」模板提交的日志,时间范围3月1号到3月31号
|
||
- Expected: `dws report sent --end 2026-03-31T23:59:59+08:00 --start 2026-03-01T00:00:00+08:00 --template-name 月报 --format json`
|
||
- Flags: `--end` = `2026-03-31T23:59:59+08:00`, `--start` = `2026-03-01T00:00:00+08:00`, `--template-name` = `月报`
|
||
|
||
**report_report_sent_014**
|
||
- Prompt: 查询3月1到3月31日之间提交的日报,从游标 0 开始,每页返回 50 条
|
||
- Expected: `dws report sent --cursor 0 --end 2026-03-31T23:59:59+08:00 --size 50 --start 2026-03-01T00:00:00+08:00 --template-name 日报 --format json`
|
||
- Flags: `--cursor` = `0`, `--end` = `2026-03-31T23:59:59+08:00`, `--size` = `50`, `--start` = `2026-03-01T00:00:00+08:00`, `--template-name` = `日报`
|
||
|
||
**report_report_sent_015**
|
||
- Prompt: 查看本月1号到15号用「周报」模板写的,且在3月10号到3月15号之间修改过的日志
|
||
- Expected: `dws report sent --end 2026-03-15T23:59:59+08:00 --modified-end 2026-03-15T23:59:59+08:00 --modified-start 2026-03-10T00:00:00+08:00 --start 2026-03-01T00:00:00+08:00 --template-name 周报 --format json`
|
||
- Flags: `--end` = `2026-03-15T23:59:59+08:00`, `--modified-end` = `2026-03-15T23:59:59+08:00`, `--modified-start` = `2026-03-10T00:00:00+08:00`, `--start` = `2026-03-01T00:00:00+08:00`, `--template-name` = `周报`
|
||
|
||
**report_report_sent_016**
|
||
- Prompt: 帮我列出我写过的日志
|
||
- Expected: `dws report sent --format json`
|
||
|
||
#### `dws report stats`
|
||
|
||
**report_report_stats_001**
|
||
- Prompt: 获取日报 rpt123 的统计数据
|
||
- Expected: `dws report stats --report-id rpt123 --format json`
|
||
- Flags: `--report-id` = `rpt123`
|
||
|
||
**report_report_stats_002**
|
||
- Prompt: 统计一下日志 rptXYZ 的提交、阅读人数
|
||
- Expected: `dws report stats --report-id rptXYZ --format json`
|
||
- Flags: `--report-id` = `rptXYZ`
|
||
|
||
#### `dws report template detail`
|
||
|
||
**report_report_template_detail_001**
|
||
- Prompt: 获取名称为 日报模板 的日志模版详情
|
||
- Expected: `dws report template detail --name 日报模板 --format json`
|
||
- Flags: `--name` = `日报模板`
|
||
|
||
**report_report_template_detail_002**
|
||
- Prompt: 查看一下叫 周报模板 的这个日志模版是什么格式
|
||
- Expected: `dws report template detail --name 周报模板 --format json`
|
||
- Flags: `--name` = `周报模板`
|
||
|
||
#### `dws report template list`
|
||
|
||
**report_report_template_list_001**
|
||
- Prompt: 获取所有日志模版列表
|
||
- Expected: `dws report template list --format json`
|
||
|
||
**report_report_template_list_002**
|
||
- Prompt: 公司现在有哪些日报、周报模板
|
||
- Expected: `dws report template list --format json`
|
||
|
||
---
|
||
|
||
### devdoc(7 条)
|
||
|
||
#### `dws devdoc article search`
|
||
|
||
**devdoc_devdoc_article_search_001**
|
||
- Prompt: 搜索开放平台文档,keyword 为 OAuth2 接入
|
||
- Expected: `dws devdoc article search --keyword "OAuth2 接入" --format json`
|
||
- Flags: `--keyword` = `OAuth2 接入`
|
||
|
||
**devdoc_devdoc_article_search_002**
|
||
- Prompt: 搜索开放平台文档中关于 Webhook 的内容,第 2 页每页 5 条
|
||
- Expected: `dws devdoc article search --keyword Webhook --page 2 --size 5 --format json`
|
||
- Flags: `--keyword` = `Webhook`, `--page` = `2`, `--size` = `5`
|
||
|
||
**devdoc_devdoc_article_search_003**
|
||
- Prompt: 搜索开放平台文档中关于消息卡片的内容,从第 2 页开始
|
||
- Expected: `dws devdoc article search --keyword 消息卡片 --page 2 --format json`
|
||
- Flags: `--keyword` = `消息卡片`, `--page` = `2`
|
||
|
||
**devdoc_devdoc_article_search_004**
|
||
- Prompt: 搜索关键词为机器人的开放平台文档,每页返回 10 条
|
||
- Expected: `dws devdoc article search --keyword 机器人 --size 10 --format json`
|
||
- Flags: `--keyword` = `机器人`, `--size` = `10`
|
||
|
||
**devdoc_devdoc_article_search_005**
|
||
- Prompt: 帮我在开发者文档里找一下关于免登鉴权的资料
|
||
- Expected: `dws devdoc article search --keyword 免登鉴权 --format json`
|
||
- Flags: `--keyword` = `免登鉴权`
|
||
|
||
#### `dws devdoc error diagnose`
|
||
|
||
**devdoc_devdoc_error_diagnose_001**
|
||
- Prompt: 排查开放平台 requestId 15r6h45w0muec 的调用失败
|
||
- Expected: `dws devdoc error diagnose --request-id 15r6h45w0muec --format json`
|
||
- Flags: `--request-id` = `15r6h45w0muec`
|
||
|
||
**devdoc_devdoc_error_diagnose_002**
|
||
- Prompt: 排查开放平台错误码 33012,错误描述 missing scope
|
||
- Expected: `dws devdoc error diagnose --error-code 33012 --error-message "missing scope" --format json`
|
||
- Flags: `--error-code` = `33012`, `--error-message` = `missing scope`
|
||
|
||
**devdoc_devdoc_article_search_006**
|
||
- Prompt: 查询开放平台 API 错误码 403 的处理文档
|
||
- Expected: `dws devdoc article search --keyword "API 错误码 403" --format json`
|
||
- Flags: `--keyword` = `API 错误码 403`
|
||
|
||
**devdoc_devdoc_article_search_007**
|
||
- Prompt: 开放平台机器人发消息接口怎么调用
|
||
- Expected: `dws devdoc article search --keyword "机器人发消息接口" --format json`
|
||
- Flags: `--keyword` = `机器人发消息接口`
|
||
|
||
---
|
||
|
||
### routing(3 条)
|
||
|
||
#### `dws --help`
|
||
|
||
**routing_routing_clarify_001** `[ASK_USER]`
|
||
- Prompt: 帮我创建一个应用
|
||
- Expected: `dws --help`
|
||
|
||
**routing_routing_clarify_002** `[ASK_USER]`
|
||
- Prompt: 做一个 AI 应用
|
||
- Expected: `dws --help`
|
||
|
||
**routing_routing_clarify_003** `[ASK_USER]`
|
||
- Prompt: 创建 MCP 服务并配置 HSF tool
|
||
- Expected: `dws --help`
|
||
|
||
---
|
||
|
||
### todo(30 条)
|
||
|
||
#### `dws todo task create`
|
||
|
||
**todo_todo_task_create_001**
|
||
- Prompt: 创建待办,executors 为 <USER_ID_1>, title 为 修复线上Bug
|
||
- Expected: `dws todo task create --executors <USER_ID_1> --title 修复线上Bug --format json`
|
||
- Flags: `--executors` = `<USER_ID_1>`, `--title` = `修复线上Bug`
|
||
|
||
**todo_todo_task_create_002**
|
||
- Prompt: 创建一个高优先级待办,标题修复登录Bug,执行人userId1,截止时间2026-03-20T18:00:00+08:00
|
||
- Expected: `dws todo task create --title "修复登录Bug" --executors userId1 --priority 30 --due "2026-03-20T18:00:00+08:00" --format json`
|
||
- Flags: `--due` = `2026-03-20T18:00:00+08:00`, `--executors` = `userId1`, `--priority` = `30`, `--title` = `修复登录Bug`
|
||
|
||
**todo_todo_task_create_003**
|
||
- Prompt: 给 alice 安排一个整理文档的任务
|
||
- Expected: `dws todo task create --executors alice --title 整理文档 --format json`
|
||
- Flags: `--executors` = `alice`, `--title` = `整理文档`
|
||
|
||
**todo_todo_task_create_004**
|
||
- Prompt: 创建一个待办,执行人 userA,标题 准备季度汇报,截止日期 2026-04-01
|
||
- Expected: `dws todo task create --due 2026-04-01 --executors userA --title 准备季度汇报 --format json`
|
||
- Flags: `--due` = `2026-04-01`, `--executors` = `userA`, `--title` = `准备季度汇报`
|
||
|
||
**todo_todo_task_create_005**
|
||
- Prompt: 新建一个高优先级的待办,执行人 userB,标题 发布版本v2.0
|
||
- Expected: `dws todo task create --executors userB --priority 30 --title 发布版本v2.0 --format json`
|
||
- Flags: `--executors` = `userB`, `--priority` = `30`, `--title` = `发布版本v2.0`
|
||
|
||
**todo_todo_task_create_006**
|
||
- Prompt: 帮我给 userId2 创建一个提交周报的提醒事项
|
||
- Expected: `dws todo task create --executors userId2 --title 提交周报 --format json`
|
||
- Flags: `--executors` = `userId2`, `--title` = `提交周报`
|
||
|
||
#### `dws todo task delete`
|
||
|
||
**todo_todo_task_delete_001**
|
||
- Prompt: 删除待办任务 task123
|
||
- Expected: `dws todo task delete --task-id task123 --format json`
|
||
- Flags: `--task-id` = `task123`
|
||
|
||
**todo_todo_task_delete_002**
|
||
- Prompt: 把 taskXYZ 这个待办删掉,已经不需要了
|
||
- Expected: `dws todo task delete --task-id taskXYZ --format json`
|
||
- Flags: `--task-id` = `taskXYZ`
|
||
|
||
#### `dws todo task done`
|
||
|
||
**todo_todo_task_done_001**
|
||
- Prompt: 修改执行者的待办完成状态,status 为 true
|
||
- Expected: `dws todo task done --status true --task-id <taskId> --format json`
|
||
- Flags: `--status` = `true`, `--task-id` = `<taskId>`
|
||
|
||
**todo_todo_task_done_002**
|
||
- Prompt: 把待办taskId123标记为已完成
|
||
- Expected: `dws todo task done --task-id taskId123 --status true --format json`
|
||
- Flags: `--status` = `true`, `--task-id` = `taskId123`
|
||
|
||
**todo_todo_task_done_003**
|
||
- Prompt: 把待办 taskId456 的完成状态设置为未完成
|
||
- Expected: `dws todo task done --status false --task-id taskId456 --format json`
|
||
- Flags: `--status` = `false`, `--task-id` = `taskId456`
|
||
|
||
**todo_todo_task_done_004**
|
||
- Prompt: 重新打开已关闭的待办任务 taskId789
|
||
- Expected: `dws todo task done --status false --task-id taskId789 --format json`
|
||
- Flags: `--status` = `false`, `--task-id` = `taskId789`
|
||
|
||
#### `dws todo task get`
|
||
|
||
**todo_todo_task_get_001**
|
||
- Prompt: 获取待办任务 task123 的详情
|
||
- Expected: `dws todo task get --task-id task123 --format json`
|
||
- Flags: `--task-id` = `task123`
|
||
|
||
**todo_todo_task_get_002**
|
||
- Prompt: 查一下待办 taskXYZ 的状态和内容
|
||
- Expected: `dws todo task get --task-id taskXYZ --format json`
|
||
- Flags: `--task-id` = `taskXYZ`
|
||
|
||
#### `dws todo task list`
|
||
|
||
**todo_todo_task_list_001**
|
||
- Prompt: 查询待办列表
|
||
- Expected: `dws todo task list --format json`
|
||
|
||
**todo_todo_task_list_002**
|
||
- Prompt: 看看我还有哪些未完成的待办
|
||
- Expected: `dws todo task list --status false --format json`
|
||
- Flags: `--status` = `false`
|
||
|
||
**todo_todo_task_list_003**
|
||
- Prompt: 查询第 2 页的待办,每页 10 条,且只要已完成的
|
||
- Expected: `dws todo task list --page 2 --size 10 --status true --format json`
|
||
- Flags: `--page` = `2`, `--size` = `10`, `--status` = `true`
|
||
|
||
**todo_todo_task_list_004**
|
||
- Prompt: 查询第 3 页的待办列表
|
||
- Expected: `dws todo task list --page 3 --format json`
|
||
- Flags: `--page` = `3`
|
||
|
||
**todo_todo_task_list_005**
|
||
- Prompt: 每页显示 20 条待办
|
||
- Expected: `dws todo task list --size 20 --format json`
|
||
- Flags: `--size` = `20`
|
||
|
||
**todo_todo_task_list_006**
|
||
- Prompt: 分页查询待办,第 1 页,每页 5 条
|
||
- Expected: `dws todo task list --page 1 --size 5 --format json`
|
||
- Flags: `--page` = `1`, `--size` = `5`
|
||
|
||
**todo_todo_task_list_007**
|
||
- Prompt: 查询已完成的待办,每页显示 15 条
|
||
- Expected: `dws todo task list --size 15 --status true --format json`
|
||
- Flags: `--size` = `15`, `--status` = `true`
|
||
|
||
**todo_todo_task_list_008**
|
||
- Prompt: 把我所有的待办任务都列出来看看
|
||
- Expected: `dws todo task list --format json`
|
||
|
||
#### `dws todo task update`
|
||
|
||
**todo_todo_task_update_001**
|
||
- Prompt: 把待办 task123 的标题改成 修订报告V2
|
||
- Expected: `dws todo task update --task-id task123 --title 修订报告V2 --format json`
|
||
- Flags: `--task-id` = `task123`, `--title` = `修订报告V2`
|
||
|
||
**todo_todo_task_update_002**
|
||
- Prompt: 把待办 task456 的截止时间改到 2025-04-30
|
||
- Expected: `dws todo task update --task-id task456 --due 2025-04-30 --format json`
|
||
- Flags: `--due` = `2025-04-30`, `--task-id` = `task456`
|
||
|
||
**todo_todo_task_update_003**
|
||
- Prompt: 将待办 task789 的 done 属性更新为 true
|
||
- Expected: `dws todo task update --task-id task789 --done true --format json`
|
||
- Flags: `--done` = `true`, `--task-id` = `task789`
|
||
|
||
**todo_todo_task_update_004**
|
||
- Prompt: 将任务 task012 的标题改为 紧急上线,优先级设为较高,截止日期 2025-03-20
|
||
- Expected: `dws todo task update --due 2025-03-20 --priority 30 --task-id task012 --title 紧急上线 --format json`
|
||
- Flags: `--due` = `2025-03-20`, `--priority` = `30`, `--task-id` = `task012`, `--title` = `紧急上线`
|
||
|
||
**todo_todo_task_update_005**
|
||
- Prompt: 把待办 taskAAA 的优先级调整为低优先级
|
||
- Expected: `dws todo task update --priority 10 --task-id taskAAA --format json`
|
||
- Flags: `--priority` = `10`, `--task-id` = `taskAAA`
|
||
|
||
**todo_todo_task_update_006**
|
||
- Prompt: 把待办 taskBBB 的截止时间改到 2026-05-01,优先级设为普通
|
||
- Expected: `dws todo task update --due 2026-05-01 --priority 20 --task-id taskBBB --format json`
|
||
- Flags: `--due` = `2026-05-01`, `--priority` = `20`, `--task-id` = `taskBBB`
|
||
|
||
**todo_todo_task_update_007**
|
||
- Prompt: 把任务 taskCCC 重新打开(标记为未完成),并将标题改为 重新审核方案
|
||
- Expected: `dws todo task update --done false --task-id taskCCC --title 重新审核方案 --format json`
|
||
- Flags: `--done` = `false`, `--task-id` = `taskCCC`, `--title` = `重新审核方案`
|
||
|
||
**todo_todo_task_update_008**
|
||
- Prompt: 任务 taskDDD 完成了,帮我更新一下状态
|
||
- Expected: `dws todo task update --done true --task-id taskDDD --format json`
|
||
- Flags: `--done` = `true`, `--task-id` = `taskDDD`
|
||
|
||
---
|
||
|
||
### workbench(6 条)
|
||
|
||
#### `dws workbench app get`
|
||
|
||
**workbench_workbench_app_get_001**
|
||
- Prompt: 批量获取应用 app001 和 app002 的详情
|
||
- Expected: `dws workbench app get --ids app001,app002 --format json`
|
||
- Flags: `--ids` = `app001,app002`
|
||
|
||
**workbench_workbench_app_get_002**
|
||
- Prompt: 查一下应用 appXYZ 的详细信息
|
||
- Expected: `dws workbench app get --ids appXYZ --format json`
|
||
- Flags: `--ids` = `appXYZ`
|
||
|
||
**workbench_workbench_app_get_003**
|
||
- Prompt: 查工作台应用 appXYZ 的详情
|
||
- Expected: `dws workbench app get --ids appXYZ --format json`
|
||
- Flags: `--ids` = `appXYZ`
|
||
|
||
#### `dws workbench app list`
|
||
|
||
**workbench_workbench_app_list_001**
|
||
- Prompt: 查看所有工作台应用列表
|
||
- Expected: `dws workbench app list --format json`
|
||
|
||
**workbench_workbench_app_list_002**
|
||
- Prompt: 钉钉工作台上有哪些应用
|
||
- Expected: `dws workbench app list --format json`
|
||
|
||
**workbench_workbench_app_list_003**
|
||
- Prompt: 列出所有钉钉工作台应用
|
||
- Expected: `dws workbench app list --format json`
|
||
|
||
---
|