Files

78 KiB
Raw Permalink Blame History

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

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 条)

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

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 条)

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

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

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

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: 只监听事件;如需触发自测,必须确认目标是可销毁测试群并提示解散不可逆

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