PicoBot/skills/lark-okr/references/lark-okr-cycle-list.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

3.7 KiB
Raw Blame History

okr +cycle-list

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

列出指定用户的 OKR 周期,支持可选的时间范围过滤。

推荐命令

# 列出用户的所有周期
lark-cli okr +cycle-list --user-id "ou_xxx"

# 使用特定的用户 ID 类型列出周期
lark-cli okr +cycle-list --user-id "xxx" --user-id-type user_id

# 列出时间范围内的周期(例如 2025-01 到 2025-06
lark-cli okr +cycle-list --user-id "ou_xxx" --time-range "2025-01--2025-06"

# 预览 API 调用而不实际执行
lark-cli okr +cycle-list --user-id "ou_xxx" --dry-run

参数

参数 必填 默认值 说明
--user-id OKR 所有者的用户 ID
--user-id-type open_id 用户 ID 类型:open_id | union_id | user_id
--time-range 按时间范围过滤周期。格式:YYYY-MM--YYYY-MM(例如 2025-01--2025-06)。留空获取所有周期。
--dry-run 预览 API 调用而不实际执行。
--format json 输出格式。

工作流程

  1. 获取目标用户的 open_id(或其他 ID 类型)。如果用户说"我的 OKR 周期",先通过 lark-cli contact +get-user 获取当前用户的 ID。
  2. 执行 lark-cli okr +cycle-list --user-id "ou_xxx",可选择使用 --time-range
  3. 报告结果:找到的周期数量、每个周期的 ID、开始/结束时间和状态。

输出

返回 JSON

{
  "cycles": [
    {
      "id": "1234567890123456789",
      "create_time": "2025-01-01 00:00:00",
      "update_time": "2025-01-01 00:00:00",
      "tenant_cycle_id": "789",
      "owner": {
        "owner_type": "user",
        "user_id": "ou_xxx"
      },
      "start_time": "2025-01-01 00:00:00",
      "end_time": "2025-06-30 00:00:00",
      "cycle_status": "normal",
      "score": 0
    }
  ],
  "total": 1
}

在这个周期信息中,这些字段值得关注:

  • id 是这个周期的 ID你通常需要用它在之后使用 okr +cycle-detail 获取 OKR 内容详情
  • start_time end_time 是周期的起止时间总是从某个月1日开始直到此月或之后某月的最后一日结束。
    • 在 OKR 系统中,我们只关注这个时间的年月部分,如 “2025-01-01开始2025-06-30结束” 的周期被称作 “2025 年 1-6 月” 周期,而 “2025-01-01开始2025-01-31结束” 的周期被称作 “2025 年 1 月”周期。
    • 如果一个周期从某年1月1日开始某年12月31日结束则它是这一年的年度周期如 “2025-01-01开始2025-12-31结束” 的周期就是 “2025 年” 的年度周期
  • cycle_status 为周期状态值,参见下文。

周期状态值

说明
default 默认状态 (0)
normal 生效 (1)
invalid 失效 (2)
hidden 隐藏 (3)

在 OKR 系统中default/normal 状态下的周期当前正常生效invalid 状态下的周期已失效但通常仍然可以填写hidden 状态下的周期隐藏不可见。

参考