Files
2026-09-02 11:44:52 +08:00

22 KiB
Raw Permalink Blame History

待办 (todo) 命令参考

命令总览

创建待办

Usage:
  dws todo task create [flags]
Example:
  dws todo task create --title "修复线上Bug" --executors <USER_ID_1>,<USER_ID_2> --priority 40
  dws todo task create --title "每日站会" --executors <USER_ID> --due "2026-03-20T10:00:00+08:00" --recurrence "DTSTART:20260320T020000Z\nRRULE:FREQ=DAILY;INTERVAL=1"
Flags:
      --due string         截止时间 ISO-8601 (如 2026-03-10T18:00:00+08:00;这是 deadline,不是 reminder)
      --executors string   执行者 userId 列表 (必填)
      --priority string    优先级: 10低/20普通/30较高/40紧急
      --recurrence string  循环待办 (需先设置 --due); 仅支持按天循环,格式见下方说明
      --title string       待办标题 (必填)

创建子待办

Usage:
  dws todo task create-sub [flags]
Example:
  dws todo task create-sub --parent-id <PARENT_TASK_ID> --title "子任务标题" --executors <USER_ID_1>,<USER_ID_2> --priority 40
  dws todo task create-sub --parent-id <PARENT_TASK_ID> --title "子任务标题" --executors <USER_ID> --due "2026-03-20T10:00:00+08:00"
Flags:
      --due string         截止时间 ISO-8601 (如 2026-03-10T18:00:00+08:00;这是 deadline,不是 reminder)
      --executors string   执行者 userId 列表 (必填)
      --parent-id string   父待办任务 ID (必填,该信息可以通过创建待办接口或者查询待办列表接口返回)
      --priority string    优先级: 10低/20普通/30较高/40紧急
      --recurrence string  循环待办 (需先设置 --due); 仅支持按天循环,格式见下方说明
      --title string       子待办标题 (必填)

查询待办列表

Usage:
  dws todo task list [flags]
Example:
  dws todo task list --page 1 --size 20
  dws todo task list --page 1 --size 20 --status false
  dws todo task list --page 1 --size 20 --status false --priority 40,30,10 --role-types creator,executor,participant --plan-finish-date-start "2026-03-01T00:00:00+08:00" --plan-finish-date-end "2026-03-10T18:00:00+08:00"
Flags:
      --page string                     页码 (默认 1)
      --plan-finish-date-end string     截止时间范围查询结束 ISO-8601 (如 2026-03-10T18:00:00+08:00)
      --plan-finish-date-start string   截止时间范围查询开始 ISO-8601 (如 2026-03-01T00:00:00+08:00)
      --priority string                 优先级: 10低/20普通/30较高/40紧急,支持逗号分隔多个值 (如 40,30,10)
      --role-types string               角色类型: creator/executor/participant,可同时传入多个值用逗号分隔(如 creator,executor),默认 executor
      --size string                     每页数量 (默认 20)
      --status string                   true=已完成, false=未完成
      --query-all                       true=查询全部待办,false=查询当前组织待办

参数说明:

参数 类型 说明
--priority string 优先级筛选,支持逗号分隔多个值,如 40,30,10 表示同时筛选紧急、较高、低优先级
--role-types string 按角色筛选,支持 creator(创建者)、executor(执行者)、participant(参与人);可同时传入多个角色用逗号分隔(如 creator,executor),一次查询即可覆盖多个角色,无需分多次调用;默认为 executor
--plan-finish-date-start string 截止时间范围查询开始,ISO-8601 格式,需与 --plan-finish-date-end 成对使用
--plan-finish-date-end string 截止时间范围查询结束,ISO-8601 格式,需与 --plan-finish-date-start 成对使用

修改待办任务

Usage:
  dws todo task update [flags]
Example:
  dws todo task update --task-id <taskId> --title "新标题"
  dws todo task update --task-id <taskId> --priority 40 --due "2026-03-10T18:00:00+08:00"
  dws todo task update --task-id <taskId> --done true
Flags:
      --done string       完成状态: true/false
      --due string        截止时间 ISO-8601 (如 2026-03-10T18:00:00+08:00;这是 deadline,不是 reminder)
      --priority string   优先级: 10低/20普通/30较高/40紧急
      --task-id string    待办任务 ID (必填)
      --title string      新标题

修改执行者的待办完成状态

Usage:
  dws todo task done [flags]
