@amaster.ai/pi-lark 0.1.2-beta.44 → 0.1.2-beta.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/package.json +2 -2
  2. package/skills/lark-apps/SKILL.md +23 -12
  3. package/skills/lark-apps/creative-design/agents/assets/vision-probe.png +0 -0
  4. package/skills/lark-apps/creative-design/agents/fork-verifier-agent.md +71 -0
  5. package/skills/lark-apps/creative-design/agents/vision-probe-agent.md +41 -0
  6. package/skills/lark-apps/creative-design/assets/index.html +27 -0
  7. package/skills/lark-apps/creative-design/creative-design.md +239 -0
  8. package/skills/lark-apps/creative-design/references/aily.md +39 -0
  9. package/skills/lark-apps/creative-design/references/animated-video.md +34 -0
  10. package/skills/lark-apps/creative-design/references/charts.md +165 -0
  11. package/skills/lark-apps/creative-design/references/claude.md +36 -0
  12. package/skills/lark-apps/creative-design/references/codex.md +32 -0
  13. package/skills/lark-apps/creative-design/references/data-report.md +108 -0
  14. package/skills/lark-apps/creative-design/references/frontend-design.md +71 -0
  15. package/skills/lark-apps/creative-design/references/hi-fi-design.md +32 -0
  16. package/skills/lark-apps/creative-design/references/interactive-prototype.md +24 -0
  17. package/skills/lark-apps/creative-design/references/make-a-deck.md +133 -0
  18. package/skills/lark-apps/creative-design/references/visual-exposure.md +82 -0
  19. package/skills/lark-apps/creative-design/references/wireframe.md +14 -0
  20. package/skills/lark-apps/creative-design/starter-components/android-frame.jsx +188 -0
  21. package/skills/lark-apps/creative-design/starter-components/animations.jsx +773 -0
  22. package/skills/lark-apps/creative-design/starter-components/browser-window.jsx +122 -0
  23. package/skills/lark-apps/creative-design/starter-components/deck-stage.js +2483 -0
  24. package/skills/lark-apps/creative-design/starter-components/design-canvas.jsx +1432 -0
  25. package/skills/lark-apps/creative-design/starter-components/ios-frame.jsx +270 -0
  26. package/skills/lark-apps/creative-design/starter-components/macos-window.jsx +197 -0
  27. package/skills/lark-apps/creative-design/starter-components/tweaks-panel.jsx +752 -0
  28. package/skills/lark-apps/references/lark-apps-automation.md +80 -2
  29. package/skills/lark-apps/references/lark-apps-cloud-dev.md +0 -1
  30. package/skills/lark-apps/references/lark-apps-create.md +1 -2
  31. package/skills/lark-apps/references/lark-apps-db.md +1 -1
  32. package/skills/lark-apps/references/lark-apps-env-pull.md +1 -1
  33. package/skills/lark-apps/references/lark-apps-file.md +1 -1
  34. package/skills/lark-apps/references/lark-apps-git-credential.md +1 -1
  35. package/skills/lark-apps/references/lark-apps-html-publish.md +4 -8
  36. package/skills/lark-apps/references/lark-apps-init.md +1 -1
  37. package/skills/lark-apps/references/lark-apps-list.md +1 -1
  38. package/skills/lark-apps/references/lark-apps-local-dev.md +54 -11
  39. package/skills/lark-apps/references/lark-apps-openapi-key.md +1 -1
  40. package/skills/lark-apps/references/lark-apps-release-create.md +2 -2
  41. package/skills/lark-apps/references/lark-apps-release-get.md +3 -3
  42. package/skills/lark-base/SKILL.md +1 -2
  43. package/skills/lark-base/references/lark-base-cell-value.md +3 -3
  44. package/skills/lark-base/references/lark-base-field-create.md +4 -0
  45. package/skills/lark-base/references/lark-base-field-json.md +4 -4
  46. package/skills/lark-base/references/lark-base-field-update.md +17 -1
  47. package/skills/lark-base/references/lark-base-record-batch-create.md +12 -10
  48. package/skills/lark-base/references/lark-base-record-batch-update.md +11 -9
  49. package/skills/lark-base/references/lark-base-record-upsert.md +1 -1
  50. package/skills/lark-calendar/references/lark-calendar-create.md +1 -0
  51. package/skills/lark-calendar/references/lark-calendar-update.md +3 -0
  52. package/skills/lark-doc/references/lark-doc-fetch.md +10 -2
  53. package/skills/lark-doc/references/lark-doc-whiteboard.md +9 -8
  54. package/skills/lark-doc/references/lark-doc-xml-extended-blocks.md +41 -0
  55. package/skills/lark-doc/references/lark-doc-xml.md +3 -2
  56. package/skills/lark-drive/SKILL.md +4 -1
  57. package/skills/lark-drive/references/lark-drive-comment-location.md +2 -2
  58. package/skills/lark-drive/references/lark-drive-upload.md +1 -0
  59. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-execute.md +273 -0
  60. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-recall.md +202 -0
  61. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-resolve-verify.md +231 -0
  62. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-review-plan.md +248 -0
  63. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-setup.md +174 -0
  64. package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector.md +202 -0
  65. package/skills/lark-drive/references/lark-drive-workflow.md +5 -4
  66. package/skills/lark-event/SKILL.md +1 -0
  67. package/skills/lark-event/references/lark-event-application.md +38 -0
  68. package/skills/lark-im/SKILL.md +1 -1
  69. package/skills/lark-im/references/lark-im-flag-list.md +8 -7
  70. package/skills/lark-okr/SKILL.md +71 -26
  71. package/skills/lark-okr/references/lark-okr-batch-create.md +19 -18
  72. package/skills/lark-okr/references/lark-okr-create.md +173 -0
  73. package/skills/lark-okr/references/lark-okr-cycle-list.md +17 -7
  74. package/skills/lark-okr/references/lark-okr-entities.md +1 -0
  75. package/skills/lark-okr/references/lark-okr-indicator-update.md +3 -1
  76. package/skills/lark-okr/references/lark-okr-indicators.md +61 -12
  77. package/skills/lark-okr/references/lark-okr-progress-list.md +21 -9
  78. package/skills/lark-slides/SKILL.md +103 -46
  79. package/skills/lark-slides/references/asset-planning.md +6 -4
  80. package/skills/lark-slides/references/iconpark.md +2 -2
  81. package/skills/lark-slides/references/lark-slides-create.md +2 -3
  82. package/skills/lark-slides/references/lark-slides-history.md +132 -0
  83. package/skills/lark-slides/references/lark-slides-media-upload.md +1 -2
  84. package/skills/lark-slides/references/lark-slides-pptx-template-workflows.md +7 -11
  85. package/skills/lark-slides/references/lark-slides-replace-slide.md +0 -3
  86. package/skills/lark-slides/references/lark-slides-screenshot.md +1 -1
  87. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +219 -0
  88. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +6 -5
  89. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +2 -2
  90. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +2 -3
  91. package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +65 -30
  92. package/skills/lark-slides/references/planning-layer.md +11 -10
  93. package/skills/lark-slides/references/slides_chart_demo.xml +1416 -1
  94. package/skills/lark-slides/references/slides_xml_schema_definition.xml +1 -45
  95. package/skills/lark-slides/references/troubleshooting.md +25 -7
  96. package/skills/lark-slides/references/validation-checklist.md +33 -13
  97. package/skills/lark-slides/references/visual-planning.md +25 -22
  98. package/skills/lark-slides/references/xml-schema-quick-ref.md +225 -46
  99. package/skills/lark-slides/scripts/xml_text_overlap_lint.py +223 -22
  100. package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +183 -124
  101. package/skills/lark-whiteboard/SKILL.md +13 -12
  102. package/skills/lark-whiteboard/elements/layout.md +1 -1
  103. package/skills/lark-whiteboard/elements/schema.md +2 -2
  104. package/skills/lark-whiteboard/references/{lark-whiteboard-query.md → lark-whiteboard-export.md} +15 -15
  105. package/skills/lark-whiteboard/references/lark-whiteboard-update.md +3 -3
  106. package/skills/lark-whiteboard/references/lark-whiteboard-workflow.md +7 -17
  107. package/skills/lark-whiteboard/routes/dsl.md +3 -3
  108. package/skills/lark-whiteboard/routes/mermaid.md +2 -2
  109. package/skills/lark-whiteboard/routes/svg-edit.md +4 -4
  110. package/skills/lark-whiteboard/routes/svg.md +11 -6
  111. package/skills/lark-whiteboard/scenes/bar-chart.md +1 -1
  112. package/skills/lark-whiteboard/scenes/fishbone.md +1 -1
  113. package/skills/lark-whiteboard/scenes/flywheel.md +1 -1
  114. package/skills/lark-whiteboard/scenes/line-chart.md +1 -1
  115. package/skills/lark-whiteboard/scenes/treemap.md +1 -1
  116. package/skills/lark-wiki/SKILL.md +1 -0
  117. package/skills/lark-slides/references/examples.md +0 -91
  118. package/skills/lark-slides/references/lark-slides-whiteboard.md +0 -331
  119. package/skills/lark-slides/references/lark-slides-xml-get.md +0 -100
  120. package/skills/lark-slides/references/slide-templates.md +0 -201
  121. package/skills/lark-slides/references/slides_demo.xml +0 -226
  122. package/skills/lark-slides/references/xml-format-guide.md +0 -433
