PicoBot/skills/lark-minutes/references/lark-minutes-todo.md
ooodc a7883dbed9 refactor(todo): 重构待办事项管理逻辑及更新状态规则
- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段
- 强制每个任务都必须有唯一 id,且由用户负责生成
- 修改合并模式逻辑,merge=true 下保留未提及的旧任务
- 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress)
- 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled
- 优化状态转换校验,允许特定状态间合法切换
- 简化任务变更消息,移除详细的新增/更新/移除统计
- 更新文档和示例,明确 id 必须由用户生成和使用
- 修复和补充测试,增强状态转换和合并模式验证
- 调整任务时间戳生成逻辑,统一使用当前时间及索引
- 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
2026-06-13 09:22:33 +08:00

5.0 KiB
Raw Blame History

minutes +todo

路由:本命令操作妙记内的 AI 待办不是飞书任务Task。用户说「在妙记里新建待办」时必须用本命令,禁止lark-cli task / tasklists list / task +create。详见 lark-minutes/SKILL.md 第 6 节。

前置条件: 先阅读 ../lark-shared/SKILL.md 了解认证、全局参数和安全规则。

对妙记中的待办做新增 / 更新 / 删除(单条或批量)。写操作。

本 skill 对应 shortcutlark-cli minutes +todo(调用 POST /open-apis/minutes/v1/minutes/{minute_token}/todo)。

典型触发表达

  • "给这条妙记加一条/多条待办"
  • "把某条待办改成……"
  • "标记某条待办为已完成 / 取消完成"
  • "删除某条待办"

命令

单条模式--operation + 对应字段。
批量模式--todos JSON 数组(与单条 flags 互斥),一次请求可混合 add / update / delete

# 单条:新增
lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --operation add --todo "跟进预算审批" --is-done=false --as user

# 批量:一次新增两条
lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --as user --todos '[
  {"operation":"add","content":"晚上好1","is_done":true},
  {"operation":"add","content":"晚上好2","is_done":false}
]'

# 批量:混合增删改
lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --as user --todos '[
  {"operation":"add","content":"新待办","is_done":false},
  {"operation":"update","todo_id":"1234567890","content":"已更新","is_done":true},
  {"operation":"delete","todo_id":"9876543210"}
]'

# 从文件读取
lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --as user --todos @todos.json

# 单条:更新 / 删除
lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --operation update --todo-id 1234567890 --todo "整理会议纪要" --is-done --as user
lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --operation delete --todo-id 1234567890 --as user

# 预览
lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --operation add --todo "新待办" --is-done --dry-run --as user

参数

参数 必填 说明
--minute-token <token> 妙记 Token
--operation <op> 单条模式 add / update / delete;与 --todos 互斥
--todo <text> 单条 add/update 待办纯文本
--is-done 单条 add/update --is-done = true--is-done=false = false
--todo-id <id> 单条 update/delete 已有待办 id
--todos <json> 批量模式 JSON 数组,支持 @file / @-;与单条 flags 互斥
--dry-run 预览 API 调用,不执行

单条模式

--operation 必填参数 禁止参数
add --todo + --is-done --todo-id
update --todo-id + --todo + --is-done
delete --todo-id --todo--is-done

批量模式:--todos

每条元素字段与 API todo_items[] 一致:

JSON 字段 add update delete
operation 必填 必填 必填
content 必填 必填 禁止
is_done 必填 必填 禁止
todo_id 禁止 必填 必填

示例 todos.json

[
  {"operation": "add", "content": "晚上好1", "is_done": true},
  {"operation": "add", "content": "晚上好2", "is_done": false}
]

数组顺序会原样写入请求体;端上展示顺序仍可能受完成状态分组影响。

核心约束

1. 先读后写,待办 id 如何获取

更新 / 删除前先用 lark-cli vc +notes --minute-tokens <token> 读取当前待办。返回的每条待办带 todo_id 字段。

待办 id 仅用于程序内部定位,不必展示给用户。

2. 待办内容为纯文本

content 不是 Markdown,请直接传入待办描述文字。

3. 所需权限

身份 所需 scope
user minutes:minutes:update

输出结果

{
  "minute_token": "obcnxxxxxxxxxxxxxxxxxxxx",
  "count": 2,
  "updated": true
}

单条模式额外包含 "operation": "add"

常见错误与排查

错误现象 解决方案
未指定操作 单条模式传 --operation,或批量传 --todos
--todos 与单条 flags 冲突 二选一
todos[i] 校验失败 检查该条 operation 与字段组合
error.type = no_edit_permission 妙记资源无编辑权:向妙记所有者申请该妙记的编辑/协作权限;不要auth login --scope
缺少 OAuth scopepermission_violationsminutes:minutes:update lark-cli auth login --scope "minutes:minutes:update"

参考