Example:
  dws todo task done --task-id <taskId> --status true
  dws todo task done --task-id <taskId> --status false
Flags:
      --status string    完成状态: true=已完成, false=未完成 (必填)
      --task-id string   待办任务 ID (必填)

待办详情

Usage:
  dws todo task get [flags]
Example:
  dws todo task get --task-id <taskId>
Flags:
      --task-id string   待办任务 ID (必填)

删除待办

CAUTION: 不可逆操作 — 执行前必须向用户确认。

Usage:
  dws todo task delete [flags]
Example:
  dws todo task delete --task-id <taskId>
  dws todo task delete --task-id <taskId> --yes
Flags:
      --task-id string   待办任务 ID (必填)

新增待办评论

Usage:
  dws todo comment add [flags]
Example:
  dws todo comment add --task-id <taskId> --content "评论内容"
Flags:
      --task-id string   待办任务 ID (必填)
      --content string   评论内容 (必填)

查询待办评论列表

Usage:
  dws todo comment list [flags]
Example:
  dws todo comment list --task-id <taskId>
  dws todo comment list --task-id <taskId> --page 1 --size 20
Flags:
      --task-id string   待办任务 ID (必填)
      --page string      页码 (默认 1)
      --size string      每页数量 (默认 20)

删除待办评论

CAUTION: 不可逆操作 — 执行前必须向用户确认。

Usage:
  dws todo comment delete [flags]
Example:
  dws todo comment delete --task-id <taskId> --comment-id <commentId>
  dws todo comment delete --task-id <taskId> --comment-id <commentId> --yes
Flags:
      --task-id string      待办任务 ID (必填)
      --comment-id string   评论 ID (必填)
      --yes                 跳过二次确认 (慎用)

添加待办执行人

Usage:
  dws todo task add-executor [flags]
Example:
  dws todo task add-executor --task-id <taskId> --executors <USER_ID_1>,<USER_ID_2>
Flags:
      --executors string   执行者 userId 列表 (必填)
      --task-id string     待办任务 ID (必填)

移除待办执行人

Usage:
  dws todo task remove-executor [flags]
Example:
  dws todo task remove-executor --task-id <taskId> --executors <USER_ID_1>,<USER_ID_2>
Flags:
      --executors string   执行者 userId 列表 (必填)
      --task-id string     待办任务 ID (必填)

添加待办参与人

Usage:
  dws todo task add-participant [flags]
Example:
  dws todo task add-participant --task-id <taskId> --participants <USER_ID_1>,<USER_ID_2>
Flags:
      --participants string   参与人 userId 列表 (必填)
      --task-id string        待办任务 ID (必填)

移除待办参与人

Usage:
  dws todo task remove-participant [flags]
Example:
  dws todo task remove-participant --task-id <taskId> --participants <USER_ID_1>,<USER_ID_2>
Flags:
      --participants string   参与人 userId 列表 (必填)
      --task-id string        待办任务 ID (必填)

查询子待办列表

Usage:
  dws todo task list-sub [flags]
Example:
  dws todo task list-sub --task-id <taskId>
Flags:
      --task-id string   待办任务 ID (必填)

上传待办附件

⚠️ 重要:该接口会上传文件到附件,不可用于测试或试探性调用。调用前必须确认待办存在。

Usage:
  dws todo task add-attachment [flags]
Example:
  dws todo task add-attachment --task-id <taskId> --file /path/to/file.pdf
Flags:
      --file string        本地文件路径 (必填)
      --task-id string     待办任务 ID (必填)

查询待办附件列表

Usage:
  dws todo task list-attachment [flags]
Example:
  dws todo task list-attachment --task-id <taskId>
Flags:
      --task-id string   待办任务 ID (必填)

删除待办附件

CAUTION: 不可逆操作 — 执行前必须向用户确认。

Usage:
  dws todo task remove-attachment [flags]
Example:
  dws todo task remove-attachment --task-id <taskId> --attachment-id <attachmentId>
  dws todo task remove-attachment --task-id <taskId> --attachment-id <attachmentId> --yes
Flags:
      --attachment-id string   待办附件 ID (必填)
      --task-id string         待办任务 ID (必填)

附件 attachmentId 使用 dws todo task list-attachment 命令获取。

添加待办提醒

Usage:
  dws todo task add-reminder [flags]