@@ -147,6 +147,7 @@ Lark-defined semantic tags (**not** JSON Schema's standard `format`). Common val
147
147
 
148
148
  | Topic | Reference | Coverage |
149
149
  |------------|------------------------------------------------------------------------------|---|
150
+ | Application | [`references/lark-event-application.md`](references/lark-event-application.md) | Catalog of Application EventKeys, including `application.bot.menu_v6` for custom bot menu push events + flattened `event_key` / operator fields + jq recipe |
150
151
  | Approval | [`references/lark-event-approval.md`](references/lark-event-approval.md) | Catalog of 2 Approval EventKeys (`approval.instance.status_changed_v4`, `approval.task.status_changed_v4`) + optional/multi `subscription_type` pre-registration + user-auth subscription lifecycle + flat output field reference |
151
152
  | IM | [`references/lark-event-im.md`](references/lark-event-im.md) | Catalog of 12 IM EventKeys + shape notes (flat vs V2 envelope) + `im.message.receive_v1` field gotchas (`sender_id` is open_id only; `.content` is plain text except for `interactive` cards) + common jq recipes (filter by chat_type / message_type / sender); for `card.action.trigger` see also [`../lark-im/references/lark-im-card-action-reply.md`](../lark-im/references/lark-im-card-action-reply.md) |
152
153
  | Task | [`references/lark-event-task.md`](references/lark-event-task.md) | Catalog of 1 Task EventKey (`task.task.update_user_access_v2`) + Native V2 envelope shape + task commit types + user/bot subscription notes |
@@ -0,0 +1,38 @@
1
+ # Lark Application Events
2
+
3
+ This page covers Application-domain EventKeys supported by `lark-cli event`.
4
+
5
+ ## `application.bot.menu_v6`
6
+
7
+ Triggered when a user clicks a custom bot menu item whose response action is configured as a push event.
8
+
9
+ Listen as the bot identity:
10
+
11
+ ```bash
12
+ lark-cli event consume application.bot.menu_v6 --as bot
13
+ ```
14
+
15
+ Filter a specific menu event key:
16
+
17
+ ```bash
18
+ lark-cli event consume application.bot.menu_v6 --as bot --jq 'select(.event_key == "start_eval")'
19
+ ```
20
+
21
+ Output is flattened at the top level:
22
+
23
+ | Field | Meaning |
24
+ |---|---|
25
+ | `type` | Event type, always `application.bot.menu_v6` |
26
+ | `event_id` | Globally unique event ID from the event header |
27
+ | `timestamp` | Event delivery time, preferring `header.create_time` |
28
+ | `app_id` | App ID from the event header |
29
+ | `tenant_key` | Tenant key from the event header |
30
+ | `event_key` | Developer-defined menu event key, for example `start_eval` |
31
+ | `menu_timestamp` | Menu click timestamp from the event body |
32
+ | `operator_id` | Operator open_id alias |
33
+ | `operator_open_id` | Operator open_id |
34
+ | `operator_union_id` | Operator union_id |
35
+ | `operator_user_id` | Operator user_id |
36
+ | `operator_name` | Operator display name |
37
+
38
+ This EventKey has no `--param`; use `--jq` to filter by `event_key` or operator fields.
@@ -117,7 +117,7 @@ Shortcut 是对常用操作的高级封装(`lark-cli im +<verb> [flags]`)。
117
117
  | [`+threads-messages-list`](references/lark-im-threads-messages-list.md) | List messages in a thread; user/bot; accepts om_/omt_ input, resolves message IDs to thread_id, supports sort/pagination |
118
118
  | [`+flag-create`](references/lark-im-flag-create.md) | Create a bookmark on a message; user-only; defaults to message-layer flag; use --flag-type feed for feed-layer flag (item_type auto-detected from chat mode) |
119
119
  | [`+flag-cancel`](references/lark-im-flag-cancel.md) | Cancel (remove) a bookmark. When no --flag-type is given, best-effort double-cancel: removes message layer and (when chat_type is determinable) feed layer |
120
- | [`+flag-list`](references/lark-im-flag-list.md) | List bookmarks; user-only; auto-enriches feed-type thread entries with message content; supports `--page-all` auto-pagination |
120
+ | [`+flag-list`](references/lark-im-flag-list.md) | List bookmarks; user-only; auto-enriches feed-type thread entries with message content; `--page-all` is capped by `--page-limit` (default 20, max 1000), and `has_more=true` means the result is incomplete |
121
121
  | [`+feed-shortcut-create`](references/lark-im-feed-shortcut-create.md) | Add chats to the user's feed shortcuts; user-only; oc_xxx chat IDs only; batch up to 10 per call; `--head`/`--tail` controls insertion order; partial failures return an `ok:false` ledger |
122
122
  | [`+feed-shortcut-remove`](references/lark-im-feed-shortcut-remove.md) | Remove chats from the user's feed shortcuts; user-only; batch up to 10 per call; removing an absent shortcut is idempotent success; real per-item failures return an `ok:false` ledger |
123
123
  | [`+feed-shortcut-list`](references/lark-im-feed-shortcut-list.md) | List one page of the user's feed shortcuts; user-only; omit `--page-token` for the first page; default output enriches CHAT entries under `detail`; pass `--no-detail` to skip the extra lookup and `im:chat:read` scope |
@@ -6,9 +6,9 @@ This skill maps to shortcut: `lark-cli im +flag-list`. Underlying API: `GET /ope
6
6
 
7
7
  ## Sorting Rules (Important)
8
8
 
9
- The API returns data sorted by `update_time` in **ascending order**, meaning **oldest first, newest last**. When `has_more=true`, you cannot simply take the first page's items as the latest flags — you must paginate through all pages and take the last item on the last page as the newest.
9
+ The API returns data sorted by `update_time` in **ascending order**, meaning **oldest first, newest last**. When `has_more=true`, continue pagination until `has_more=false`; only then is the last item in the merged result authoritative as the newest flag. If pagination stops while `has_more=true`, the last item is only the newest observed flag.
10
10
 
11
- Recommended: use `--page-all` for auto-pagination to get the complete list, then use `-q '.data.flag_items[-1]'` to get the latest item.
11
+ `--page-all` enables automatic pagination but is still capped by `--page-limit`. The default cap is 20 pages; **20 is not the hard maximum**. Set `--page-limit` between 1 and 1000 when a larger scan is required. A response with `has_more=true` is incomplete, even when `flag_items` is empty; increase the limit or resume from the returned `page_token` before reporting an authoritative latest item or count.
12
12
 
13
13
  ## Commands
14
14
 
@@ -19,7 +19,7 @@ lark-cli im +flag-list --as user
19
19
  # Manual pagination with custom page size
20
20
  lark-cli im +flag-list --as user --page-size 30 --page-token <page_token>
21
21
 
22
- # Auto-paginate to get all flags (recommended)
22
+ # Auto-paginate, capped at the default 20 pages
23
23
  lark-cli im +flag-list --as user --page-all
24
24
 
25
25
  # Auto-paginate + get the latest flag
@@ -31,8 +31,8 @@ lark-cli im +flag-list --as user --page-all -q '.data.flag_items[].item_id'
31
31
  # Disable auto-enrichment of message content (enabled by default)
32
32
  lark-cli im +flag-list --as user --page-all --enrich-feed-thread=false
33
33
 
34
- # Limit max pages (default 20, max 1000)
35
- lark-cli im +flag-list --as user --page-all --page-limit 10
34
+ # Use the largest supported page limit for a broader scan
35
+ lark-cli im +flag-list --as user --page-all --page-limit 1000
36
36
  ```
37
37
 
38
38
  ## Parameters
@@ -41,8 +41,8 @@ lark-cli im +flag-list --as user --page-all --page-limit 10
41
41
  |------|------|------|
42
42
  | `--page-size <n>` | 50 | Range 1-50 (server max is 50) |
43
43
  | `--page-token <token>` | empty | Pagination token from previous page; empty string must still be provided |
44
- | `--page-all` | false | Auto-paginate to fetch all pages and merge results |
45
- | `--page-limit <n>` | 20 | Max pages in `--page-all` mode (max 1000) |
44
+ | `--page-all` | false | Auto-paginate and merge results, capped by `--page-limit` |
45
+ | `--page-limit <n>` | 20 | Max pages in `--page-all` mode; configurable range 1-1000 (20 is only the default) |
46
46
  | `--enrich-feed-thread` | true | Auto-enrich feed-layer thread entries with message content (calls `im.messages.mget`) |
47
47
  | `--as user` | Required | Currently only supports user identity |
48
48
 
@@ -62,6 +62,7 @@ Note: `(thread, feed)` / `(msg_thread, feed)` entries are automatically enriched
62
62
 
63
63
  ## Limitations
64
64
 
65
+ - **Auto-pagination is bounded**: `--page-all` fetches at most 20 pages by default. If the response still has `has_more=true`, the result is incomplete; increase `--page-limit` up to 1000 or resume with `page_token`. Never interpret `flag_items: []` as an authoritative zero while more pages remain. Historical `delete_flag_items` may occupy early pages and push active flags to later pages.
65
66
  - **delete_flag_items are not enriched**: Message content is only fetched for active flags (`flag_items`), not canceled flags (`delete_flag_items`). If you need message content for a canceled flag, query the message separately using `+messages-mget --message-ids <item_id>`.
66
67
 
67
68
  ## Response Example (Sanitized)
@@ -14,30 +14,85 @@ metadata:
14
14
 
15
15
  **身份**:OKR 操作默认使用 `--as user`(查看当前用户/上下级的 OKR 时)。也支持 `--as bot` 查看他人 OKR(需相应权限)。
16
16
 
17
+ ## 快速决策
18
+
19
+ | 用户需求 | 操作路径 | 参考文档 |
20
+ |----------------|----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
21
+ | 查看自己/他人的 OKR | 获取用户 ID -> `+cycle-list` -> `+cycle-detail` -> 按需查指标/进展记录 | [`cycle-list`](references/lark-okr-cycle-list.md), [`cycle-detail`](references/lark-okr-cycle-detail.md), [`indicators`](references/lark-okr-indicators.md), [`progress-list`](references/lark-okr-progress-list.md) |
22
+ | 为自己写一组 OKR | 优先用 `+batch-create` 创建 Objective/KR 骨架 | [`batch-create`](references/lark-okr-batch-create.md), [`contentblock`](references/lark-okr-contentblock.md) |
23
+ | 只新增一条 O 或单条 KR | 用 `+create` | [`create`](references/lark-okr-create.md) |
24
+ | 编辑内容/备注/截止时间 | 用 `+patch` | [`patch`](references/lark-okr-patch.md) |
25
+ | 修改 OKR 分数 | 只有用户明确说“分数”“评分”“打分”“score”时才用 `+patch --score`;分数不是进度/完成度 | [`patch`](references/lark-okr-patch.md) |
26
+ | 调整顺序或权重 | 用 `+reorder` / `+weight` | [`reorder`](references/lark-okr-reorder.md), [`weight`](references/lark-okr-weight.md) |
27
+ | 更新数字进度/完成度 | 百分比或不带单位数字用 `+indicator-update`;需要改单位/目标值时查指标后用 `indicators patch` | [`indicator-update`](references/lark-okr-indicator-update.md), [`indicators`](references/lark-okr-indicators.md) |
28
+ | 写文字进展 | 用 `+progress-create`;如果文本和数字都有,百分比或默认单位可使用 `--progress-percent` 统一改,非百分比单位更新量化指标 | [`progress-create`](references/lark-okr-progress-create.md), [`progress-list`](references/lark-okr-progress-list.md), [`progress-update`](references/lark-okr-progress-update.md) |
29
+ | 对齐目标 | 直接按对齐关系工作流处理 | [`alignments`](references/lark-okr-alignments.md) |
30
+
31
+ 分类只在用户明确要求分类,或创建 Objective 返回 `invalid parameters` 且怀疑租户强制开启分类时处理:用 `lark-cli okr categories list --params '{"owner_type":"user","page_size":100}' --as user` 查可用分类,选择语义合适且 `enabled=true` 的分类 ID;分类可后续调整,不必停下等待用户确认。
32
+
33
+ 获取当前用户用 `contact +get-user`;按姓名/邮箱查他人用 `contact +search-user`,拿到 `open_id` 后再查 OKR。
34
+
35
+ ```bash
36
+ lark-cli contact +search-user --query "张三" --has-chatted --as user
37
+ ```
38
+
39
+ 最常用 OKR 命令示例:
40
+
41
+ ```bash
42
+ # 查用户周期,再用周期 ID 查详情
43
+ lark-cli okr +cycle-list --user-id "ou_xxx" --as user
44
+ lark-cli okr +cycle-detail --cycle-id 7000000000000000001 --as user
45
+
46
+ # 批量创建 Objective/KR
47
+ lark-cli okr +batch-create \
48
+ --cycle-id 7000000000000000001 \
49
+ --input '[{"text":"提升产品用户体验","notes":"关注核心流程和用户反馈","krs":[{"text":"核心流程满意度达到 4.8 分"}]}]' \
50
+ --as user
51
+
52
+ # 更新数字进度/完成度
53
+ lark-cli okr +indicator-update \
54
+ --level key-result \
55
+ --id 7000000000000000003 \
56
+ --value 75 \
57
+ --as user
58
+ ```
59
+
60
+ 分数和进度不要混用:用户说“进度”“完成度”“当前做到 75%”时,通常是在改量化指标或写进展记录,不是在改 `score`。只有明确要求修改 OKR 分数/评分/打分时,才使用 [`+patch --score`](references/lark-okr-patch.md);`score` 取值是 0-1,最多一位小数。
61
+
62
+ 进度判断规则:用户说“进度”“完成度”时,先判断是否是量化数字。数字进度通常对应量化指标;不可量化文本对应进展记录。需要修改指标单位时看 [`lark-okr-indicators.md`](references/lark-okr-indicators.md)
63
+
17
64
  ## Shortcuts(推荐优先使用)
18
65
 
19
66
  Shortcut 是对常用操作的高级封装(`lark-cli okr +<verb> [flags]`)。有 Shortcut 的操作优先使用。
20
67
 
21
- | Shortcut | 说明 |
22
- |----------------------------------------------------------------|--------------------------|
23
- | [`+cycle-list`](references/lark-okr-cycle-list.md) | 获取特定用户的 OKR 周期列表,可以按时间筛选 |
24
- | [`+cycle-detail`](references/lark-okr-cycle-detail.md) | 获取特定 OKR 中所有目标和关键结果的内容 |
25
- | [`+progress-list`](references/lark-okr-progress-list.md) | 获取目标或关键结果的所有进展记录列表 |
26
- | [`+progress-get`](references/lark-okr-progress-get.md) | 根据 ID 获取单条 OKR 进展记录 |
27
- | [`+progress-create`](references/lark-okr-progress-create.md) | 为目标或关键结果创建进展记录 |
28
- | [`+progress-update`](references/lark-okr-progress-update.md) | 更新指定 ID 的进展记录内容 |
29
- | [`+progress-delete`](references/lark-okr-progress-delete.md) | 删除指定 ID 的进展记录(不可恢复) |
30
- | [`+upload-image`](references/lark-okr-image-upload.md) | 上传图片用于 OKR 进展记录的富文本内容 |
31
- | [`+batch-create`](references/lark-okr-batch-create.md) | 批量创建 Objective 和 KR |
32
- | [`+reorder`](references/lark-okr-reorder.md) | 调整 Objective 或 KR 的顺位 |
33
- | [`+weight`](references/lark-okr-weight.md) | 调整 Objective 或 KR 的权重 |
34
- | [`+indicator-update`](references/lark-okr-indicator-update.md) | 更新 Objective 或 KR 的指标当前值(简单场景推荐)。更复杂的指标操作见 [量化指标管理](references/lark-okr-indicators.md) |
35
- | [`+patch`](references/lark-okr-patch.md) | 部分更新 Objective 或 KR(content、notes、score、deadline) |
68
+ | Shortcut | 说明 |
69
+ |----------------------------------------------------------------|-----------------------------------------------------------------------------------|
70
+ | [`+cycle-list`](references/lark-okr-cycle-list.md) | 分页获取特定用户的 OKR 周期列表,可以用 `--time-range` 对当前页后置筛选 |
71
+ | [`+cycle-detail`](references/lark-okr-cycle-detail.md) | 获取特定 OKR 中所有目标和关键结果的内容 |
72
+ | [`+create`](references/lark-okr-create.md) | 创建单个 Objective(可带备注),或向已有 Objective 新增 KR |
73
+ | [`+progress-list`](references/lark-okr-progress-list.md) | 分页获取目标或关键结果的进展记录列表 |
74
+ | [`+progress-get`](references/lark-okr-progress-get.md) | 根据 ID 获取单条 OKR 进展记录 |
75
+ | [`+progress-create`](references/lark-okr-progress-create.md) | 为目标或关键结果创建进展记录 |
76
+ | [`+progress-update`](references/lark-okr-progress-update.md) | 更新指定 ID 的进展记录内容 |
77
+ | [`+progress-delete`](references/lark-okr-progress-delete.md) | 删除指定 ID 的进展记录(不可恢复) |
78
+ | [`+upload-image`](references/lark-okr-image-upload.md) | 上传图片用于 OKR 进展记录的富文本内容 |
79
+ | [`+batch-create`](references/lark-okr-batch-create.md) | 批量创建 Objective(可带备注)和 KR |
80
+ | [`+reorder`](references/lark-okr-reorder.md) | 调整 Objective 或 KR 的顺位 |
81
+ | [`+weight`](references/lark-okr-weight.md) | 调整 Objective 或 KR 的权重 |
82
+ | [`+indicator-update`](references/lark-okr-indicator-update.md) | 更新 Objective 或 KR 的当前进度指标。更复杂的量化指标操作见 [量化指标管理](references/lark-okr-indicators.md) |
83
+ | [`+patch`](references/lark-okr-patch.md) | 部分更新 Objective 或 KR(content、notes、score、deadline) |
84
+
85
+ ### 创建场景选择
86
+
87
+ - **单条创建优先用 [`+create`](references/lark-okr-create.md)**:适合创建一个 Objective,或给已有 Objective 增加一个 KR。
88
+ - **批量创建用 [`+batch-create`](references/lark-okr-batch-create.md)**:适合一次创建多个 Objective,并可同时附带多个 KR。
89
+ - 如果你只需要修改已有 Objective / KR 的内容、备注、分数或截止时间,使用 [`+patch`](references/lark-okr-patch.md)。
36
90
 
37
91
  ## 格式说明
38
92
 
39
93
  - [`OKR 业务实体`](references/lark-okr-entities.md) 获取 OKR 实体结构,定义和关系,帮助你更好的使用 OKR 功能
40
- - [`ContentBlock 富文本格式`](references/lark-okr-contentblock.md) — Objective/KeyResult/Progress 中 Content/Note 字段使用的富文本格式说明,以及简化的半纯文本(SemiPlainContent)格式的进一步说明。
94
+ - [`ContentBlock 富文本格式`](references/lark-okr-contentblock.md) — Objective/KeyResult/Progress 中 Content/Note
95
+ 字段使用的富文本格式说明,以及简化的半纯文本(SemiPlainContent)格式的进一步说明。
41
96
  - **强烈建议** 在操作 OKR 前,阅读[`OKR 业务实体`](references/lark-okr-entities.md)以了解基础概念
42
97
 
43
98
  ## API Resources
@@ -56,18 +111,9 @@ Shortcut 是对常用操作的高级封装(`lark-cli okr +<verb> [flags]`)
56
111
  ### cycles
57
112
 
58
113
  - `list` — 批量获取用户周期
59
- - `objectives_position` — 更新用户周期下全部目标的位置
60
- - 请求中必须携带对应周期下全部目标的 ID,否则会参数校验失败。以传入的目标ID顺序重新排列目标。
61
- - `objectives_weight` — 更新用户周期下全部目标的权重
62
- - 请求中必须同时修改对应周期下全部目标的权重,且所有权重值的和必须等于 1 ,否则会参数校验失败。例如周期下有 2 个目标时:
63
- - 正确指令示例如下:
64
- ``` bash
65
- lark-cli okr cycles objectives_weight --params '{"cycle_id": "7000000000000000001"}' --data '{"objective_weights": [{"objective_id": "7000000000000000002", "weight": 0.7}, {"objective_id": "7000000000000000003", "weight": 0.3}]}' --as user
66
- ```
67
114
 
68
115
  ### cycle.objectives
69
116
 
70
- - `create` — 创建目标
71
117
  - `list` — 批量获取用户周期下的目标
72
118
 
73
119
  ### indicators
@@ -110,7 +156,6 @@ Shortcut 是对常用操作的高级封装(`lark-cli okr +<verb> [flags]`)
110
156
 
111
157
  ### objective.key_results
112
158
 
113
- - `create` — 创建关键结果
114
159
  - `list` — 批量获取目标下的关键结果
115
160
 
116
161
  ## 不在本 skill 范围
@@ -10,23 +10,7 @@
10
10
  # 批量创建 2 个 Objective,各带 2 个 KR。
11
11
  lark-cli okr +batch-create \
12
12
  --cycle-id 7000000000000000001 \
13
- --input '[
14
- {
15
- "text": "提升产品用户体验",
16
- "mention": ["ou_xxxxxxxx"],
17
- "krs": [
18
- {"text": "页面加载速度提升 50%", "mention": ["ou_yyyyyyyy"]},
19
- {"text": "用户满意度达到 4.8 分"}
20
- ]
21
- },
22
- {
23
- "text": "拓展新市场份额",
24
- "krs": [
25
- {"text": "新增 10 个城市覆盖"},
26
- {"text": "市场份额提升至 25%"}
27
- ]
28
- }
29
- ]' \
13
+ --input '[{"text":"提升产品用户体验","mention":["ou_xxxxxxxx"],"notes":"重点关注核心路径体验","krs":[{"text":"页面加载速度提升 50%","mention":["ou_yyyyyyyy"]},{"text":"用户满意度达到 4.8 分"}]},{"text":"拓展新市场份额","krs":[{"text":"新增 10 个城市覆盖"},{"text":"市场份额提升至 25%"}]}]' \
30
14
  --as user
