chore(deps): bump lark-cli 1.0.66 → 1.0.68 - #108
Conversation
同步升级 lark-cli 版本锁定,重新抽取 scope 映射并按上游 diff 重适配变更的 skill。 - Dockerfile pin 1.0.66 → 1.0.68 - shortcut-scopes.json: 新增两个 mail 快捷 (+message-modify、+message-trash), 均为 user scope;rawapi-scopes.json 同步版本号 - 重适配 7 个上游有变更的 domain:apps、doc、drive、mail、slides、vc-agent、wiki (mail 新增 message-modify/message-trash 两个 reference,slides 新增 slides_chart_demo.xml) - scope-allowlist.ts、config/oauth-scopes.json、CDK snapshot 无需变更 (新 scope 已在 allowlist 覆盖,tier1 全覆盖) 验证:check-lark-cli-version、npm test (563)、容器 smoke test (6/6) 全过; 无 bot-only scope;affordance 变更未污染 catalog risk 检测。
📝 WalkthroughWalkthroughThe PR updates the pinned Lark CLI and regenerated shortcut metadata, then revises operational guidance for application environments, Drive, Mail, Slides, video-conference events, documents, and wiki workflows. ChangesCLI metadata
Application and document guidance
Drive and wiki workflows
Mail shortcut guidance
Slides chart contracts
Video conference event guidance
Estimated code review effort: 4 (Complex) | ~60 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 12
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docker/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.md (1)
91-121: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick winInclude all required shared Artifact Contract fields.
The shared contract in
docker/skills/lark-drive/references/lark-drive-workflow.mdrequiresworkflow_id,facts,unsupported_checks, andexecution_results, but this workflow’s runtime-state table omits them while claiming to extend that contract. An agent following this table could lose evidence, unsupported-check results, or execution results during a run.Add the inherited fields explicitly, or state unambiguously that the table is additive and link to the complete shared field set.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docker/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.md` around lines 91 - 121, Update the runtime-state table describing the shared Artifact Contract to explicitly include workflow_id, facts, unsupported_checks, and execution_results, or clearly state that the table is additive and references the complete field set in the shared contract. Ensure agents preserve these inherited fields throughout the workflow run alongside the existing fields.
🧹 Nitpick comments (1)
docker/skills/lark-slides/references/lark-slides-whiteboard.md (1)
64-71: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick winDo not permit “simple SVG rectangles/lines” as the fallback.
For unsupported data visuals, this wording allows the bare shapes prohibited by the later quality rules and can produce charts without axes, labels, or meaningful segmentation. Require a semantically complete SVG fallback instead.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docker/skills/lark-slides/references/lark-slides-whiteboard.md` around lines 64 - 71, Replace the “simple SVG rectangles/lines” fallback in the non-native chart routing table with a requirement for a semantically complete SVG visualization, including appropriate axes, labels, legends, and meaningful data segmentation; retain Mermaid as the preferred path for Doubao, Seed, and Other models when applicable.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docker/skills/lark-apps/references/lark-apps-db.md`:
- Line 157: Revise the guidance around environment detection and write
operations: do not recommend an explicit dev write as a probe. In the documented
workflow, first use a read-only environment/status check or dry_run=true to
determine available environments, then require an explicit environment value
before any import or audit-setting write, including online operations.
In `@docker/skills/lark-drive/references/lark-drive-files-list.md`:
- Around line 78-79: Update the guidance in the page_size recommendation to
downgrade only when the service explicitly rejects page_size; do not treat
generic parameter errors as sufficient. For errors involving folder_token,
page_token, order_by, direction, or other fields, correct or rediscover the
offending field instead of retrying with a smaller page_size.
In `@docker/skills/lark-drive/references/lark-drive-permission-guide.md`:
- Around line 13-24: 公开权限执行门槛需覆盖所有实际影响暴露范围的字段,而不仅是
link_share_entity。更新“公开范围”确认要求,明确列出并验证 link_share_entity 与 data.external_access
的用户选择及映射关系;仅在目标资源、各字段取值和执行意图均得到本轮明确确认后,才允许使用 _confirm=true。
In `@docker/skills/lark-drive/SKILL.md`:
- Line 160: Make the native API discovery prerequisite consistent in the Drive
skill documentation. Update the examples around the “高频原生命令” section and the
`files-list` guidance so every direct `lark_invoke` call is preceded by
`lark_discover`, or explicitly document that `lark_get_skill(domain="drive",
section="files-list")` supersedes discovery. Apply the same clarification to the
additional examples referenced by the review.
In `@docker/skills/lark-mail/references/lark-mail-message-modify.md`:
- Around line 9-14: Add a language identifier, such as bash or text, to the
Markdown code fence containing the lark_mail_message_modify examples.
In `@docker/skills/lark-mail/references/lark-mail-message-trash.md`:
- Around line 11-14: The command code fence in the lark mail trash documentation
lacks a language identifier. Update the fence containing the
lark_mail_message_trash examples to specify bash or text.
- Around line 5-7: The lark-mail trash documentation should reflect the
authorization exception: state that `_confirm=true` is always required to
execute deletion, while a separate user confirmation of the deletion preview is
required only when no recent user request explicitly specifies both the target
and deletion action. Update the guidance near the high-risk-write instructions.
In `@docker/skills/lark-slides/references/slides_chart_demo.xml`:
- Line 1: Update the footer page numbers across all slide elements so the total
reflects the actual 11-slide presentation: change every `/ 12` denominator to `/
11` and ensure the sequence runs consistently from `01 / 11` through `11 / 11`,
including the footer in the slide containing the `02 / 12` text.
- Line 1: Populate every self-closing whiteboard in the scatter, bubble,
word-cloud, funnel, and Pareto sections with a valid child visualization.
Replace each <whiteboard> in the relevant chart slides with an appropriate <svg>
or <mermaid> payload containing complete illustrative data and shapes, ensuring
each whiteboard has exactly one supported child so it renders correctly.
In `@docker/skills/lark-slides/references/xml-format-guide.md`:
- Line 266: Update the chart coverage sentence near the `slides_chart_demo.xml`
reference to match the actual demo contents: remove “瀑布” from the listed
whiteboard SVG examples, unless a corresponding waterfall example is added to
that file.
In `@docker/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md`:
- Around line 105-109: Update the `format="json"` contract description to
include the top-level `warnings` field alongside `meeting`, `identity`,
`events`, `has_more`, and `page_token`, ensuring consumers preserve permission
and partial-result warnings.
- Line 187: Add a language identifier to the fenced code block in the
meeting-events documentation, using text or bash as appropriate, so it complies
with Markdownlint MD040.
---
Outside diff comments:
In
`@docker/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.md`:
- Around line 91-121: Update the runtime-state table describing the shared
Artifact Contract to explicitly include workflow_id, facts, unsupported_checks,
and execution_results, or clearly state that the table is additive and
references the complete field set in the shared contract. Ensure agents preserve
these inherited fields throughout the workflow run alongside the existing
fields.
---
Nitpick comments:
In `@docker/skills/lark-slides/references/lark-slides-whiteboard.md`:
- Around line 64-71: Replace the “simple SVG rectangles/lines” fallback in the
non-native chart routing table with a requirement for a semantically complete
SVG visualization, including appropriate axes, labels, legends, and meaningful
data segmentation; retain Mermaid as the preferred path for Doubao, Seed, and
Other models when applicable.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 637c41b3-45ad-4254-a800-607103930815
📒 Files selected for processing (34)
docker/Dockerfiledocker/rawapi-scopes.jsondocker/shortcut-scopes.jsondocker/skills/lark-apps/references/lark-apps-db-execute.mddocker/skills/lark-apps/references/lark-apps-db.mddocker/skills/lark-doc/references/lark-doc-whiteboard.mddocker/skills/lark-doc/references/lark-doc-xml.mddocker/skills/lark-drive/SKILL.mddocker/skills/lark-drive/references/lark-drive-delete.mddocker/skills/lark-drive/references/lark-drive-files-list.mddocker/skills/lark-drive/references/lark-drive-inspect.mddocker/skills/lark-drive/references/lark-drive-permission-guide.mddocker/skills/lark-drive/references/lark-drive-push.mddocker/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.mddocker/skills/lark-drive/references/lark-drive-workflow.mddocker/skills/lark-mail/SKILL.mddocker/skills/lark-mail/references/lark-mail-forward.mddocker/skills/lark-mail/references/lark-mail-message-modify.mddocker/skills/lark-mail/references/lark-mail-message-trash.mddocker/skills/lark-mail/references/lark-mail-reply-all.mddocker/skills/lark-mail/references/lark-mail-reply.mddocker/skills/lark-mail/references/lark-mail-watch.mddocker/skills/lark-slides/references/asset-planning.mddocker/skills/lark-slides/references/lark-slides-whiteboard.mddocker/skills/lark-slides/references/planning-layer.mddocker/skills/lark-slides/references/slides_chart_demo.xmldocker/skills/lark-slides/references/slides_xml_schema_definition.xmldocker/skills/lark-slides/references/xml-format-guide.mddocker/skills/lark-slides/references/xml-schema-quick-ref.mddocker/skills/lark-vc-agent/SKILL.mddocker/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.mddocker/skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.mddocker/skills/lark-wiki/SKILL.mddocker/skills/lark-wiki/references/lark-wiki-node-get.md
| ## Agent 规则 | ||
|
|
||
| - 用户说「本地 / 开发库 / 调试库」优先 `environment="dev"`,线上排查用 `environment="online"`;数据面写操作(导入 / 审计开关)默认先在 `dev` 验再动 `online`。 | ||
| - 用户说「本地 / 开发库 / 调试库」优先 `environment="dev"`,线上排查用 `environment="online"`;数据面写操作(导入 / 审计开关)建议先在 `dev` 验再动 `online`。**注意省略 `environment` 时写操作会落到服务端选中的分支——单环境应用即 `online`(生产)**:不确定应用是否多环境时,写操作显式传 `environment`;显式 `dev` 在单环境应用上会安全报错(无 dev 分支),正好当「是否多环境」的探针用。 |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Do not use a write operation as the environment probe.
On multi-environment applications, explicit environment="dev" writes execute against the development database; only single-environment applications reject them. The current wording can therefore mutate data before the environment is known. Use a read-only environment/status check or dry_run=true, then require an explicit environment before performing the write.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docker/skills/lark-apps/references/lark-apps-db.md` at line 157, Revise the
guidance around environment detection and write operations: do not recommend an
explicit dev write as a probe. In the documented workflow, first use a read-only
environment/status check or dry_run=true to determine available environments,
then require an explicit environment value before any import or audit-setting
write, including online operations.
| 6. `page_size` 在分页、递归盘点或全量导出时建议显式设置为 `200`。如果服务端或环境返回参数错误,再降级到服务端允许的值,并记录降级原因。 | ||
| 7. 调用前如果不确定字段结构,先运行 `lark_discover(query="drive.files.list")` 查看 `params` 结构。 |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Only downgrade page_size for page-size validation errors.
The rule currently treats any “parameter error” as a reason to lower page_size; errors in folder_token, page_token, order_by, or direction will not be fixed by that retry. Limit the fallback to an explicit page_size rejection; otherwise repair or rediscover the offending field.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docker/skills/lark-drive/references/lark-drive-files-list.md` around lines 78
- 79, Update the guidance in the page_size recommendation to downgrade only when
the service explicitly rejects page_size; do not treat generic parameter errors
as sufficient. For errors involving folder_token, page_token, order_by,
direction, or other fields, correct or rediscover the offending field instead of
retrying with a smaller page_size.
| ## 公开权限修改前门槛 | ||
|
|
||
| 公开权限修改是高风险写操作。执行 `lark_invoke(tool_name="lark_drive_permission_public_patch", args={..., _confirm: true})` 前同时确认: | ||
|
|
||
| | 条件 | 可执行信号 | | ||
| |------|------------| | ||
| | 具体目标 | 单个 URL/token,或用户确认过的资源列表 | | ||
| | 公开范围 | 用户明确选择组织内/互联网、可读/可编辑等具体 `link_share_entity` 档位 | | ||
| | 执行确认 | 用户在本轮确认按该目标和范围执行 | | ||
|
|
||
| "开放一下""共享给大家""让大家能看"只表达目标状态,不包含具体公开范围。先列出可选范围并停止等待用户选择;公开档位必须来自用户选择,`_confirm=true` 只表示已获得用户对该档位的执行确认。 | ||
|
|
There was a problem hiding this comment.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
Confirm every field that controls exposure, not only link_share_entity.
The downstream command also sets data.external_access (lark-drive-workflow-permission-governance-commands.md:87), but this gate describes organization/internet and read/edit choices as link_share_entity values alone. That can leave external_access at an unintended default or map the requested access level incorrectly. Require explicit confirmation and mapping for all effective public-permission fields before _confirm=true.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docker/skills/lark-drive/references/lark-drive-permission-guide.md` around
lines 13 - 24, 公开权限执行门槛需覆盖所有实际影响暴露范围的字段,而不仅是
link_share_entity。更新“公开范围”确认要求,明确列出并验证 link_share_entity 与 data.external_access
的用户选择及映射关系;仅在目标资源、各字段取值和执行意图均得到本轮明确确认后,才允许使用 _confirm=true。
| > **重要**:使用原生 API 时,必须先运行 `lark_discover` 查看 `data` / `params` 参数结构,不要猜测字段格式。 | ||
| > | ||
| > **高频原生命令:** 读取 Drive 文件夹清单时使用 `drive files list`,必须按 `lark_get_skill(domain="drive", section="files-list")` 的模板通过 `params` 传 `folder_token` / `page_token`,并手动处理分页;不要把 `page_all` 输出直接交给 JSON 解析脚本。 | ||
| > **高频原生命令:** 读取 Drive 文件夹清单时使用 `drive files list`,使用前先调用 `lark_get_skill(domain="drive", section="files-list")`,按模板通过 `params` 传参并手动处理分页;不要把 `page_all` 输出直接交给 JSON 解析脚本。 |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Make the native-API discovery prerequisite consistent.
Line 158 requires lark_discover before every native API call, but these new examples invoke lark_invoke directly; lark-drive-files-list.md:79 also makes discovery conditional. Add the discovery step or explicitly state that lark_get_skill supersedes it.
Also applies to: 202-207
🧰 Tools
🪛 SkillSpector (2.3.7)
[warning] 51: [MP2] Context Window Stuffing: Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.
Remediation: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
(Memory Poisoning (MP2))
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docker/skills/lark-drive/SKILL.md` at line 160, Make the native API discovery
prerequisite consistent in the Drive skill documentation. Update the examples
around the “高频原生命令” section and the `files-list` guidance so every direct
`lark_invoke` call is preceded by `lark_discover`, or explicitly document that
`lark_get_skill(domain="drive", section="files-list")` supersedes discovery.
Apply the same clarification to the additional examples referenced by the
review.
| ``` | ||
| lark_mail_message_modify(message_ids="<id1>,<id2>", add_label_ids="unread") | ||
| lark_mail_message_modify(message_ids="<id>", remove_label_ids="FLAGGED") | ||
| lark_mail_message_modify(message_ids="<id>", add_folder="archive") | ||
| lark_mail_message_modify(mailbox="shared@example.com", message_ids="<id>", add_folder="folder_xxx") | ||
| ``` |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Add a language identifier to the command fence.
This fence triggers MD040; use a suitable identifier such as bash or text.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 9-9: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docker/skills/lark-mail/references/lark-mail-message-modify.md` around lines
9 - 14, Add a language identifier, such as bash or text, to the Markdown code
fence containing the lark_mail_message_modify examples.
Source: Linters/SAST tools
| ``` | ||
| lark_mail_message_trash(message_ids="<id1>,<id2>", _confirm=true) | ||
| lark_mail_message_trash(mailbox="shared@example.com", message_ids="<id>", _confirm=true) | ||
| ``` |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Add a language identifier to the command fence.
This fence triggers MD040; use bash or text.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 11-11: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docker/skills/lark-mail/references/lark-mail-message-trash.md` around lines
11 - 14, The command code fence in the lark mail trash documentation lacks a
language identifier. Update the fence containing the lark_mail_message_trash
examples to specify bash or text.
Source: Linters/SAST tools
| @@ -0,0 +1 @@ | |||
| <presentation xmlns="/sml/2.0" width="960" height="540"><title>全球消费电子市场洞察 · 图表可视化 Demo</title><theme><textStyles><headline fontColor="rgba(31, 35, 41, 1)"/><sub-headline fontColor="rgba(31, 35, 41, 1)"/><body fontColor="rgba(31, 35, 41, 1)"/><caption fontColor="rgba(155, 158, 162, 1)" fontSize="14"/></textStyles></theme><slide><style><fill><fillColor color="linear-gradient(135deg,rgba(10, 20, 45, 1) 0%,rgba(28, 71, 120, 1) 100%)"/></fill></style><data><shape width="8" height="180" topLeftX="72" topLeftY="188" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="760" height="60" topLeftX="100" topLeftY="180" type="text"><content textType="caption" fontSize="14" fontFamily="思源黑体" color="rgba(240, 129, 54, 1)" bold="true"><p>CONSULTING INSIGHTS · MARKET SERIES 2026 / Q3</p></content></shape><shape width="760" height="90" topLeftX="100" topLeftY="222" type="text"><content textType="title" fontSize="44" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>全球消费电子市场洞察</p></content></shape><shape width="760" height="50" topLeftX="100" topLeftY="300" type="text"><content textType="headline" fontSize="22" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)" bold="true"><p>数据可视化图谱 · Chart Library Demo</p></content></shape><shape width="760" height="30" topLeftX="100" topLeftY="358" type="text"><content fontSize="14" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>覆盖柱状 · 折线 · 饼图 · 条形 · 面积 · 散点 · 组合 · 雷达 · 其他 九大类</p></content></shape><line startX="100" startY="410" endX="240.0035713830186" endY="410"><border color="rgba(240, 129, 54, 1)"/></line><shape width="500" height="24" topLeftX="100" topLeftY="420" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>Prepared by Consulting Insights · July 2026</p></content></shape><shape width="180" height="24" topLeftX="720" topLeftY="480" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)" textAlign="right"><p>Strictly Private & Confidential</p></content></shape></data><note><content/></note></slide><slide><style><fill><fillColor color="rgba(248, 249, 251, 1)"/></fill></style><data><shape width="960" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(15, 30, 58, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="8" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="700" height="30" topLeftX="32" topLeftY="14" type="text"><content textType="headline" fontSize="22" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>目录 · 图表类型索引</p></content></shape><shape width="700" height="20" topLeftX="32" topLeftY="46" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>CHART LIBRARY OVERVIEW · 9 CATEGORIES</p></content></shape><shape width="160" height="22" topLeftX="770" topLeftY="26" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)" textAlign="right"><p>SECTION 00 / OVERVIEW</p></content></shape><shape width="400" height="30" topLeftX="60" topLeftY="110" type="text"><content textType="headline" fontSize="16" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>数据比较类</p></content></shape><line startX="60" startY="140" endX="440.0013157871956" endY="140"><border color="rgba(240, 129, 54, 1)"/></line><shape width="36" height="36" topLeftX="60" topLeftY="160" presetHandlers="0" type="rect"><fill><fillColor color="rgba(28, 71, 120, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="36" height="30" topLeftX="60" topLeftY="163" type="text"><content fontSize="16" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true" textAlign="center"><p>01</p></content></shape><shape width="340" height="20" topLeftX="108" topLeftY="160" type="text"><content fontSize="15" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>柱状图 Column</p></content></shape><shape width="340" height="20" topLeftX="108" topLeftY="180" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(100, 116, 139, 1)"><p>分组 / 堆叠 / 百分比堆叠</p></content></shape><shape width="36" height="36" topLeftX="60" topLeftY="210" presetHandlers="0" type="rect"><fill><fillColor color="rgba(28, 71, 120, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="36" height="30" topLeftX="60" topLeftY="213" type="text"><content fontSize="16" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true" textAlign="center"><p>02</p></content></shape><shape width="340" height="20" topLeftX="108" topLeftY="210" type="text"><content fontSize="15" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>条形图 Bar</p></content></shape><shape width="340" height="20" topLeftX="108" topLeftY="230" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(100, 116, 139, 1)"><p>分组 / 堆叠 / 百分比堆叠</p></content></shape><shape width="36" height="36" topLeftX="60" topLeftY="260" presetHandlers="0" type="rect"><fill><fillColor color="rgba(28, 71, 120, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="36" height="30" topLeftX="60" topLeftY="263" type="text"><content fontSize="16" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true" textAlign="center"><p>03</p></content></shape><shape width="340" height="20" topLeftX="108" topLeftY="260" type="text"><content fontSize="15" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>饼图 Pie</p></content></shape><shape width="340" height="20" topLeftX="108" topLeftY="280" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(100, 116, 139, 1)"><p>饼图 / 环形图</p></content></shape><shape width="400" height="30" topLeftX="60" topLeftY="330" type="text"><content textType="headline" fontSize="16" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>趋势与结构类</p></content></shape><line startX="60" startY="360" endX="440.0013157871956" endY="360"><border color="rgba(240, 129, 54, 1)"/></line><shape width="36" height="36" topLeftX="60" topLeftY="380" presetHandlers="0" type="rect"><fill><fillColor color="rgba(28, 71, 120, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="36" height="30" topLeftX="60" topLeftY="383" type="text"><content fontSize="16" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true" textAlign="center"><p>04</p></content></shape><shape width="340" height="20" topLeftX="108" topLeftY="380" type="text"><content fontSize="15" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>折线图 Line</p></content></shape><shape width="340" height="20" topLeftX="108" topLeftY="400" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(100, 116, 139, 1)"><p>直线 / 平滑 / 阶梯</p></content></shape><shape width="36" height="36" topLeftX="60" topLeftY="430" presetHandlers="0" type="rect"><fill><fillColor color="rgba(28, 71, 120, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="36" height="30" topLeftX="60" topLeftY="433" type="text"><content fontSize="16" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true" textAlign="center"><p>05</p></content></shape><shape width="340" height="20" topLeftX="108" topLeftY="430" type="text"><content fontSize="15" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>面积图 Area</p></content></shape><shape width="340" height="20" topLeftX="108" topLeftY="450" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(100, 116, 139, 1)"><p>分组 / 堆叠 / 百分比堆叠</p></content></shape><shape width="400" height="30" topLeftX="500" topLeftY="110" type="text"><content textType="headline" fontSize="16" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>关系与多维类</p></content></shape><line startX="500" startY="140" endX="880.0013157871956" endY="140"><border color="rgba(240, 129, 54, 1)"/></line><shape width="36" height="36" topLeftX="500" topLeftY="160" presetHandlers="0" type="rect"><fill><fillColor color="rgba(28, 71, 120, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="36" height="30" topLeftX="500" topLeftY="163" type="text"><content fontSize="16" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true" textAlign="center"><p>06</p></content></shape><shape width="340" height="20" topLeftX="548" topLeftY="160" type="text"><content fontSize="15" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>散点图 Scatter</p></content></shape><shape width="340" height="20" topLeftX="548" topLeftY="180" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(100, 116, 139, 1)"><p>散点图 / 气泡图</p></content></shape><shape width="36" height="36" topLeftX="500" topLeftY="210" presetHandlers="0" type="rect"><fill><fillColor color="rgba(28, 71, 120, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="36" height="30" topLeftX="500" topLeftY="213" type="text"><content fontSize="16" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true" textAlign="center"><p>07</p></content></shape><shape width="340" height="20" topLeftX="548" topLeftY="210" type="text"><content fontSize="15" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>组合图 Combo</p></content></shape><shape width="340" height="20" topLeftX="548" topLeftY="230" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(100, 116, 139, 1)"><p>柱状 + 折线 双轴组合</p></content></shape><shape width="36" height="36" topLeftX="500" topLeftY="260" presetHandlers="0" type="rect"><fill><fillColor color="rgba(28, 71, 120, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="36" height="30" topLeftX="500" topLeftY="263" type="text"><content fontSize="16" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true" textAlign="center"><p>08</p></content></shape><shape width="340" height="20" topLeftX="548" topLeftY="260" type="text"><content fontSize="15" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>雷达图 Radar</p></content></shape><shape width="340" height="20" topLeftX="548" topLeftY="280" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(100, 116, 139, 1)"><p>多边形 / 圆形 / 无填充</p></content></shape><shape width="400" height="30" topLeftX="500" topLeftY="330" type="text"><content textType="headline" fontSize="16" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>其他</p></content></shape><line startX="500" startY="360" endX="880.0013157871956" endY="360"><border color="rgba(240, 129, 54, 1)"/></line><shape width="36" height="36" topLeftX="500" topLeftY="380" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="36" height="30" topLeftX="500" topLeftY="383" type="text"><content fontSize="16" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true" textAlign="center"><p>09</p></content></shape><shape width="340" height="20" topLeftX="548" topLeftY="380" type="text"><content fontSize="15" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>其他 Others</p></content></shape><shape width="340" height="20" topLeftX="548" topLeftY="400" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(100, 116, 139, 1)"><p>词云 / 漏斗 / 帕累托</p></content></shape><line startX="32" startY="506" endX="928.0005580355405" endY="506"><border color="rgba(226, 232, 240, 1)" width="1"/></line><shape width="500" height="18" topLeftX="32" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)"><p>Consulting Insights © 2026 · CE Market Series</p></content></shape><shape width="128" height="18" topLeftX="800" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)" textAlign="right"><p>02 / 12</p></content></shape></data><note><content/></note></slide><slide><style><fill><fillColor color="rgba(248, 249, 251, 1)"/></fill></style><data><shape width="960" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(15, 30, 58, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="8" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="700" height="30" topLeftX="32" topLeftY="14" type="text"><content textType="headline" fontSize="22" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>柱状图 · Column Chart</p></content></shape><shape width="700" height="20" topLeftX="32" topLeftY="46" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>季度出货量对比 · GROUPED / STACKED / 100% STACKED</p></content></shape><shape width="160" height="22" topLeftX="770" topLeftY="26" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)" textAlign="right"><p>SECTION 01 / COLUMN</p></content></shape><shape width="290" height="400" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="44" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>① 分组柱状图 · Grouped</p></content></shape><chart width="270" height="350" topLeftX="42" topLeftY="132"><chartPlotArea><chartPlot type="column"><chartExtra/></chartPlot><chartAxes><chartAxis type="x"><chartLabel fontSize="9"/></chartAxis><chartAxis type="y" position="left"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="季度">2024Q1,2024Q2,2024Q3,2024Q4</chartField></dim1><dim2><chartField name="Apple">52,48,55,68</chartField><chartField name="Samsung">60,58,63,72</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">智能手机季度出货(百万台)</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><shape width="290" height="400" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="347" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>② 堆叠柱状图 · Stacked</p></content></shape><chart width="270" height="350" topLeftX="345" topLeftY="132"><chartPlotArea><chartPlot type="column"><chartExtra><chartStack/></chartExtra></chartPlot><chartAxes><chartAxis type="x"><chartLabel fontSize="9"/></chartAxis><chartAxis type="y" position="left"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="季度">2024Q1,2024Q2,2024Q3,2024Q4</chartField></dim1><dim2><chartField name="硬件">80,85,92,105</chartField><chartField name="服务">45,52,58,66</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">收入结构(亿美元)</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><shape width="290" height="400" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="650" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>③ 百分比堆叠 · 100% Stacked</p></content></shape><chart width="270" height="350" topLeftX="648" topLeftY="132"><chartPlotArea><chartPlot type="column"><chartExtra><chartStack percentage="true"/></chartExtra><chartSeriesList><chartSeries index="1"><chartTooltip format="0%"/></chartSeries><chartSeries index="2"><chartTooltip format="0%"/></chartSeries></chartSeriesList></chartPlot><chartAxes><chartAxis type="x"><chartLabel fontSize="9"/></chartAxis><chartAxis type="y" position="left"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9" format="0%"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="区域">北美,欧洲,亚太,拉美</chartField></dim1><dim2><chartField name="Apple">0.55,0.42,0.3,0.28</chartField><chartField name="Samsung">0.45,0.58,0.7,0.72</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">区域市场份额构成</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle><chartTooltip format="0%"/></chart><line startX="32" startY="506" endX="928.0005580355405" endY="506"><border color="rgba(226, 232, 240, 1)" width="1"/></line><shape width="500" height="18" topLeftX="32" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)"><p>Source: Consulting Insights Research · 数据仅用于示意</p></content></shape><shape width="128" height="18" topLeftX="800" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)" textAlign="right"><p>03 / 12</p></content></shape></data><note><content/></note></slide><slide><style><fill><fillColor color="rgba(248, 249, 251, 1)"/></fill></style><data><shape width="960" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(15, 30, 58, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="8" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="700" height="30" topLeftX="32" topLeftY="14" type="text"><content textType="headline" fontSize="22" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>折线图 · Line Chart</p></content></shape><shape width="700" height="20" topLeftX="32" topLeftY="46" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>用户规模趋势 · STRAIGHT / SMOOTH / STEP</p></content></shape><shape width="160" height="22" topLeftX="770" topLeftY="26" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)" textAlign="right"><p>SECTION 02 / LINE</p></content></shape><shape width="290" height="400" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="44" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>① 直线折线图 · Straight</p></content></shape><chart width="270" height="350" topLeftX="42" topLeftY="132"><chartPlotArea><chartPlot type="line"><chartExtra/></chartPlot><chartAxes><chartAxis type="x"><chartLabel fontSize="9"/></chartAxis><chartAxis type="y" position="left"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="月份">1月,2月,3月,4月,5月,6月</chartField></dim1><dim2><chartField name="iOS">120,135,128,152,168,180</chartField><chartField name="Android">200,215,232,228,250,265</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">MAU 月活跃用户(百万)</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><shape width="290" height="400" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="347" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>② 平滑折线图 · Smooth</p></content></shape><chart width="270" height="350" topLeftX="345" topLeftY="132"><chartPlotArea><chartPlot type="line"><chartExtra><chartSmooth/></chartExtra></chartPlot><chartAxes><chartAxis type="x"><chartLabel fontSize="9"/></chartAxis><chartAxis type="y" position="left"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="月份">1月,2月,3月,4月,5月,6月</chartField></dim1><dim2><chartField name="iOS">42,58,55,72,88,96</chartField><chartField name="Android">78,82,96,102,118,132</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">DAU 日活跃用户(百万)</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><shape width="290" height="400" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="650" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>③ 阶梯折线图 · Step</p></content></shape><chart width="270" height="350" topLeftX="648" topLeftY="132"><chartPlotArea><chartPlot type="line"><chartExtra><chartStep/></chartExtra></chartPlot><chartAxes><chartAxis type="x"><chartLabel fontSize="9"/></chartAxis><chartAxis type="y" position="left"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="月份">1月,2月,3月,4月,5月,6月</chartField></dim1><dim2><chartField name="Pro 版">999,999,899,899,799,799</chartField><chartField name="标准版">699,699,649,599,599,549</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">定价调整轨迹(美元)</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><line startX="32" startY="506" endX="928.0005580355405" endY="506"><border color="rgba(226, 232, 240, 1)" width="1"/></line><shape width="500" height="18" topLeftX="32" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)"><p>Source: Consulting Insights Research · 数据仅用于示意</p></content></shape><shape width="128" height="18" topLeftX="800" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)" textAlign="right"><p>04 / 12</p></content></shape></data><note><content/></note></slide><slide><style><fill><fillColor color="rgba(248, 249, 251, 1)"/></fill></style><data><shape width="960" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(15, 30, 58, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="8" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="700" height="30" topLeftX="32" topLeftY="14" type="text"><content textType="headline" fontSize="22" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>饼图 · Pie Chart</p></content></shape><shape width="700" height="20" topLeftX="32" topLeftY="46" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>市场份额结构 · PIE / DONUT</p></content></shape><shape width="160" height="22" topLeftX="770" topLeftY="26" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)" textAlign="right"><p>SECTION 03 / PIE</p></content></shape><shape width="440" height="400" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="440" height="32" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="420" height="22" topLeftX="44" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>① 饼图 · Pie</p></content></shape><chart width="420" height="350" topLeftX="42" topLeftY="132"><chartPlotArea><chartPlot type="pie" yAxisPosition="right"><chartExtra/><chartLabels position="outside" value="false" percentage="true" fontSize="10"/></chartPlot></chartPlotArea><chartLegend position="right" fontSize="10"/><chartData><dim1><chartField name="品牌">Apple,Samsung,Xiaomi,Huawei,Others</chartField></dim1><dim2><chartField name="份额">28,24,15,12,21</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">全球智能手机品牌份额 2026H1</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/><color value="rgb(56, 142, 60)"/><color value="rgb(148, 163, 184)"/><color value="rgb(120, 144, 180)"/></chartColorTheme></chartStyle></chart><shape width="440" height="400" topLeftX="488" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="440" height="32" topLeftX="488" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="420" height="22" topLeftX="500" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>② 环形图 · Donut</p></content></shape><chart width="420" height="350" topLeftX="498" topLeftY="132"><chartPlotArea><chartPlot type="pie" yAxisPosition="right"><chartExtra/><chartLabels position="outside" category="true" value="false" percentage="true" fontSize="10"/><chartSeriesList><chartSeries index="1"><chartSectors innerRadius="0.55" offsetRadius="0" startAngle="0"/></chartSeries></chartSeriesList></chartPlot></chartPlotArea><chartData><dim1><chartField name="业务">硬件,服务,可穿戴,其他</chartField></dim1><dim2><chartField name="占比">52,26,15,7</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">收入结构(按业务线)</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/><color value="rgb(56, 142, 60)"/><color value="rgb(148, 163, 184)"/></chartColorTheme></chartStyle></chart><line startX="32" startY="506" endX="928.0005580355405" endY="506"><border color="rgba(226, 232, 240, 1)" width="1"/></line><shape width="500" height="18" topLeftX="32" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)"><p>Source: Consulting Insights Research · 数据仅用于示意</p></content></shape><shape width="128" height="18" topLeftX="800" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)" textAlign="right"><p>05 / 12</p></content></shape></data><note><content/></note></slide><slide><style><fill><fillColor color="rgba(248, 249, 251, 1)"/></fill></style><data><shape width="960" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(15, 30, 58, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="8" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="700" height="30" topLeftX="32" topLeftY="14" type="text"><content textType="headline" fontSize="22" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>条形图 · Bar Chart</p></content></shape><shape width="700" height="20" topLeftX="32" topLeftY="46" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>横向排名对比 · GROUPED / STACKED / 100% STACKED</p></content></shape><shape width="160" height="22" topLeftX="770" topLeftY="26" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)" textAlign="right"><p>SECTION 04 / BAR</p></content></shape><shape width="290" height="400" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="44" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>① 分组条形图 · Grouped</p></content></shape><chart width="270" height="350" topLeftX="42" topLeftY="132"><chartPlotArea><chartPlot type="bar"><chartExtra/></chartPlot><chartAxes><chartAxis type="y" position="left"><chartLabel fontSize="9"/></chartAxis><chartAxis type="x"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="品类">手机,平板,手表,耳机</chartField></dim1><dim2><chartField name="2025">180,68,42,96</chartField><chartField name="2026">210,82,58,132</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">品类销售对比(万台)</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><shape width="290" height="400" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="347" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>② 堆叠条形图 · Stacked</p></content></shape><chart width="270" height="350" topLeftX="345" topLeftY="132"><chartPlotArea><chartPlot type="bar"><chartExtra><chartStack/></chartExtra></chartPlot><chartAxes><chartAxis type="y" position="left"><chartLabel fontSize="9"/></chartAxis><chartAxis type="x"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="品类">手机,平板,手表,耳机</chartField></dim1><dim2><chartField name="线上">125,45,32,78</chartField><chartField name="线下">85,37,26,54</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">渠道构成(万台)</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><shape width="290" height="400" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="650" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>③ 百分比堆叠 · 100% Stacked</p></content></shape><chart width="270" height="350" topLeftX="648" topLeftY="132"><chartPlotArea><chartPlot type="bar"><chartExtra><chartStack percentage="true"/></chartExtra><chartSeriesList><chartSeries index="1"><chartTooltip format="0%"/></chartSeries><chartSeries index="2"><chartTooltip format="0%"/></chartSeries></chartSeriesList></chartPlot><chartAxes><chartAxis type="y" position="left"><chartLabel fontSize="9"/></chartAxis><chartAxis type="x"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9" format="0%"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="品类">手机,平板,手表,耳机</chartField></dim1><dim2><chartField name="线上">1.25,0.45,0.32,0.78</chartField><chartField name="线下">0.85,0.37,0.26,0.54</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">渠道占比结构</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle><chartTooltip format="0%"/></chart><line startX="32" startY="506" endX="928.0005580355405" endY="506"><border color="rgba(226, 232, 240, 1)" width="1"/></line><shape width="500" height="18" topLeftX="32" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)"><p>Source: Consulting Insights Research · 数据仅用于示意</p></content></shape><shape width="128" height="18" topLeftX="800" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)" textAlign="right"><p>06 / 12</p></content></shape></data><note><content/></note></slide><slide><style><fill><fillColor color="rgba(248, 249, 251, 1)"/></fill></style><data><shape width="960" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(15, 30, 58, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="8" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="700" height="30" topLeftX="32" topLeftY="14" type="text"><content textType="headline" fontSize="22" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>面积图 · Area Chart</p></content></shape><shape width="700" height="20" topLeftX="32" topLeftY="46" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>体量与结构演进 · OVERLAY / STACKED / 100% STACKED</p></content></shape><shape width="160" height="22" topLeftX="770" topLeftY="26" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)" textAlign="right"><p>SECTION 05 / AREA</p></content></shape><shape width="290" height="400" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="44" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>① 重叠面积图 · Overlay</p></content></shape><chart width="270" height="350" topLeftX="42" topLeftY="132"><chartPlotArea><chartPlot type="area"><chartExtra/></chartPlot><chartAxes><chartAxis type="x"><chartLabel fontSize="9"/></chartAxis><chartAxis type="y" position="left"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="年份">2021,2022,2023,2024,2025,2026</chartField></dim1><dim2><chartField name="北美">180,210,245,268,295,322</chartField><chartField name="亚太">120,155,180,220,258,296</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">全年营收走势(亿美元)</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><shape width="290" height="400" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="347" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>② 堆叠面积图 · Stacked</p></content></shape><chart width="270" height="350" topLeftX="345" topLeftY="132"><chartPlotArea><chartPlot type="area"><chartExtra><chartStack/></chartExtra></chartPlot><chartAxes><chartAxis type="x"><chartLabel fontSize="9"/></chartAxis><chartAxis type="y" position="left"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="年份">2021,2022,2023,2024,2025,2026</chartField></dim1><dim2><chartField name="北美">180,210,245,268,295,322</chartField><chartField name="亚太">120,155,180,220,258,296</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">总营收堆叠视图</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><shape width="290" height="400" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="650" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>③ 百分比堆叠 · 100% Stacked</p></content></shape><chart width="270" height="350" topLeftX="648" topLeftY="132"><chartPlotArea><chartPlot type="area"><chartExtra><chartStack percentage="true"/></chartExtra></chartPlot><chartAxes><chartAxis type="x"><chartLabel fontSize="9"/></chartAxis><chartAxis type="y" position="left"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="9" format="0%"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="年份">2021,2022,2023,2024,2025,2026</chartField></dim1><dim2><chartField name="北美">180,210,245,268,295,322</chartField><chartField name="亚太">120,155,180,220,258,296</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">区域营收占比演进</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle><chartTooltip format="0%"/></chart><line startX="32" startY="506" endX="928.0005580355405" endY="506"><border color="rgba(226, 232, 240, 1)" width="1"/></line><shape width="500" height="18" topLeftX="32" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)"><p>Source: Consulting Insights Research · 数据仅用于示意</p></content></shape><shape width="128" height="18" topLeftX="800" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)" textAlign="right"><p>07 / 12</p></content></shape></data><note><content/></note></slide><slide><style><fill><fillColor color="rgba(248, 249, 251, 1)"/></fill></style><data><shape width="960" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(15, 30, 58, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="8" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="700" height="30" topLeftX="32" topLeftY="14" type="text"><content textType="headline" fontSize="22" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>散点图 · Scatter & Bubble</p></content></shape><shape width="700" height="20" topLeftX="32" topLeftY="46" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>价格-口碑二维分布 & 三维气泡 · SCATTER / BUBBLE</p></content></shape><shape width="160" height="22" topLeftX="770" topLeftY="26" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)" textAlign="right"><p>SECTION 06 / SCATTER</p></content></shape><shape width="440" height="400" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="440" height="32" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="420" height="22" topLeftX="44" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>① 散点图 · Scatter</p></content></shape><whiteboard width="420" height="350" topLeftX="42" topLeftY="132"/><shape width="440" height="400" topLeftX="488" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="440" height="32" topLeftX="488" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="420" height="22" topLeftX="500" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>② 气泡图 · Bubble</p></content></shape><whiteboard width="420" height="350" topLeftX="498" topLeftY="132"/><line startX="32" startY="506" endX="928.0005580355405" endY="506"><border color="rgba(226, 232, 240, 1)" width="1"/></line><shape width="500" height="18" topLeftX="32" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)"><p>Source: Consulting Insights Research · 数据仅用于示意</p></content></shape><shape width="128" height="18" topLeftX="800" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)" textAlign="right"><p>08 / 12</p></content></shape></data><note><content/></note></slide><slide><style><fill><fillColor color="rgba(248, 249, 251, 1)"/></fill></style><data><shape width="960" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(15, 30, 58, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="8" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="700" height="30" topLeftX="32" topLeftY="14" type="text"><content textType="headline" fontSize="22" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>组合图 · Combo Chart</p></content></shape><shape width="700" height="20" topLeftX="32" topLeftY="46" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>营收规模 & 增长率双轴视图 · COLUMN + LINE</p></content></shape><shape width="160" height="22" topLeftX="770" topLeftY="26" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)" textAlign="right"><p>SECTION 07 / COMBO</p></content></shape><shape width="576" height="400" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="576" height="32" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="560" height="22" topLeftX="44" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>八季度营收与同比增速</p></content></shape><chart width="556" height="350" topLeftX="42" topLeftY="132"><chartPlotArea><chartPlot type="combo"><chartExtra/><chartSeriesList><chartSeries index="1" comboType="column"/><chartSeries index="2" comboType="line" yAxisPosition="right"><chartTooltip format="0%"/></chartSeries></chartSeriesList></chartPlot><chartAxes><chartAxis type="x"><chartLabel fontSize="10"/></chartAxis><chartAxis type="y" position="left"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="10"/></chartAxis><chartAxis type="y" position="right"><chartLabel fontSize="10" format="0%"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="11"/><chartData><dim1><chartField name="季度">24Q1,24Q2,24Q3,24Q4,25Q1,25Q2,25Q3,25Q4</chartField></dim1><dim2><chartField name="营收">180,195,210,245,220,238,258,296</chartField><chartField name="增速">0.08,0.12,0.15,0.18,0.22,0.22,0.23,0.21</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">营收(亿美元, 左轴) · 同比增速(%, 右轴)</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><shape width="304" height="400" topLeftX="624" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(15, 30, 58, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="304" height="4" topLeftX="624" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="264" height="26" topLeftX="644" topLeftY="118" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(240, 129, 54, 1)" bold="true"><p>KEY TAKEAWAY</p></content></shape><shape width="264" height="90" topLeftX="644" topLeftY="146" type="text"><content textType="headline" fontSize="18" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>营收连续 6 季度双位数增长</p></content></shape><shape width="264" height="80" topLeftX="644" topLeftY="248" type="text"><content fontSize="13" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)"><p>24Q4 - 25Q4 期间同比增速稳定在 18-23%,营收规模从 245 亿扩张至 296 亿美元。</p></content></shape><line startX="644" startY="352" endX="720.0065786626394" endY="352"><border color="rgba(240, 129, 54, 1)"/></line><shape width="264" height="26" topLeftX="644" topLeftY="360" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(240, 129, 54, 1)" bold="true"><p>WHAT TO WATCH</p></content></shape><shape width="264" height="90" topLeftX="644" topLeftY="386" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)"><p>· 25Q4 增速首次微降 2pp</p><p>· 高基数效应即将显现</p><p>· 需关注亚太区库存周期</p></content></shape><line startX="32" startY="506" endX="928.0005580355405" endY="506"><border color="rgba(226, 232, 240, 1)" width="1"/></line><shape width="500" height="18" topLeftX="32" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)"><p>Source: Consulting Insights Research · 数据仅用于示意</p></content></shape><shape width="128" height="18" topLeftX="800" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)" textAlign="right"><p>09 / 12</p></content></shape></data><note><content/></note></slide><slide><style><fill><fillColor color="rgba(248, 249, 251, 1)"/></fill></style><data><shape width="960" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(15, 30, 58, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="8" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="700" height="30" topLeftX="32" topLeftY="14" type="text"><content textType="headline" fontSize="22" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>雷达图 · Radar Chart</p></content></shape><shape width="700" height="20" topLeftX="32" topLeftY="46" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>产品能力多维对比 · POLYGON / CIRCLE / OUTLINE</p></content></shape><shape width="160" height="22" topLeftX="770" topLeftY="26" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)" textAlign="right"><p>SECTION 08 / RADAR</p></content></shape><shape width="290" height="400" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="44" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>① 多边形雷达 · Polygon</p></content></shape><chart width="270" height="350" topLeftX="42" topLeftY="132"><chartPlotArea><chartPlot type="radar"><chartExtra><chartRadar/></chartExtra><chartAreas/></chartPlot><chartAxes><chartAxis type="angle"><chartLabel fontSize="9"/></chartAxis><chartAxis type="radius" max="10"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="8"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="维度">性能,续航,拍照,屏幕,系统,生态</chartField></dim1><dim2><chartField name="品牌 A">9,7,8,9,8,9</chartField><chartField name="品牌 B">7,9,9,7,8,6</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">旗舰机型能力评估</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><shape width="290" height="400" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="347" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>② 圆形雷达 · Circle</p></content></shape><chart width="270" height="350" topLeftX="345" topLeftY="132"><chartPlotArea><chartPlot type="radar"><chartExtra><chartSmooth/><chartRadar shape="circle"/></chartExtra><chartAreas/></chartPlot><chartAxes><chartAxis type="angle"><chartLabel fontSize="9"/></chartAxis><chartAxis type="radius" max="10"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="8"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="维度">性能,续航,拍照,屏幕,系统,生态</chartField></dim1><dim2><chartField name="品牌 A">7,8,6,8,7,7</chartField><chartField name="品牌 B">8,6,7,7,8,8</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">中端机型能力评估</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><shape width="290" height="400" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="650" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>③ 无填充雷达 · Outline</p></content></shape><chart width="270" height="350" topLeftX="648" topLeftY="132"><chartPlotArea><chartPlot type="radar"><chartExtra><chartRadar area="false"/></chartExtra></chartPlot><chartAxes><chartAxis type="angle"><chartLabel fontSize="9"/></chartAxis><chartAxis type="radius" max="10"><chartGridLine color="rgb(226, 232, 240)"/><chartLabel fontSize="8"/></chartAxis></chartAxes></chartPlotArea><chartLegend position="bottom" fontSize="10"/><chartData><dim1><chartField name="维度">性能,续航,拍照,屏幕,系统,生态</chartField></dim1><dim2><chartField name="品牌 A">6,7,5,6,6,5</chartField><chartField name="品牌 B">5,6,6,5,7,6</chartField></dim2></chartData><chartTitle fontSize="12" color="rgba(15, 30, 58, 1)" bold="true">入门机型能力评估</chartTitle><chartStyle><chartBackground color="rgba(0, 0, 0, 0)"/><chartBorder color="rgb(222, 224, 227)" width="0"/><chartColorTheme><color value="rgb(28, 71, 120)"/><color value="rgb(240, 129, 54)"/></chartColorTheme></chartStyle></chart><line startX="32" startY="506" endX="928.0005580355405" endY="506"><border color="rgba(226, 232, 240, 1)" width="1"/></line><shape width="500" height="18" topLeftX="32" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)"><p>Source: Consulting Insights Research · 数据仅用于示意</p></content></shape><shape width="128" height="18" topLeftX="800" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)" textAlign="right"><p>10 / 12</p></content></shape></data><note><content/></note></slide><slide><style><fill><fillColor color="rgba(248, 249, 251, 1)"/></fill></style><data><shape width="960" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(15, 30, 58, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="8" height="72" topLeftX="0" topLeftY="0" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 129, 54, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="700" height="30" topLeftX="32" topLeftY="14" type="text"><content textType="headline" fontSize="22" fontFamily="思源黑体" color="rgba(255, 255, 255, 1)" bold="true"><p>其他 · Word Cloud · Funnel · Pareto</p></content></shape><shape width="700" height="20" topLeftX="32" topLeftY="46" type="text"><content textType="caption" fontSize="12" fontFamily="思源黑体" color="rgba(180, 192, 210, 1)"><p>词云 / 漏斗 / 帕累托 · 补充可视化视角</p></content></shape><shape width="160" height="22" topLeftX="770" topLeftY="26" type="text"><content textType="caption" fontSize="11" fontFamily="思源黑体" color="rgba(220, 228, 240, 1)" textAlign="right"><p>SECTION 09 / OTHERS</p></content></shape><shape width="290" height="400" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="32" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="44" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>① 词云图 · Word Cloud</p></content></shape><whiteboard width="270" height="350" topLeftX="42" topLeftY="132"/><shape width="290" height="400" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="335" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="347" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>② 漏斗图 · Funnel</p></content></shape><whiteboard width="270" height="350" topLeftX="345" topLeftY="132"/><shape width="290" height="400" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(255, 255, 255, 1)"/></fill><border color="rgba(226, 232, 240, 1)" width="1"/><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="290" height="32" topLeftX="638" topLeftY="92" presetHandlers="0" type="rect"><fill><fillColor color="rgba(240, 244, 249, 1)"/></fill><content fontSize="16" fontFamily="思源黑体" color="rgba(31, 35, 41, 1)"/></shape><shape width="270" height="22" topLeftX="650" topLeftY="98" type="text"><content fontSize="12" fontFamily="思源黑体" color="rgba(15, 30, 58, 1)" bold="true"><p>③ 帕累托图 · Pareto</p></content></shape><whiteboard width="270" height="350" topLeftX="648" topLeftY="132"/><line startX="32" startY="506" endX="928.0005580355405" endY="506"><border color="rgba(226, 232, 240, 1)" width="1"/></line><shape width="500" height="18" topLeftX="32" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)"><p>Source: Consulting Insights Research · 数据仅用于示意</p></content></shape><shape width="128" height="18" topLeftX="800" topLeftY="512" type="text"><content textType="caption" fontSize="10" fontFamily="思源黑体" color="rgba(148, 163, 184, 1)" textAlign="right"><p>11 / 12</p></content></shape></data><note><content/></note></slide></presentation> | |||
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Fix the slide-count footer.
The presentation contains 11 <slide> elements, but the footers use / 12 and stop at 11 / 12, producing inconsistent page numbering.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docker/skills/lark-slides/references/slides_chart_demo.xml` at line 1, Update
the footer page numbers across all slide elements so the total reflects the
actual 11-slide presentation: change every `/ 12` denominator to `/ 11` and
ensure the sequence runs consistently from `01 / 11` through `11 / 11`,
including the footer in the slide containing the `02 / 12` text.
🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
Populate the non-native whiteboards; self-closing elements are invalid and render blank.
The scatter, bubble, word-cloud, funnel, and Pareto regions contain <whiteboard .../> with neither <svg> nor <mermaid>. The schema requires one child, so this reference presentation is incomplete and cannot demonstrate those visuals.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docker/skills/lark-slides/references/slides_chart_demo.xml` at line 1,
Populate every self-closing whiteboard in the scatter, bubble, word-cloud,
funnel, and Pareto sections with a valid child visualization. Replace each
<whiteboard> in the relevant chart slides with an appropriate <svg> or <mermaid>
payload containing complete illustrative data and shapes, ensuring each
whiteboard has exactly one supported child so it renders correctly.
| - `<chartTooltip>` | ||
|
|
||
| 如果要写图表 XML,建议直接以 XSD 为准,不要自行发明更简化的 chart DSL。 | ||
| 完整图表类型覆盖示例见 `slides_chart_demo.xml`(skill 内置示例),其中包含柱状、条形、折线、面积、饼 / 环、雷达等原生 `<chart>` 示例,以及散点、气泡、漏斗、帕累托、瀑布等 `<whiteboard>` SVG 图表示例。 |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Keep the demo coverage claim accurate.
slides_chart_demo.xml does not contain a waterfall example. Remove “瀑布” from this sentence or add the missing example so the documentation matches the referenced file.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docker/skills/lark-slides/references/xml-format-guide.md` at line 266, Update
the chart coverage sentence near the `slides_chart_demo.xml` reference to match
the actual demo contents: remove “瀑布” from the listed whiteboard SVG examples,
unless a corresponding waterfall example is added to that file.
| - `format="json"`:结构化契约,顶层包含 `meeting`、`identity`、`events`、`has_more`、`page_token`。`identity` 表示当前读取身份;事件 actor 统一含 `participant_type`、`role`、`label`;每条事件保留 `payload` 便于追溯细节。 | ||
| - `format="pretty"`:默认推荐格式,输出当前身份和逐条时间线,适合快速理解"发生了什么"。 | ||
| - `format="ndjson"`:输出事件行,并带 metadata 行,适合流式消费。 | ||
|
|
||
| **选型原则**:只要目标是告诉用户"发生了什么",默认就用 `page_all=true, format="pretty"`;只有在需要完整原始消息流和结构化字段时,才改用 `json`。 | ||
| **选型原则**:只在 `pretty`、`json`、`ndjson` 之间选择。目标是告诉用户"发生了什么"时,用 `page_all=true, format="pretty"`;需要稳定字段给 agent 做结构化消费、总结、转发或二次处理时用 `format="json"`;需要流式消费时用 `format="ndjson"`。 |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
Include warnings in the JSON contract.
This format description omits warnings, while SKILL.md Lines 70-71 and this file’s response table include it as a top-level field. Consumers following this contract may silently discard permission or partial-result warnings.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docker/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md`
around lines 105 - 109, Update the `format="json"` contract description to
include the top-level `warnings` field alongside `meeting`, `identity`,
`events`, `has_more`, and `page_token`, ensuring consumers preserve permission
and partial-result warnings.
| - MCP server 始终以用户身份发送;上游默认用应用身份发送在 MCP server 上不可用。 | ||
| - 如果用户要求发给某个群或其他人但收件人不可唯一确定,只询问缺失的收件人信息。 | ||
|
|
||
| ``` |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Add a language tag to the fenced example.
The code fence triggers Markdownlint MD040; mark it as text or bash.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 187-187: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docker/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md` at
line 187, Add a language identifier to the fenced code block in the
meeting-events documentation, using text or bash as appropriate, so it complies
with Markdownlint MD040.
Source: Linters/SAST tools
这个 PR 做什么
把 lark-cli 版本锁定从 1.0.66 升到 1.0.68,按项目 bump runbook(
docs/skills/bump-lark-cli.md)完整走了一遍:重抽 scope 映射、重建 allowlist、按上游 diff 增量重适配变更的 skill。上游有什么变化
1.0.68 相对 1.0.66 的实质新增是两个邮件命令:
+message-modify(lark_mail_message_modify)——改标签 / 读未读状态 / 移动文件夹,支持批量+message-trash(lark_mail_message_trash)——软删除到垃圾箱,高危写操作,需_confirm=true两者都是 user scope(
mail:user_mailbox.message:modify、mail:user_mailbox.folder:read),无 bot-only scope 引入。其余是 7 个 domain 的文档 / workflow 描述更新。改动分布
docker/Dockerfile:pin1.0.66 → 1.0.68docker/shortcut-scopes.json:新增上述两个 mail 快捷 + 版本号docker/rawapi-scopes.json:版本号同步(内容无变化)docker/skills/:重适配 7 个上游有变更的 domain——apps、doc、drive、mail、slides、vc-agent、wiki。新增 3 个文件:mail 的message-modify/message-trash两个 reference、slides 的slides_chart_demo.xmlscope-allowlist.ts(新 scope 已被现有 allowlist 覆盖)、config/oauth-scopes.json(tier1 全覆盖)、CDK snapshot(asset hash 不含版本 pin)Summary by CodeRabbit
New Features
Bug Fixes
Documentation