Example:
  dws todo task add-reminder --task-id <taskId> --base-time dueTime --due-date-offset -30
  dws todo task add-reminder --task-id <taskId> --base-time customTime --reminder-time-stamp "2026-03-10T18:00:00+08:00"
Flags:
      --base-time string              提醒基准时间: dueTime/customTime (必填)
      --due-date-offset string        截止时间偏移量 (baseTime=dueTime 时必填)
      --reminder-time-stamp string    自定义提醒时间 ISO-8601 (如 2026-03-10T18:00:00+08:00baseTime=customTime 时必填)
      --task-id string                待办任务 ID (必填)

参数说明:

参数 类型 说明
--base-time string 提醒基准时间,必填。dueTime = 基于截止时间偏移;customTime = 自定义时间戳
--due-date-offset number 截止时间偏移量(分钟),baseTime=dueTime 时必填。负数表示提前,如 -30 表示截止前 30 分钟
--reminder-time-stamp string 自定义提醒时间,ISO-8601 格式(如 2026-03-10T18:00:00+08:00),baseTime=customTime 时必填

重置待办提醒

Usage:
  dws todo task reset-reminder [flags]
Example:
  dws todo task reset-reminder --task-id <taskId>
  dws todo task reset-reminder --task-id <taskId> --reminder-rules '[{"dueDateOffset":-30,"baseTime":"dueTime"},{"reminderTimeStamp":"2026-03-10T18:00:00+08:00","baseTime":"customTime"}]'
Flags:
      --reminder-rules string   提醒规则 JSON 数组 (可选,为空则清除提醒)
      --task-id string          待办任务 ID (必填)

--reminder-rules 数据结构说明:

JSON 数组,每个元素为一条提醒规则,支持两种 baseTime 模式混合使用:

字段 类型 说明
baseTime string 提醒基准时间,必填。dueTime = 基于截止时间偏移;customTime = 自定义时间戳
dueDateOffset number 截止时间偏移量(分钟),baseTime=dueTime 时必填。负数表示提前,如 -30 表示截止前 30 分钟
reminderTimeStamp string 自定义提醒时间,ISO-8601 格式(如 2026-03-10T18:00:00+08:00),baseTime=customTime 时必填

示例:

[
  {"dueDateOffset": -30, "baseTime": "dueTime"},
  {"reminderTimeStamp": "2026-03-10T18:00:00+08:00", "baseTime": "customTime"}
]

以上表示两条提醒规则:第一条在截止时间前 30 分钟提醒,第二条在指定时间(ISO-8601)提醒。

给待办打标签

Usage:
  dws todo tag add [flags]
Example:
  dws todo tag add --task-id <taskId> --tag-codes code1,code2
Flags:
      --tag-codes string   标签编码列表,最多支持2个,逗号分隔 (必填)
      --task-id string     待办任务 ID (必填)

删除待办标签

Usage:
  dws todo tag delete [flags]
Example:
  dws todo tag delete --tag-codes code1,code2
  dws todo tag delete --tag-codes code1,code2 --yes
Flags:
      --tag-codes string   要删除的标签编码列表,逗号分隔 (必填)
      --yes                跳过交互确认,直接执行删除
注意: ⚠️ 不可逆操作,执行前需用户确认;传 --yes 可跳过交互提示

更新待办标签

Usage:
  dws todo tag update [flags]
Example:
  dws todo tag update --user-tags '[{"code":"code1","name":"新名称"}]'
Flags:
      --user-tags string   标签列表 JSON 数组 (必填)

查询待办标签列表

Usage:
  dws todo tag list
Example:
  dws todo tag list

创建待办标签

Usage:
  dws todo tag create [flags]
Example:
  dws todo tag create --name "标签名"
Flags:
      --name string 标签名称 (必填)

意图判断

用户说"加个待办/记一下/TODO" → task create 用户说"每天重复/循环待办/按天重复" → task create(需 --due + --recurrence) 用户说"加个子任务/创建子待办" → task create-sub 用户说"看看待办/我有啥要做" → task list 用户说"改个待办/修改待办标题/改优先级" → task update 用户说"做完了/完成待办/标记完成" → task done 用户说"看看待办详情" → task get 用户说"删除待办/取消待办" → task delete 用户说"给待办加条评论/留个备注" → comment add 用户说"看看这个待办的评论" → comment list 用户说"删除这条评论" → comment delete 用户说"加个执行人/添加执行者" → task add-executor 用户说"移除执行人/删除执行者" → task remove-executor 用户说"加个参与人/添加参与者" → task add-participant 用户说"移除参与人/删除参与者" → task remove-participant 用户说"给待办加个提醒/设置提醒" → task add-reminder 用户说"重置提醒/清除提醒/修改提醒规则" → task reset-reminder 用户说"查看子待办/子任务列表" → task list-sub 用户说"给待办加个附件/上传附件" → task add-attachment 用户说"查看待办附件/附件列表" → task list-attachment 用户说"删除附件/移除附件" → task remove-attachment 用户说"给待办打标签/加个标签" → tag add 用户说"删除待办标签/移除标签" → tag delete 用户说"修改标签/更新标签信息" → tag update 用户说"看看标签/查看标签列表" → tag list 用户说"创建标签/新建标签" → tag create