31
15
 
32
16
  # 从文件读取输入
@@ -44,17 +28,22 @@ lark-cli okr +batch-create \
44
28
  ```
45
29
  - mention 是可选参数,不需要使用“@”提及其他用户时不传入。
46
30
  - 传入的 mention 参数会以 @对应用户的形式,添加在文本后。
31
+ - Objective 的 notes / notes_mention 是可选参数,用于创建目标备注;KR 不支持备注。
32
+ - Objective 的 category_id 是可选参数;也可以通过 `--category-id` 给所有未显式设置分类的 Objective 指定默认分类。
47
33
 
48
34
  ## 参数
49
35
 
50
36
  | 参数 | 必填 | 默认值 | 说明 |
51
37
  |------------------|----|-----------|------------------------------------------------------------|
52
38
  | `--cycle-id` | 是 | — | OKR 周期 ID(int64 类型) |
53
- | `--input` | 是 | — | JSON 数组格式的 Objective 列表。支持 `@文件路径` 从文件读取或 `@-` 从 stdin 读取。 |
39
+ | `--input` | 是 | — | JSON 数组格式的 Objective 列表。支持 `@文件路径` 从文件读取或 `-` 从 stdin 读取。 |
40
+ | `--category-id` | 否 | — | 默认 Objective 分类 ID。仅用于 input 中未设置 `category_id` 的 Objective。通常不需要传入,见下方“分类提示”。 |
54
41
  | `--user-id-type` | 否 | `open_id` | mention 中使用的用户 ID 类型:`open_id` \| `union_id` \| `user_id` |
55
42
  | `--dry-run` | 否 | — | 预览 API 调用而不实际执行 |
56
43
  | `--format` | 否 | `json` | 输出格式 |
57
44
 
45
+ > **分类提示**:当用户明确要求设置 Objective 分类,或创建 Objective 返回 `invalid parameters` 且怀疑租户强制开启分类时,可以配置 category-id 字段进行创建。先运行 `lark-cli okr categories list --as user` 查看可用分类,然后选择一个语义合适且 `enabled=true` 的分类 ID 作为 `category-id`。分类创建后可以再调整;不必因为分类选择停下等待用户确认。
46
+
58
47
  ## 输入格式
59
48
 
60
49
  ```json