关键区分: todo(个人待办)

核心工作流

# 1. 创建待办 — 提取 todoTaskId
dws todo task create --title "修复线上Bug" --executors userId1,userId2 \
  --priority 40 --due "2026-03-10T18:00:00+08:00" --format json

# 1b. 创建按天循环的待办(必须先有 --duerecurrence 与 MCP create_personal_todo 一致)
dws todo task create --title "每日站会" --executors userId1 \
  --due "2026-03-20T10:00:00+08:00" \
  --recurrence "DTSTART:20260320T020000Z\nRRULE:FREQ=DAILY;INTERVAL=1" --format json

# 1c. 创建子待办(需先获取父待办 ID)
dws todo task create-sub --parent-id <PARENT_TASK_ID> --title "子任务标题" --executors userId1 \
  --priority 40 --due "2026-03-10T18:00:00+08:00" --format json

# 2. 查看未完成待办
dws todo task list --page 1 --size 20 --status false --format json

# 3. 查看待办详情
dws todo task get --task-id <taskId> --format json

# 4. 修改待办信息
dws todo task update --task-id <taskId> --title "新标题" --priority 40 --format json

# 5. 标记待办完成
dws todo task done --task-id <taskId> --status true --format json

# 6. 删除待办
dws todo task delete --task-id <taskId> --yes --format json

# 7. 给待办新增评论
dws todo comment add --task-id <taskId> --content "已开始处理" --format json

# 8. 查看待办评论列表
dws todo comment list --task-id <taskId> --page 1 --size 20 --format json

# 9. 删除待办评论
dws todo comment delete --task-id <taskId> --comment-id <commentId> --yes --format json

# 10. 添加待办执行人
dws todo task add-executor --task-id <taskId> --executors userId1,userId2 --format json
# 11. 移除待办执行人
dws todo task remove-executor --task-id <taskId> --executors userId1 --format json
# 12. 添加待办参与人
dws todo task add-participant --task-id <taskId> --participants userId1,userId2 --format json
# 13. 移除待办参与人
dws todo task remove-participant --task-id <taskId> --participants userId1 --format json

# 14. 添加待办提醒(基于截止时间偏移,待办必须有截止时间)
dws todo task add-reminder --task-id <taskId> --base-time dueTime --due-date-offset <dueDateOffset> --format json
# 15. 添加待办提醒(自定义时间戳)
dws todo task add-reminder --task-id <taskId> --base-time customTime --reminder-time-stamp "2026-03-10T18:00:00+08:00" --format json
# 16. 重置待办提醒
dws todo task reset-reminder --task-id <taskId> --format json
# 17. 重置待办提醒(指定新规则)
dws todo task reset-reminder --task-id <taskId> --reminder-rules '<reminderRules>' --format json

# 18. 查询子待办列表
dws todo task list-sub --task-id <taskId> --format json
# 19. 上传待办附件
dws todo task add-attachment --task-id <taskId> --file /path/to/file.pdf --format json
# 20. 查询待办附件列表
dws todo task list-attachment --task-id <taskId> --format json
# 21. 删除待办附件
dws todo task remove-attachment --task-id <taskId> --attachment-id <attachmentId> --yes --format json

# 22. 查询待办标签列表
dws todo tag list --format json
# 23. 创建待办标签
dws todo tag create --name "标签名" --format json
# 24. 给待办打标签
dws todo tag add --task-id <taskId> --tag-codes code1,code2 --format json
# 25. 更新待办标签
dws todo tag update --user-tags '[{"tagCode":"code1","name":"新名称"}]' --format json
# 26. 删除待办标签
dws todo tag delete --tag-codes code1,code2 --yes --format json

上下文传递表

操作 从返回中提取 用于
task create todoTaskId update/done/get/delete 的 --task-id
task list result[].id update/done/get/delete 的 --task-id
task create todoTaskId update/done/get/delete/comment 的 --task-id
task list result[].id update/done/get/delete/comment/add-executor/remove-executor/add-participant/remove-participant 的 --task-id
task get result.todoDetailModel.subTodos[] 获取子待办列表,提取子待办的 taskId 用于后续操作
comment list result[].commentId comment delete 的 --comment-id
task list-attachment result[].attachmentId task remove-attachment 的 --attachment-id

注意事项

  • 优先级值: 10=低, 20=普通, 30=较高, 40=紧急
  • --due 是截止时间 dueTime,不是提醒时间;使用 ISO-8601 格式(如 2026-03-10T18:00:00+08:00
  • 当前不支持单独的 reminder / remind-at 精确提醒能力;不要把 --due 解释成“几点提醒”
  • --recurrence:仅在与 --due 同时设置时有效;当前仅支持按天循环。字符串内需含换行,示例:DTSTART:20260320T020000Z\nRRULE:FREQ=DAILY;INTERVAL=1(DTSTART 表示首次截止时间,需与业务约定一致)
  • 若用户的真实诉求是“到点提醒我”,需要先说明能力边界;当前 CLI 只能表达 deadline / recurrence,不能表达独立 reminder schedule
  • task list--status 对应 MCP get_user_todos_in_current_orgtodoStatus 参数
  • task list--priority 支持逗号分隔多个优先级值(如 40,30,10),用于同时筛选多个优先级
  • task list--role-types 支持 creator/executor/participant,可在一次调用中同时传入多个角色用逗号分隔(如 --role-types creator,executor),无需分多次查询;不传时默认按 executor 查询
  • task list--plan-finish-date-start--plan-finish-date-end 用于按截止时间范围筛选,需成对使用,格式为 ISO-8601
  • todo 是个人待办管理产品
  • task update 可同时修改标题/优先级/截止时间/完成状态
  • task done 专用于修改执行者的完成状态,与 task update --done 作用不同
  • task delete 为不可逆操作,建议加 --yes 并与用户确认
  • comment delete 同样为不可逆操作,执行前需用户确认;--comment-id 可通过 comment list 获取
  • task add-executor / task remove-executor 用于管理待办的执行人,--executors 支持逗号分隔的多个 userId
  • task add-participant / task remove-participant 用于管理待办的参与人,--participants 支持逗号分隔的多个 userId
  • 执行人 (executor) 与参与人 (participant) 的区别:执行人负责完成待办,参与人仅关注待办进度
  • task add-reminder 用于为待办添加提醒,--base-time 支持 dueTime(基于截止时间偏移,待办必须有截止时间)和 customTime(自定义时间戳)两种模式
  • task reset-reminder 用于重置待办提醒规则,不传 --reminder-rules 则清除所有提醒
  • task list-sub 用于查询指定待办的子待办列表,需通过 task listtask create 获取父待办 ID
  • task add-attachment 用于上传本地文件作为待办附件,--file 为本地文件绝对路径;该操作不可逆,调用前必须确认待办存在
  • task list-attachment 用于查询指定待办的附件列表
  • task remove-attachment 用于删除待办附件,为不可逆操作,执行前需用户确认;--attachment-id 可通过 task list-attachment 获取
  • tag list 用于查询当前用户已有的标签列表,返回的 tagCode 可用于 tag add / tag update / tag delete
  • tag add 用于给指定待办打标签,--task-id 可通过 task listtask create 获取;--tag-codes 可通过 tag list 获取
  • tag create 用于创建新标签,--name 为标签名称 (必填)
  • tag update 用于更新已有标签信息,--user-tags 格式同 tag create
  • tag delete 用于删除标签定义,为不可逆操作,执行前需用户确认;传 --yes 可跳过交互提示,建议加 --yes 并与用户确认
  • tag add(给待办打标签)与 tag delete(删除标签定义)作用不同:前者是关联关系,后者是删除标签本身

自动化脚本

脚本 场景 用法
todo_daily_summary.py 查看今天/明天/本周未完成待办汇总 python todo_daily_summary.py today
todo_batch_create.py 从 JSON 文件批量创建待办 python todo_batch_create.py todos.json
todo_overdue_check.py 扫描逾期待办输出逾期清单 python todo_overdue_check.py