@@ -62,6 +51,9 @@ lark-cli okr +batch-create \
62
51
  {
63
52
  "text": "Objective 内容",
64
53
  "mention": ["ou_xxxxxxxx", "ou_yyyyyyyy"],
54
+ "notes": "Objective 备注",
55
+ "notes_mention": ["ou_xxxxxxxx"],
56
+ "category_id": "7249339036661170180",
65
57
  "krs": [
66
58
  {
67
59
  "text": "KR 内容",
@@ -72,6 +64,15 @@ lark-cli okr +batch-create \
72
64
  ]
73
65
  ```
74
66
 
67
+ 字段说明:
68
+
69
+ - `text`:Objective 或 KR 内容,必填。
70
+ - `mention`:追加到内容后的用户 mention,可选。
71
+ - `notes`:Objective 备注文本,可选,仅 Objective 支持。
72
+ - `notes_mention`:追加到 Objective 备注后的用户 mention,可选,仅在 `notes` 存在时有意义。
73
+ - `category_id`:Objective 分类 ID,可选;会覆盖命令级 `--category-id`。
74
+ - `krs`:当前 Objective 下要创建的 KR 列表,可选。
75
+
75
76
  ## 工作流程
76
77
 
77
78
  1. 使用 `+cycle-list` 获取可用的 OKR 周期 ID
@@ -0,0 +1,173 @@
1
+ # okr +create
2
+
3
+ > **前置条件:** 先阅读 [`lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 创建单个 OKR 目标(Objective)或关键结果(Key Result)。这是单条写入场景的首选 shortcut;如果需要一次创建多个 Objective 及其 KR,可使用 [`+batch-create`](lark-okr-batch-create.md)。
6
+
7
+ ## 推荐命令
8
+
9
+ ```bash
10
+ # 在指定周期下创建一个 Objective(默认 simple 风格)
11
+ lark-cli okr +create \
12
+ --level objective \
13
+ --cycle-id 7000000000000000001 \
14
+ --content '{"text":"提升北极星指标","mention":["ou_xxxxxxxx"]}' \
15
+ --notes '{"text":"重点关注活跃用户和转化漏斗"}' \
16
+ --as user
17
+
18
+ # 在已有 Objective 下创建一个 KR
19
+ lark-cli okr +create \
20
+ --level key-result \
21
+ --objective-id 7000000000000000002 \
22
+ --content '{"text":"季度留存率提升到 45%"}' \
23
+ --as user
24
+
25
+ # 使用 richtext 风格创建 Objective(完整 ContentBlock JSON)
26
+ lark-cli okr +create \
27
+ --level objective \
28
+ --cycle-id 7000000000000000001 \
29
+ --style richtext \
30
+ --content '{"blocks":[{"block_element_type":"paragraph","paragraph":{"elements":[{"paragraph_element_type":"textRun","text_run":{"text":"建立跨部门协作机制"}}]}}]}' \
31
+ --as user
32
+
33
+ # 预览 API 调用而不实际执行
34
+ lark-cli okr +create \
35
+ --level key-result \
36
+ --objective-id 7000000000000000002 \
37
+ --content '{"text":"完成 3 次核心流程优化"}' \
38
+ --dry-run \
39
+ --as user
40
+ ```
41
+
42
+ ## 参数
43
+
44
+ | 参数 | 必填 | 默认值 | 说明 |
45
+ |------------------|----|-----------|--------------------------------------------------------------------------------------------------------------------|
46
+ | `--level` | 是 | — | 创建层级:`objective`(创建目标)\| `key-result`(在已有目标下创建 KR) |
47
+ | `--cycle-id` | 条件 | — | OKR 周期 ID(int64 类型)。当 `--level=objective` 时**必填**。 |
48
+ | `--objective-id` | 条件 | — | Objective ID(int64 类型)。当 `--level=key-result` 时**必填**。 |
49
+ | `--style` | 否 | `simple` | 内容输入风格:`simple`(半纯文本 JSON,推荐) \| `richtext`(完整 ContentBlock JSON)。请参考 [ContentBlock 格式](lark-okr-contentblock.md)。 |
50
+ | `--content` | 是 | — | 内容。根据 `--style` 指定格式。支持 `@文件路径` 从文件读取或 `-` 从 stdin 读取。 |
51
+ | `--notes` | 否 | — | Objective 备注,仅 `--level=objective` 支持。根据 `--style` 指定格式,支持 `@文件路径` 或 `-` 从 stdin 读取。 |
52
+ | `--category-id` | 否 | — | Objective 分类 ID,仅 `--level=objective` 支持。通常不需要传入,见下方“分类提示”。 |
53
+ | `--user-id-type` | 否 | `open_id` | 用户 ID 类型:`open_id` \| `union_id` \| `user_id`。影响 mention 中用户 ID 的解释方式。 |
54
+ | `--dry-run` | 否 | — | 预览 API 调用而不实际执行。 |
55
+ | `--format` | 否 | `json` | 输出格式。 |
56
+
57
+ > **分类提示**:当用户明确要求设置 Objective 分类,或创建 Objective 返回 `invalid parameters` 且怀疑租户强制开启分类时,可以配置 --category-id 参数进行创建。先运行 `lark-cli okr categories list --as user` 查看可用分类,然后选择一个语义合适且 `enabled=true` 的分类 ID 作为 `--category-id`。分类创建后可以再调整;不必因为分类选择停下等待用户确认。
58
+
59
+ ## 输入格式
60
+
61
+ ### `--style simple`(默认)
62
+
63
+ 推荐大多数创建场景使用 `simple` 风格。`--content` 和 `--notes` 都使用 `SemiPlainContent` JSON:
64
+
65
+ ```json
66
+ {
67
+ "text": "提升北极星指标",
68
+ "mention": ["ou_xxxxxxxx"]
69
+ }
70
+ ```
71
+
72
+ 规则:
73
+
74
+ - `text` 必填,且不能为空白字符串
75
+ - `mention` 可选;如果传入,数组中的每个用户 ID 都不能为空字符串
76
+ - `--notes` 仅适用于 Objective;创建 KR 时传 `--notes` 会报错
77
+ - 同一条命令只有一个 flag 可以使用 `-` 读取 stdin;如果 `--content -`,`--notes` 请使用内联 JSON 或 `@文件路径`
78
+
79
+ ### `--style richtext`
80
+
81
+ 当你需要精确控制段落结构、插入文档链接,或使用完整富文本块结构时,使用 `richtext` 风格:
82
+
83
+ ```json
84
+ {
85
+ "blocks": [
86
+ {
87
+ "block_element_type": "paragraph",
88
+ "paragraph": {
89
+ "elements": [
90
+ {
91
+ "paragraph_element_type": "textRun",
92
+ "text_run": {
93
+ "text": "建立跨部门协作机制"
94
+ }
95
+ }
96
+ ]
97
+ }
98
+ }
99
+ ]
100
+ }
101
+ ```
102
+
103
+ 规则:
104
+
105
+ - `blocks` 至少需要有一个非空段落或图片块
106
+ - 不能传空 `blocks`,也不能传只有空段落元素的内容
107
+ - 更多结构说明见 [ContentBlock 富文本格式](lark-okr-contentblock.md)
108
+
109
+ ## 工作流程
110
+
111
+ 1. 如果要创建 Objective,先使用 `+cycle-list` 获取目标周期的 `cycle_id`。
112
+ 2. 如果要给已有 Objective 新增 KR,先通过 `+cycle-detail` 或其他 OKR 查询命令拿到 `objective_id`。
113
+ 3. 选择输入风格:
114
+ - **推荐**:`simple`,适合普通文本和 mention。
115
+ - 需要复杂富文本时:`richtext`。
116
+ 4. 执行 `lark-cli okr +create ...`。
117
+ 5. 报告结果:
118
+ - 创建 Objective 时返回新的 `objective_id`
119
+ - 创建 KR 时返回新的 `key_result_id`,并附带父 `objective_id`
120
+
121
+ ## Dry-run 对应接口
122
+
123
+ - `--level=objective`:
124
+ - `POST /open-apis/okr/v2/cycles/:cycle_id/objectives`
125
+ - `--level=key-result`:
126
+ - `POST /open-apis/okr/v2/objectives/:objective_id/key_results`
127
+
128
+ ## 输出
129
+
130
+ ### 创建 Objective 成功
131
+
132
+ ```json
133
+ {
134
+ "level": "objective",
135
+ "objective_id": "7000000000000000002"
136
+ }
137
+ ```
138
+
139
+ ### 创建 KR 成功
140
+
141
+ ```json
142
+ {
143
+ "level": "key-result",
144
+ "objective_id": "7000000000000000002",
145
+ "key_result_id": "7000000000000000003"
146
+ }
147
+ ```
148
+
149
+ ## 常见错误与处理
150
+
151
+ - `--level=objective` 但未传 `--cycle-id`
152
+ - 补充有效的周期 ID
153
+ - `--level=key-result` 但未传 `--objective-id`
154
+ - 补充已有 Objective 的 ID
155
+ - `--content` 为空、不是合法 JSON,或内容结构为空
156
+ - 按 `--style` 对应格式修正输入
157
+ - 在 `simple` 风格中传了 `docs` 或 `images`
158
+ - 改用 `--style richtext`,或移除这些字段
159
+
160
+ ## 何时用 +create,何时用 +batch-create
161
+
162
+ | 命令 | 适用场景 |
163
+ |------|----------|
164
+ | `+create` | 创建单个 Objective,或向已有 Objective 新增单个 KR |
165
+ | `+batch-create` | 一次创建多个 Objective,并可同时为每个 Objective 创建多个 KR |
166
+
167
+ ## 参考
168
+
169
+ - [lark-okr](../SKILL.md) -- 所有 OKR 命令
170
+ - [OKR 业务实体](lark-okr-entities.md) -- Objective、KR、周期等基础概念
171
+ - [ContentBlock 格式](lark-okr-contentblock.md) -- content/notes 字段的另一种输入风格,支持完整富文本格式
172
+ - [okr +batch-create](lark-okr-batch-create.md) -- 批量创建多个 Objective / KR
173
+ - [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
@@ -2,18 +2,21 @@
2
2
 
3
3
  > **前置条件:** 先阅读 [`lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
4
 
5
- 列出指定用户的 OKR 周期,支持可选的时间范围过滤。
5
+ 列出指定用户的一页 OKR 周期,支持外部控制翻页和可选的时间范围后置过滤。
6
6
 
7
7
  ## 推荐命令
8
8
 
9
9
  ```bash
10
- # 列出用户的所有周期
10
+ # 获取用户周期第一页 (默认页大小为 100 按时间倒序排列,一般不用翻页)
11
11
  lark-cli okr +cycle-list --user-id "ou_xxx"
12
12
 
13
+ # 获取下一页
14
+ lark-cli okr +cycle-list --user-id "ou_xxx" --page-size 100 --page-token "7000000000000000002"
15
+
13
16
  # 使用特定的用户 ID 类型列出周期
14
17
  lark-cli okr +cycle-list --user-id "xxx" --user-id-type user_id
15
18
 
16
- # 列出时间范围内的周期(例如 2025-01 到 2025-06)
19
+ # 列出当前返回页中与时间范围重叠的周期(例如 2025-01 到 2025-06)
17
20
  lark-cli okr +cycle-list --user-id "ou_xxx" --time-range "2025-01--2025-06"
18
21
 
19
22
  # 预览 API 调用而不实际执行
@@ -26,7 +29,9 @@ lark-cli okr +cycle-list --user-id "ou_xxx" --dry-run
26
29
  |------------------|----|-----------|------------------------------------------------------------------|
27
30
  | `--user-id` | 是 | — | OKR 所有者的用户 ID |
28
31
  | `--user-id-type` | 否 | `open_id` | 用户 ID 类型:`open_id` \| `union_id` \| `user_id` |
29
- | `--time-range` | 否 | — | 按时间范围过滤周期。格式:`YYYY-MM--YYYY-MM`(例如 `2025-01--2025-06`)。留空获取所有周期。 |
32
+ | `--time-range` | 否 | — | 后置筛选条件:先按 `--page-size`/`--page-token` 请求一页,再在本地保留与该时间范围重叠的周期。格式:`YYYY-MM--YYYY-MM`(例如 `2025-01--2025-06`)。 |
33
+ | `--page-size` | 否 | `100` | 每页数量,范围 `1-100`。 |
34
+ | `--page-token` | 否 | `""` | 上一次响应中的 `page_token`,留空表示第一页。 |
30
35
  | `--dry-run` | 否 | — | 预览 API 调用而不实际执行。 |
31
36
  | `--format` | 否 | `json` | 输出格式。 |
32
37
 
@@ -34,8 +39,11 @@ lark-cli okr +cycle-list --user-id "ou_xxx" --dry-run
34
39
 
35
40
  1. 获取目标用户的 `open_id`(或其他 ID 类型)。如果用户说"我的 OKR 周期",先通过 `lark-cli contact +get-user` 获取当前用户的
36
41
  ID。
37
- 2. 执行 `lark-cli okr +cycle-list --user-id "ou_xxx"`,可选择使用 `--time-range`。
38
- 3. 报告结果:找到的周期数量、每个周期的 ID、开始/结束时间和状态。
42
+ 2. 执行 `lark-cli okr +cycle-list --user-id "ou_xxx" --page-size 100`,可选择使用 `--time-range`。
43
+ 3. 如果响应中 `has_more=true`,继续用返回的 `page_token` 调用下一页。
44
+ 4. 报告结果:每个周期的 ID、开始/结束时间和状态。
45
+
46
+ `--time-range` 是后置筛选条件,不会改变服务端分页窗口。也就是说,命令会先获取指定页,再过滤该页中的周期;如果需要完整时间范围结果,需要按 `has_more`/`page_token` 逐页拉取并合并。
39
47
 
40
48
  ## 输出
41
49
 
@@ -51,7 +59,8 @@ lark-cli okr +cycle-list --user-id "ou_xxx" --dry-run
51
59
  "cycle_status": "normal"
52
60
  }
53
61
  ],
54
- "total": 1,
62
+ "has_more": true,
63
+ "page_token": "7000000000000000002",
55
64
  "current_active_cycles": [
56
65
  {
57
66
  "id": "1234567890123456789",
@@ -66,6 +75,7 @@ lark-cli okr +cycle-list --user-id "ou_xxx" --dry-run
66
75
  在这个周期信息中,这些字段值得关注:
67
76
 
68
77
  - `id` 是这个周期的 ID,你通常需要用它在之后使用 `okr +cycle-detail` 获取 OKR 内容详情
78
+ - `has_more` 和 `page_token` 用于外部控制翻页;`has_more=true` 时,用 `--page-token` 原样传入本次返回的 `page_token` 获取下一页。
69
79
  - `start_time` `end_time` 是周期的起止时间,总是从某个月1日开始,直到此月或之后某月的最后一日结束。
70
80
  - 在 OKR 系统中,我们只关注这个时间的年月部分,如 "2025-01-01开始,2025-06-30结束" 的周期被称作 "2025 年 1-6 月" 周期,而
71
81
  "2025-01-01开始,2025-01-31结束" 的周期被称作 "2025 年 1 月"周期。
@@ -50,6 +50,7 @@ Category (分类): Objective 的分组标签
50
50
 
51
51
  - **当前周期**: 指周期的 start_time/end_time
52
52
  指周期的 start_time / end_time 所在的时间段与当前时间重叠的周期(即: start_time <= 当前时间 且 end_time >= 当前时间)。 注意:时间重叠是判断当前周期的首要且必须的硬性条件,绝对不能仅仅根据 cycle_status == 1 去判断。 如果有多个符合时间重叠标准的周期,再在这些包含当前时间的周期中过滤,保留周期状态为 default (0) 或 normal (1) 的周期。如果仍然有多个,则选择其中较新的一个。当用户提及“上一个周期”,“下一个周期”一类的表述时,通常是以当前周期为准计算。
53
+ - 如果用户没有提及,那么当前周期一般不考虑年度周期(起止时间从 01-01 至 12-31 的周期)
53
54
  - **所有者**: 绝大多数所有者都是用户,少部分租户启用了“团队OKR”功能,所有者可能是部门。用户身份下,只能编辑所有者为当前用户的
54
55
  OKR。
55
56
 
@@ -40,7 +40,9 @@ lark-cli okr +indicator-update \
40
40
 
41
41
  1. 使用 `+cycle-list` 和 `+cycle-detail` 获取目标 ID 或 KR ID。
42
42
  2. 如需查看当前指标值,使用 `objective.indicators list` 或 `key_result.indicators list` 查询。
43
- 3. 执行 `+indicator-update` 指定层级、ID 和新值。
43
+ 若当前量化指标没有 start_value/current_value/target_value/unit 这些字段,代表当前量化指标为未设置的默认初始进度。
44
+ 3. 执行 `+indicator-update` 指定层级、ID 和新值。
45
+ 使用 +indicator-update 为默认初始进度设置当前值会将该量化指标配置为默认的百分比模式。若用户不希望将指标设置为百分比,请使用原生 API 详细设置,参考 [lark-okr-indicators.md](lark-okr-indicators.md)
44
46
  4. 命令自动查询指标 ID 并更新当前值。
45
47
 
46
48
  ## 输出