@fectivnfy112358/minimax-code-web 0.1.0-preview.0 → 0.1.0-preview.3
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.
- package/bin/mcode-webui.mjs +6 -2
- package/package.json +1 -1
- package/server/assets/agents/_default/prompt-base-all.md +121 -0
- package/server/assets/agents/_default/prompt-base-all.md.hbs +255 -0
- package/server/assets/agents/_default/prompt-base-windows.md +6 -0
- package/server/assets/agents/_default/prompt-base-windows.md.hbs +6 -0
- package/server/assets/agents/_default/prompt-base-worker.md +12 -0
- package/server/assets/agents/_default/prompt-base-worker.md.hbs +27 -0
- package/server/assets/agents/_default/prompt-session-branch.md +3 -0
- package/server/assets/agents/_default/prompt-session-branch.md.hbs +30 -0
- package/server/assets/agents/_default/prompt-session-root.md +4 -0
- package/server/assets/agents/_default/prompt-session-root.md.hbs +32 -0
- package/server/assets/agents/_migration/README.md +20 -0
- package/server/assets/agents/_migration/coder/PERSONA-zh.md +10 -0
- package/server/assets/agents/_migration/coder/PERSONA.md +11 -0
- package/server/assets/agents/_migration/coder/system-prompt.md.hbs +42 -0
- package/server/assets/agents/_migration/general/PERSONA-zh.md +11 -0
- package/server/assets/agents/_migration/general/PERSONA.md +11 -0
- package/server/assets/agents/_migration/general/system-prompt.md.hbs +49 -0
- package/server/assets/agents/_v2/AGENT_CONTEXT.md.hbs +222 -0
- package/server/assets/agents/_v2/coding/SYSTEM.md.hbs +161 -0
- package/server/assets/agents/_v2/explore.md.hbs +38 -0
- package/server/assets/agents/_v2/tui/SYSTEM.md.hbs +147 -0
- package/server/assets/agents/_v2/verifier.md.hbs +32 -0
- package/server/assets/agents/_v2/work/SYSTEM.md.hbs +173 -0
- package/server/assets/agents/_v2/worker.md.hbs +27 -0
- package/server/assets/agents/builtin-agents.json +1 -0
- package/server/assets/agents/desktop-task/archive-title/system-en.md +1 -0
- package/server/assets/agents/desktop-task/archive-title/system-zh.md +1 -0
- package/server/assets/agents/desktop-task/checkpoint/system.md +15 -0
- package/server/assets/agents/desktop-task/output-revision/system.md +1 -0
- package/server/assets/agents/desktop-task/retry/continuation.md +4 -0
- package/server/assets/agents/desktop-task/session-title/system.md +41 -0
- package/server/assets/agents/explore/PERSONA-zh.md +8 -0
- package/server/assets/agents/explore/PERSONA.md +8 -0
- package/server/assets/agents/explore/agent.md +14 -0
- package/server/assets/agents/explore/system-prompt.md.hbs +35 -0
- package/server/assets/agents/greeting-zh.md +61 -0
- package/server/assets/agents/greeting.md +61 -0
- package/server/assets/agents/managed-prompts.json +54 -0
- package/server/assets/agents/mavis/PERSONA-zh.md +7 -0
- package/server/assets/agents/mavis/PERSONA.md +7 -0
- package/server/assets/agents/mavis/features/cron.md.hbs +23 -0
- package/server/assets/agents/mavis/features/delegation.md.hbs +56 -0
- package/server/assets/agents/mavis/features/memory.md.hbs +61 -0
- package/server/assets/agents/mavis/features/recoverable-deletion.md.hbs +10 -0
- package/server/assets/agents/mavis/features/task-management.md.hbs +11 -0
- package/server/assets/agents/mavis/features/web-search.md.hbs +11 -0
- package/server/assets/agents/mavis/modes/coding/online/PERSONA-zh.md.hbs +20 -0
- package/server/assets/agents/mavis/modes/coding/online/PERSONA.md.hbs +20 -0
- package/server/assets/agents/mavis/modes/coding/online/SYSTEM.md.hbs +159 -0
- package/server/assets/agents/mavis/modes/work/online/PERSONA-zh.md.hbs +20 -0
- package/server/assets/agents/mavis/modes/work/online/PERSONA.md.hbs +20 -0
- package/server/assets/agents/mavis/modes/work/online/SYSTEM.md.hbs +161 -0
- package/server/assets/agents/mavis/prompt-session-root.md +4 -0
- package/server/assets/agents/mavis/prompt-session-root.md.hbs +4 -0
- package/server/assets/agents/mavis/skills/control-in-app-browser/SKILL.md +491 -0
- package/server/assets/agents/mavis/skills/minimax-code-product/SKILL.md +114 -0
- package/server/assets/agents/mavis/skills/minimax-code-product/references/account-models.md +32 -0
- package/server/assets/agents/mavis/skills/minimax-code-product/references/agents.md +25 -0
- package/server/assets/agents/mavis/skills/minimax-code-product/references/extensions.md +33 -0
- package/server/assets/agents/mavis/skills/minimax-code-product/references/workflows.md +30 -0
- package/server/assets/agents/mavis/system-prompt.md.hbs +97 -0
- package/server/assets/agents/prompt-exemptions.json +38 -0
- package/server/assets/agents/verifier/PERSONA-zh.md +8 -0
- package/server/assets/agents/verifier/PERSONA.md +8 -0
- package/server/assets/agents/verifier/agent.md +17 -0
- package/server/assets/agents/verifier/system-prompt.md.hbs +28 -0
- package/server/assets/agents/worker/PERSONA-zh.md +8 -0
- package/server/assets/agents/worker/PERSONA.md +8 -0
- package/server/assets/agents/worker/agent.md +18 -0
- package/server/assets/agents/worker/system-prompt.md.hbs +22 -0
- package/server/assets/agents/workflow/code-review/review-candidates.md +120 -0
- package/server/assets/agents/workflow/code-review/reviewer-system.md +75 -0
- package/server/assets/agents/workflow/goal/budget-limit.md +16 -0
- package/server/assets/agents/workflow/goal/continuation.md +62 -0
- package/server/assets/agents/workflow/goal/objective-updated.md +16 -0
- package/server/assets/agents/workflow/goal/recovery-terminal-audit.md +12 -0
- package/server/assets/agents/workflow/goal/recovery.md +11 -0
- package/server/assets/agents/workflow/goal/terminal-audit.md +9 -0
- package/server/assets/agents/workflow/plan-mode/agent-entry.md +72 -0
- package/server/assets/agents/workflow/prompt-hook/system.md +0 -0
- package/server/assets/models-dev-catalog.json.gz +0 -0
- package/server/assets/prompts/code-review/review-candidates.md +120 -0
- package/server/assets/prompts/code-review/reviewer-system.md +75 -0
- package/server/assets/skills/code-review/SKILL.md +51 -0
- package/server/assets/skills/cu-desktop/SKILL.md +257 -0
- package/server/assets/skills/deep-research/SKILL.md +219 -0
- package/server/assets/skills/deep-research/scripts/render_plan.py +33 -0
- package/server/assets/skills/deep-research/steps/1_background.md +65 -0
- package/server/assets/skills/deep-research/steps/2_judgment.md +66 -0
- package/server/assets/skills/deep-research/steps/3_analysis.md +114 -0
- package/server/assets/skills/deep-research/steps/4_research.md +161 -0
- package/server/assets/skills/deep-research/steps/5_writing.md +358 -0
- package/server/assets/skills/deploy-website/SKILL.md +55 -0
- package/server/assets/skills/docx/LICENSE +21 -0
- package/server/assets/skills/docx/SKILL.md +261 -0
- package/server/assets/skills/docx/assets/styles/academic_styles.xml +250 -0
- package/server/assets/skills/docx/assets/styles/corporate_styles.xml +284 -0
- package/server/assets/skills/docx/assets/styles/default_styles.xml +449 -0
- package/server/assets/skills/docx/assets/xsd/aesthetic-rules.xsd +470 -0
- package/server/assets/skills/docx/assets/xsd/business-rules.xsd +130 -0
- package/server/assets/skills/docx/assets/xsd/common-types.xsd +159 -0
- package/server/assets/skills/docx/assets/xsd/wml-subset.xsd +589 -0
- package/server/assets/skills/docx/docs/acceptance-checklists/create.md +7 -0
- package/server/assets/skills/docx/docs/acceptance-checklists/edit.md +6 -0
- package/server/assets/skills/docx/docs/acceptance-checklists/layout-repair.md +7 -0
- package/server/assets/skills/docx/docs/acceptance-checklists/template.md +6 -0
- package/server/assets/skills/docx/docs/acceptance.md +139 -0
- package/server/assets/skills/docx/docs/anti-patterns.md +14 -0
- package/server/assets/skills/docx/docs/backends.md +116 -0
- package/server/assets/skills/docx/docs/evidence.md +73 -0
- package/server/assets/skills/docx/docs/failure-taxonomy.md +71 -0
- package/server/assets/skills/docx/docs/index.md +50 -0
- package/server/assets/skills/docx/docs/rendered-delivery.md +125 -0
- package/server/assets/skills/docx/docs/router.md +122 -0
- package/server/assets/skills/docx/docs/tables-and-numbering.md +27 -0
- package/server/assets/skills/docx/docs/task-apply-template.md +141 -0
- package/server/assets/skills/docx/docs/task-compare-two-docx.md +48 -0
- package/server/assets/skills/docx/docs/task-create.md +124 -0
- package/server/assets/skills/docx/docs/task-edit-fill.md +69 -0
- package/server/assets/skills/docx/docs/task-read-content.md +148 -0
- package/server/assets/skills/docx/docs/task-read-rendered.md +78 -0
- package/server/assets/skills/docx/docs/task-read-structure.md +93 -0
- package/server/assets/skills/docx/docs/task-repair-layout.md +70 -0
- package/server/assets/skills/docx/docs/template-dsl.md +32 -0
- package/server/assets/skills/docx/docs/track-changes.md +15 -0
- package/server/assets/skills/docx/docs/xml-patch-dsl.md +33 -0
- package/server/assets/skills/docx/references/cjk_typography.md +357 -0
- package/server/assets/skills/docx/references/cjk_university_template_guide.md +184 -0
- package/server/assets/skills/docx/references/comments_guide.md +191 -0
- package/server/assets/skills/docx/references/design_good_bad_examples.md +829 -0
- package/server/assets/skills/docx/references/design_principles.md +819 -0
- package/server/assets/skills/docx/references/openxml_element_order.md +308 -0
- package/server/assets/skills/docx/references/openxml_encyclopedia_part1.md +4061 -0
- package/server/assets/skills/docx/references/openxml_encyclopedia_part2.md +2820 -0
- package/server/assets/skills/docx/references/openxml_encyclopedia_part3.md +3381 -0
- package/server/assets/skills/docx/references/openxml_namespaces.md +82 -0
- package/server/assets/skills/docx/references/openxml_units.md +72 -0
- package/server/assets/skills/docx/references/sample-patch-plans.json +22 -0
- package/server/assets/skills/docx/references/sample-task-intents.json +5 -0
- package/server/assets/skills/docx/references/sample-template-manifests.json +21 -0
- package/server/assets/skills/docx/references/scenario_a_create.md +284 -0
- package/server/assets/skills/docx/references/scenario_b_edit_content.md +295 -0
- package/server/assets/skills/docx/references/scenario_c_apply_template.md +456 -0
- package/server/assets/skills/docx/references/track_changes_guide.md +200 -0
- package/server/assets/skills/docx/references/troubleshooting.md +506 -0
- package/server/assets/skills/docx/references/typography_guide.md +294 -0
- package/server/assets/skills/docx/references/xsd_validation_guide.md +158 -0
- package/server/assets/skills/docx/scripts/build_patch_plan.py +29 -0
- package/server/assets/skills/docx/scripts/diff_docx_structure.py +61 -0
- package/server/assets/skills/docx/scripts/doc_to_docx.ps1 +85 -0
- package/server/assets/skills/docx/scripts/doc_to_docx.sh +40 -0
- package/server/assets/skills/docx/scripts/docx_preview.ps1 +76 -0
- package/server/assets/skills/docx/scripts/docx_preview.sh +37 -0
- package/server/assets/skills/docx/scripts/docx_to_pdf.py +87 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
- package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
- package/server/assets/skills/docx/scripts/env_check.ps1 +327 -0
- package/server/assets/skills/docx/scripts/env_check.sh +340 -0
- package/server/assets/skills/docx/scripts/extract_docx_text.py +1075 -0
- package/server/assets/skills/docx/scripts/pack_docx.py +31 -0
- package/server/assets/skills/docx/scripts/read_docx_structure.py +1032 -0
- package/server/assets/skills/docx/scripts/render_docx_pages.py +147 -0
- package/server/assets/skills/docx/scripts/rendered_report.py +609 -0
- package/server/assets/skills/docx/scripts/setup.ps1 +542 -0
- package/server/assets/skills/docx/scripts/setup.sh +537 -0
- package/server/assets/skills/docx/scripts/unpack_docx.py +29 -0
- package/server/assets/skills/docx/scripts/validate_template_manifest.py +60 -0
- package/server/assets/skills/docx/scripts/verify_anchor_atomicity.py +87 -0
- package/server/assets/skills/edit-deployed-website/SKILL.md +27 -0
- package/server/assets/skills/init/SKILL.md +137 -0
- package/server/assets/skills/lark-tools/SKILL.md +321 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-approval/SKILL.md +48 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-attendance/SKILL.md +57 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/SKILL.md +372 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/dashboard-block-data-config.md +350 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/examples.md +130 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/formula-field-guide.md +735 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-advperm-disable.md +83 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-advperm-enable.md +80 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-base-copy.md +74 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-base-create.md +68 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-base-get.md +39 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-arrange.md +83 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-create.md +108 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-delete.md +46 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-get.md +57 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-list.md +53 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-update.md +84 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-create.md +73 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-delete.md +44 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-get.md +59 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-list.md +52 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-update.md +69 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard.md +240 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-data-query.md +375 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-create.md +104 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-delete.md +51 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-get.md +42 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-list.md +44 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-search-options.md +48 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-update.md +97 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field.md +22 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-create.md +87 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-delete.md +64 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-get.md +68 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-list.md +73 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-create.md +118 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-delete.md +68 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-list.md +84 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-update.md +92 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions.md +23 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-update.md +82 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form.md +24 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-history.md +16 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-batch-create.md +76 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-batch-update.md +71 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-delete.md +51 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-get.md +38 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-history-list.md +86 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-list.md +83 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-search.md +72 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-upload-attachment.md +51 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-upsert.md +89 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record.md +28 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-create.md +89 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-delete.md +83 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-get.md +87 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-list.md +81 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-update.md +94 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-shortcut-field-properties.md +679 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-shortcut-record-value.md +200 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-create.md +62 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-delete.md +51 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-get.md +46 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-list.md +43 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-update.md +49 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table.md +20 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-create.md +83 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-delete.md +48 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-card.md +38 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-filter.md +38 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-group.md +38 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-sort.md +38 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-timebar.md +38 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-visible-fields.md +38 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get.md +38 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-list.md +44 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-rename.md +44 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-card.md +81 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-filter.md +92 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-group.md +77 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-sort.md +77 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-timebar.md +79 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-visible-fields.md +73 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view.md +44 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-create.md +180 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-disable.md +94 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-enable.md +94 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-get.md +147 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-guide.md +718 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-list.md +123 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-schema.md +935 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-update.md +167 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow.md +23 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workspace.md +18 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lookup-field-guide.md +508 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-base/references/role-config.md +532 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-calendar/SKILL.md +143 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-agenda.md +78 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-create.md +109 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-freebusy.md +124 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-room-find.md +89 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-rsvp.md +42 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-schedule-meeting.md +194 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-suggestion.md +125 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-contact/SKILL.md +23 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-contact/references/lark-contact-get-user.md +47 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-contact/references/lark-contact-search-user.md +39 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-doc/SKILL.md +189 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-create.md +673 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-fetch.md +120 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-media-download.md +50 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-media-insert.md +51 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-media-preview.md +41 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-search.md +213 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-update.md +264 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-whiteboard-update.md +6 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/SKILL.md +294 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-add-comment.md +99 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-create-folder.md +73 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-create-shortcut.md +103 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-delete.md +79 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-download.md +31 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-export-download.md +50 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-export.md +100 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-import.md +132 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-move.md +120 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-reactions.md +113 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-task-result.md +264 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-upload.md +67 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-event/SKILL.md +21 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-event/references/lark-event-subscribe.md +217 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/SKILL.md +140 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-create.md +156 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-identity.md +55 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-messages-list.md +142 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-search.md +114 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-update.md +84 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-mget.md +95 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-reply.md +222 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-search.md +213 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-send.md +223 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-reactions.md +297 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-threads-messages-list.md +111 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/SKILL.md +550 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-draft-create.md +110 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-draft-edit.md +376 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-forward.md +208 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-message.md +201 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-messages.md +108 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-reply-all.md +184 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-reply.md +220 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-send.md +178 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-signature.md +98 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-thread.md +111 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-triage.md +122 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-watch.md +94 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-minutes/SKILL.md +116 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-minutes/references/lark-minutes-download.md +119 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-minutes/references/lark-minutes-search.md +180 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-openapi-explorer/SKILL.md +153 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-shared/SKILL.md +141 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/SKILL.md +262 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-add-dimension.md +51 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-append.md +56 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-batch-set-style.md +53 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-create-filter-view-condition.md +42 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-create-filter-view.md +42 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-create.md +69 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-dimension.md +53 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-dropdown.md +46 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-filter-view-condition.md +26 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-filter-view.md +25 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-export.md +51 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-find.md +62 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-formula.md +89 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-get-dropdown.md +43 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-get-filter-view-condition.md +27 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-get-filter-view.md +26 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-info.md +43 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-insert-dimension.md +51 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-list-filter-view-conditions.md +28 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-list-filter-views.md +26 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-merge-cells.md +47 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-move-dimension.md +52 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-read.md +61 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-replace.md +62 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-set-dropdown.md +62 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-set-style.md +71 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-unmerge-cells.md +46 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-dimension.md +60 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-dropdown.md +51 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-filter-view-condition.md +27 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-filter-view.md +24 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-write-image.md +65 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-write.md +60 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-skill-maker/SKILL.md +85 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/SKILL.md +368 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/examples.md +179 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-create.md +137 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-media-upload.md +143 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +215 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +119 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-xml-presentations-get.md +94 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/slide-templates.md +199 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/slides_demo.xml +226 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/slides_xml_schema_definition.xml +3004 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/xml-format-guide.md +369 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/xml-schema-quick-ref.md +215 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/SKILL.md +151 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-assign.md +35 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-comment.md +28 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-complete.md +27 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-create.md +51 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-followers.md +32 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-get-my-tasks.md +55 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-get-related-tasks.md +53 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-reminder.md +36 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-reopen.md +27 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-search.md +41 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-set-ancestor.md +32 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-subscribe-event.md +86 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-create.md +35 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-members.md +36 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-search.md +38 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-task-add.md +38 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-update.md +37 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-vc/SKILL.md +143 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-vc/references/lark-vc-notes.md +126 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-vc/references/lark-vc-recording.md +141 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-vc/references/lark-vc-search.md +159 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard/SKILL.md +118 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard/references/lark-whiteboard-query.md +49 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard/references/lark-whiteboard-update.md +97 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/SKILL.md +236 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/connectors.md +102 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/content.md +40 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/layout.md +374 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/schema.md +333 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/style.md +318 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/typography.md +73 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/architecture.md +433 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/bar-chart.md +181 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/comparison.md +135 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/fishbone.md +238 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/flowchart.md +185 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/flywheel.md +195 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/funnel.md +101 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/line-chart.md +208 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/mermaid.md +136 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/milestone.md +139 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/organization.md +175 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/pyramid.md +99 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/swimlane.md +370 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/treemap.md +210 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-wiki/SKILL.md +93 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-wiki/references/lark-wiki-move.md +183 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-wiki/references/lark-wiki-node-create.md +127 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-workflow-meeting-summary/SKILL.md +99 -0
- package/server/assets/skills/lark-tools/cli-skills/lark-workflow-standup-report/SKILL.md +120 -0
- package/server/assets/skills/lark-tools/references/commands-macos-linux.md +42 -0
- package/server/assets/skills/lark-tools/references/commands-windows-powershell.md +54 -0
- package/server/assets/skills/lark-tools/references/storage-paths.md +21 -0
- package/server/assets/skills/llm-call/SKILL.md +50 -0
- package/server/assets/skills/llm-call/scripts/llm_call.py +458 -0
- package/server/assets/skills/mcode-tools-master/SKILL.md +133 -0
- package/server/assets/skills/pdf/SKILL.md +287 -0
- package/server/assets/skills/pdf/docs/advanced-reference.md +711 -0
- package/server/assets/skills/pdf/docs/ai-voice-cloning-regulatory-report-case.md +303 -0
- package/server/assets/skills/pdf/docs/annual-report-financial-digest-latex-case.md +233 -0
- package/server/assets/skills/pdf/docs/create-guide.md +438 -0
- package/server/assets/skills/pdf/docs/design-guide.md +204 -0
- package/server/assets/skills/pdf/docs/docx-contract-roundtrip-professional-case.md +328 -0
- package/server/assets/skills/pdf/docs/email-translation-goldman-two-sessions-case.md +346 -0
- package/server/assets/skills/pdf/docs/forms-guide.md +462 -0
- package/server/assets/skills/pdf/docs/html-pdf-spec.md +500 -0
- package/server/assets/skills/pdf/docs/italy-schengen-visa-acroform-case.md +22 -0
- package/server/assets/skills/pdf/docs/latex-academic-thesis-guide.md +234 -0
- package/server/assets/skills/pdf/docs/latex-technical-book-guide.md +112 -0
- package/server/assets/skills/pdf/docs/markdown-static-academic-data-viz-case.md +280 -0
- package/server/assets/skills/pdf/docs/pitfalls-index.md +798 -0
- package/server/assets/skills/pdf/docs/read-guide.md +358 -0
- package/server/assets/skills/pdf/docs/reformat-guide.md +238 -0
- package/server/assets/skills/pdf/docs/skill-readme-archive.md +152 -0
- package/server/assets/skills/pdf/docs/troubleshooting.md +86 -0
- package/server/assets/skills/pdf/docs/vision-guide.md +188 -0
- package/server/assets/skills/pdf/scripts/__init__.py +0 -0
- package/server/assets/skills/pdf/scripts/_pdf_read_lib.py +284 -0
- package/server/assets/skills/pdf/scripts/fill/__init__.py +0 -0
- package/server/assets/skills/pdf/scripts/fill/acroform_apply.py +153 -0
- package/server/assets/skills/pdf/scripts/fill/overlay_apply.py +109 -0
- package/server/assets/skills/pdf/scripts/lib/__init__.py +0 -0
- package/server/assets/skills/pdf/scripts/lib/acroform_io.py +170 -0
- package/server/assets/skills/pdf/scripts/lib/cli_utils.py +41 -0
- package/server/assets/skills/pdf/scripts/lib/geometry.py +79 -0
- package/server/assets/skills/pdf/scripts/make.sh +388 -0
- package/server/assets/skills/pdf/scripts/merge.py +112 -0
- package/server/assets/skills/pdf/scripts/pdf_inspect/__init__.py +0 -0
- package/server/assets/skills/pdf/scripts/pdf_inspect/acroform_inspect.py +52 -0
- package/server/assets/skills/pdf/scripts/pdf_inspect/acroform_probe.py +57 -0
- package/server/assets/skills/pdf/scripts/pdf_inspect/layout_scan.py +164 -0
- package/server/assets/skills/pdf/scripts/read_pdf_vision.py +473 -0
- package/server/assets/skills/pdf/scripts/reformat_parse.py +181 -0
- package/server/assets/skills/pdf/scripts/render/__init__.py +0 -0
- package/server/assets/skills/pdf/scripts/render/overlay_preview.py +86 -0
- package/server/assets/skills/pdf/scripts/render/page_rasterize.py +85 -0
- package/server/assets/skills/pdf/scripts/render_html.cjs +205 -0
- package/server/assets/skills/pdf/scripts/validate/__init__.py +0 -0
- package/server/assets/skills/pdf/scripts/validate/geometry_lint.py +124 -0
- package/server/assets/skills/pdf/templates/INDEX.md +97 -0
- package/server/assets/skills/pdf/templates/bilingual-menu-premium/README.md +175 -0
- package/server/assets/skills/pdf/templates/bilingual-menu-premium/skeleton.html +343 -0
- package/server/assets/skills/pdf/templates/brand-guide-2page/README.md +140 -0
- package/server/assets/skills/pdf/templates/brand-guide-2page/cases/minimax-web-brand-guide/README.md +155 -0
- package/server/assets/skills/pdf/templates/brand-guide-2page/cases/minimax-web-brand-guide/source.html +188 -0
- package/server/assets/skills/pdf/templates/brand-guide-2page/skeleton.html +264 -0
- package/server/assets/skills/pdf/templates/data-viz-report/README.md +234 -0
- package/server/assets/skills/pdf/templates/data-viz-report/cases/annual-report-financial-digest-latex/README.md +12 -0
- package/server/assets/skills/pdf/templates/data-viz-report/cases/annual-report-financial-digest-latex/build_charts.py +341 -0
- package/server/assets/skills/pdf/templates/data-viz-report/cases/annual-report-financial-digest-latex/source.tex +161 -0
- package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/assets/fig_1_1_table_1_1_specs.png +0 -0
- package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/assets/fig_1_2_table_1_2_geekbench.png +0 -0
- package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/assets/fig_1_3_mmax_generation.png +0 -0
- package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/source.html +656 -0
- package/server/assets/skills/pdf/templates/data-viz-report/skeleton.html +835 -0
- package/server/assets/skills/pdf/templates/form-fill-acroform/README.md +198 -0
- package/server/assets/skills/pdf/templates/form-fill-acroform/cases/italy-schengen-visa-example/USER-FINAL-SUMMARY.template.md +42 -0
- package/server/assets/skills/pdf/templates/form-fill-acroform/cases/italy-schengen-visa-example/extract_pdfs_key_info.py +80 -0
- package/server/assets/skills/pdf/templates/form-fill-acroform/cases/italy-schengen-visa-example/field_values.case.json +233 -0
- package/server/assets/skills/pdf/templates/form-fill-acroform/field_values.template.json +118 -0
- package/server/assets/skills/pdf/templates/latex-academic-thesis/README.md +146 -0
- package/server/assets/skills/pdf/templates/latex-academic-thesis/source.tex +334 -0
- package/server/assets/skills/pdf/templates/latex-technical-book/README.md +130 -0
- package/server/assets/skills/pdf/templates/latex-technical-book/README.template-source.md +62 -0
- package/server/assets/skills/pdf/templates/latex-technical-book/source.tex +439 -0
- package/server/assets/skills/pdf/templates/multi-article-aggregator/README.md +148 -0
- package/server/assets/skills/pdf/templates/multi-article-aggregator/pipeline.md +223 -0
- package/server/assets/skills/pdf/templates/multilang-research-report/README.md +146 -0
- package/server/assets/skills/pdf/templates/multilang-research-report/cases/ai-voice-cloning-regulatory/source.html +244 -0
- package/server/assets/skills/pdf/templates/multilang-research-report/skeleton.html +242 -0
- package/server/assets/skills/pdf/templates/reformat-default/README.md +137 -0
- package/server/assets/skills/pdf/templates/reformat-default/cases/pku-contract-roundtrip/docx_engine.py +68 -0
- package/server/assets/skills/pdf/templates/reformat-default/cases/pku-contract-roundtrip/source.html +231 -0
- package/server/assets/skills/pdf/templates/reformat-default/cases/pku-contract-roundtrip/source.md +196 -0
- package/server/assets/skills/pdf/templates/reformat-default/skeleton.html +204 -0
- package/server/assets/skills/pdf/templates/translate-preserve-layout/README.md +147 -0
- package/server/assets/skills/pdf/templates/translate-preserve-layout/cases/goldman-china-two-sessions-cn.html +1660 -0
- package/server/assets/skills/pdf/templates/translate-preserve-layout/skeleton.html +96 -0
- package/server/assets/skills/pdf/templates/translate-preserve-layout/terminology.template.json +66 -0
- package/server/assets/skills/pptx/SKILL.md +285 -0
- package/server/assets/skills/pptx/references/design-system.md +424 -0
- package/server/assets/skills/pptx/references/editing.md +162 -0
- package/server/assets/skills/pptx/references/element-map.md +229 -0
- package/server/assets/skills/pptx/references/pitfalls.md +205 -0
- package/server/assets/skills/pptx/references/pptxgenjs.md +420 -0
- package/server/assets/skills/pptx/references/preview-selection-writeback.md +65 -0
- package/server/assets/skills/pptx/references/python-pptx-recipes.md +63 -0
- package/server/assets/skills/pptx/references/slide-types.md +413 -0
- package/server/assets/skills/pptx/scripts/audit_pptx.py +708 -0
- package/server/assets/skills/pptx/scripts/extract_comments.py +468 -0
- package/server/assets/skills/pptx/scripts/extract_images.py +226 -0
- package/server/assets/skills/pptx/scripts/extract_pptx.py +285 -0
- package/server/assets/skills/pptx/scripts/mavis-ppt-map.cjs +280 -0
- package/server/assets/skills/pptx/scripts/pdf2png.swift +203 -0
- package/server/assets/skills/pptx/scripts/pptx-screenshot.sh +105 -0
- package/server/assets/skills/resume-codex/SKILL.md +55 -0
- package/server/assets/skills/resume-codex/scripts/session-reader.mjs +445 -0
- package/server/assets/skills/skill-creator/SKILL.md +190 -0
- package/server/assets/skills/skill-creator/references/anti-patterns.md +149 -0
- package/server/assets/skills/skill-creator/references/commands-macos-linux.md +38 -0
- package/server/assets/skills/skill-creator/references/commands-windows-powershell.md +48 -0
- package/server/assets/skills/skill-creator/references/description-rubric.md +83 -0
- package/server/assets/skills/skill-creator/references/skill-template.md +101 -0
- package/server/assets/skills/skill-creator/references/when-to-bundle-scripts.md +139 -0
- package/server/assets/skills/skill-creator/scripts/lint-skill.js +226 -0
- package/server/assets/skills/skill-refiner/SKILL.md +139 -0
- package/server/assets/skills/visual-page/SKILL.md +196 -0
- package/server/assets/skills/x-link-reader/SKILL.md +110 -0
- package/server/assets/skills/xlsx/SKILL.md +501 -0
- package/server/assets/skills/xlsx/docs/advanced-reference.md +410 -0
- package/server/assets/skills/xlsx/docs/cases/superstore-multiformat/conversion_manifest.example.json +49 -0
- package/server/assets/skills/xlsx/docs/cases/superstore-multiformat/superstore_orders_print.html +17 -0
- package/server/assets/skills/xlsx/docs/conventions-guide.md +217 -0
- package/server/assets/skills/xlsx/docs/create-edit-guide.md +410 -0
- package/server/assets/skills/xlsx/docs/pitfalls-index.md +760 -0
- package/server/assets/skills/xlsx/docs/raw-xml-escape-hatch.md +201 -0
- package/server/assets/skills/xlsx/docs/recalc-guide.md +295 -0
- package/server/assets/skills/xlsx/docs/superstore-multiformat-conversion-case.md +413 -0
- package/server/assets/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
- package/server/assets/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
- package/server/assets/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/server/assets/skills/xlsx/scripts/office/pack.py +159 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/server/assets/skills/xlsx/scripts/office/soffice.py +191 -0
- package/server/assets/skills/xlsx/scripts/office/unpack.py +132 -0
- package/server/assets/skills/xlsx/scripts/office/validate.py +117 -0
- package/server/assets/skills/xlsx/scripts/office/validators/__init__.py +15 -0
- package/server/assets/skills/xlsx/scripts/office/validators/base.py +851 -0
- package/server/assets/skills/xlsx/scripts/office/validators/docx.py +446 -0
- package/server/assets/skills/xlsx/scripts/office/validators/pptx.py +275 -0
- package/server/assets/skills/xlsx/scripts/office/validators/redlining.py +247 -0
- package/server/assets/skills/xlsx/scripts/recalc.py +450 -0
- package/server/mcode-tools.js +2 -0
- package/server/package-info.json +1 -1
- package/server/server.js +2 -0
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# data-viz-report
|
|
2
|
+
|
|
3
|
+
> Distilled from a 14-page Apple-M-series AI deployment analysis trace (cover + 3 parts +
|
|
4
|
+
> conclusion, 8 Chart.js charts). Playwright HTML+CSS, A4 portrait, **chart-rich** report driven by
|
|
5
|
+
> Chart.js v4 from CDN. Use this when the source content is **table- and number-heavy** and you want
|
|
6
|
+
> the PDF to feel like an Apple-style data brief, not a Word dump of the markdown.
|
|
7
|
+
|
|
8
|
+
## 1. When to use
|
|
9
|
+
|
|
10
|
+
- **EN keywords**: data report, visualization, dashboard PDF, hardware benchmark, comparison report,
|
|
11
|
+
chart-heavy, infographic report, KPI brief, technical analysis, deep-research summary
|
|
12
|
+
- **CN
|
|
13
|
+
keywords**: 数据可视化、图文报告、硬件评测、对比分析、跑分报告、基准测试报告、行业洞察、深度分析、可视化简报
|
|
14
|
+
- **Sample user asks**:
|
|
15
|
+
- "把这份 markdown 评测报告做成数据可视化更好的 PDF。"
|
|
16
|
+
- "Generate a chart-rich PDF brief for this hardware comparison spreadsheet — I want bars, radar,
|
|
17
|
+
and KPI cards, not just tables."
|
|
18
|
+
- "Turn this benchmark write-up into a designed PDF report with visualizations of the numbers."
|
|
19
|
+
|
|
20
|
+
**Pick a different template if** the source has < 4 quantitative tables / ≤ 1 chart-able dataset
|
|
21
|
+
(use `multi-article-aggregator` or the token pipeline) or is purely prose (use
|
|
22
|
+
`multilang-research-report`).
|
|
23
|
+
|
|
24
|
+
## 2. Pipeline
|
|
25
|
+
|
|
26
|
+
**Playwright / Chrome headless HTML+CSS → PDF, with Chart.js rendered in-browser before the print
|
|
27
|
+
snapshot.** Does NOT use the token pipeline.
|
|
28
|
+
|
|
29
|
+
Why not the token pipeline:
|
|
30
|
+
|
|
31
|
+
- Token pipeline has no chart primitives — bars, radar, scatter, dual-axis must be SVG hand-rolled
|
|
32
|
+
per chart, which scales poorly past 3 charts.
|
|
33
|
+
- Chart.js gives you 8+ chart types with consistent styling for free.
|
|
34
|
+
- The "feel" of the trace (KPI cards + chart cards + insight callouts + pill badges + decision
|
|
35
|
+
cards) is HTML/CSS-native and would explode the token catalogue.
|
|
36
|
+
|
|
37
|
+
**Architecture**: a single self-contained `report.html` (CSS + Chart.js init scripts inlined) +
|
|
38
|
+
Chart.js loaded from `cdn.jsdelivr.net` → Chrome headless with `--virtual-time-budget=15000` → PDF.
|
|
39
|
+
|
|
40
|
+
## 3. Document shape
|
|
41
|
+
|
|
42
|
+
- **Pages**: ~10–18 (typical 14).
|
|
43
|
+
- **Page size**: A4 portrait, 14 mm top/bottom, 12 mm sides.
|
|
44
|
+
- **Structure**:
|
|
45
|
+
- **Cover** (full-bleed gradient, hero title, 2-line subtitle, 3 meta-stat chips bottom-left,
|
|
46
|
+
version badge bottom-right).
|
|
47
|
+
- **Prologue page** (`PROLOGUE · 引言` eyebrow + section-line + lead paragraph + 4 KPI cards
|
|
48
|
+
summarizing the questions answered).
|
|
49
|
+
- **Part 1 / 2 / 3 …** each starts with `PART NN · 标题` eyebrow. Each part has 2–4 H3
|
|
50
|
+
subsections; each subsection mixes:
|
|
51
|
+
- 4-up KPI card row (when there are headline numbers),
|
|
52
|
+
- 1–2 chart cards (each card has its own title strip + sub),
|
|
53
|
+
- a `data` table for full-fidelity reference,
|
|
54
|
+
- a yellow `insight` callout for the takeaway.
|
|
55
|
+
- **Conclusion** (3 dark `conclusion` cards, then 3 `takeaway` rows, then a footer-meta block with
|
|
56
|
+
references).
|
|
57
|
+
- **Charts**: 6–10 (typical 8). Mix:
|
|
58
|
+
- 1 dual-axis bar+line "evolution" chart,
|
|
59
|
+
- 1 horizontal grouped bar (long category list, e.g. 14 chips),
|
|
60
|
+
- 1 grouped vertical bar (cross-tab),
|
|
61
|
+
- 1 scatter "matrix" (X = capacity, Y = bandwidth),
|
|
62
|
+
- 1 stacked bar (model weight + KV cache vs total budget),
|
|
63
|
+
- 1 logarithmic horizontal bar (when numbers span 2+ decades),
|
|
64
|
+
- 1 radar (multi-dimensional positioning, 6 axes recommended),
|
|
65
|
+
- 1 dual-axis bar (price + power, two units side-by-side).
|
|
66
|
+
|
|
67
|
+
## 4. Visual params
|
|
68
|
+
|
|
69
|
+
**Palette** (Apple-minimal tech tone — **swap for the subject domain**):
|
|
70
|
+
|
|
71
|
+
- Ink `#1d1d1f` (body text, KPI value)
|
|
72
|
+
- Sub-ink `#424245` / `#6e6e73` / `#86868b` (descriptors / muted)
|
|
73
|
+
- Surface `#fff` / Card-mute `#f5f5f7` / Hairline `#e5e5ea` / `#d2d2d7`
|
|
74
|
+
- Accent `#007AFF` (Apple blue — section-line, chart-title bar, primary bar)
|
|
75
|
+
- Data series 5-tone: `#5AC8FA` cyan / `#007AFF` blue / `#5e5ce6` indigo / `#34a853` green /
|
|
76
|
+
`#FF9500` orange (use also for the second axis line)
|
|
77
|
+
- Status pills 5-level: bad `#c62828`/`#ffebee` · warn `#e65100`/`#fff3e0` · ok `#2e7d32`/`#e8f5e9`
|
|
78
|
+
· good `#1565c0`/`#e3f2fd` · best `#6a1b9a`/`#f3e5f5`
|
|
79
|
+
- Cover gradient `linear-gradient(135deg, #0a1628 0%, #1d3557 50%, #2a5298 100%)` with two radial
|
|
80
|
+
halo blobs (cyan top-right, violet bottom-left).
|
|
81
|
+
|
|
82
|
+
**Typography** (system stack — keeps render fast, no font shipping):
|
|
83
|
+
|
|
84
|
+
```css
|
|
85
|
+
font-family:
|
|
86
|
+
-apple-system,
|
|
87
|
+
BlinkMacSystemFont,
|
|
88
|
+
'SF Pro Display',
|
|
89
|
+
'PingFang SC',
|
|
90
|
+
/* Simplified Chinese — keep for CN reports */ 'Helvetica Neue',
|
|
91
|
+
Arial,
|
|
92
|
+
sans-serif;
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
- Body 10.5pt / line-height 1.55 / `-webkit-font-smoothing: antialiased`
|
|
96
|
+
- Section H2: 20pt 700, letter-spacing -0.5px
|
|
97
|
+
- Section eyebrow: 10pt 600, letter-spacing 3px, color = accent
|
|
98
|
+
- KPI value: 22pt 700; KPI unit: 11pt 500; KPI label: 8.5pt uppercase
|
|
99
|
+
- Chart title: 11pt 600 with a 4×14px accent rule prefix
|
|
100
|
+
- Pill badge: 8pt 500
|
|
101
|
+
- Cover hero H1: 38pt 700, letter-spacing -1px
|
|
102
|
+
|
|
103
|
+
**@page**:
|
|
104
|
+
|
|
105
|
+
```css
|
|
106
|
+
@page {
|
|
107
|
+
size: A4 portrait;
|
|
108
|
+
margin: 14mm 12mm;
|
|
109
|
+
}
|
|
110
|
+
* {
|
|
111
|
+
-webkit-print-color-adjust: exact;
|
|
112
|
+
print-color-adjust: exact;
|
|
113
|
+
}
|
|
114
|
+
.page-break {
|
|
115
|
+
page-break-after: always;
|
|
116
|
+
}
|
|
117
|
+
.avoid-break {
|
|
118
|
+
page-break-inside: avoid;
|
|
119
|
+
} /* wrap every chart-card */
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## 5. Skeleton
|
|
123
|
+
|
|
124
|
+
See [`skeleton.html`](skeleton.html) (~520 lines self-contained — embeds every component primitive:
|
|
125
|
+
cover, KPI grid, chart cards for 8 chart types, data table with pill badges, versus card, recommend
|
|
126
|
+
triple, dark conclusion cards, takeaway rows, timeline strip).
|
|
127
|
+
|
|
128
|
+
**Quick start**:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
cp templates/data-viz-report/skeleton.html /tmp/report/page.html
|
|
132
|
+
# Edit:
|
|
133
|
+
# 1. <!-- REPORT_TITLE --> / <!-- REPORT_SUBTITLE --> / cover meta stats
|
|
134
|
+
# 2. :root accent + cover gradient (subject-domain match)
|
|
135
|
+
# 3. Each <!-- SECTION_NN --> block: title, lead, KPI numbers
|
|
136
|
+
# 4. Chart datasets in the bottom <script> (labels + numbers only)
|
|
137
|
+
# 5. Drop chart cards / KPI cards you do not need; keep the wrapper
|
|
138
|
+
# classes intact.
|
|
139
|
+
|
|
140
|
+
# Render with Chrome headless — must give Chart.js time to draw.
|
|
141
|
+
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
|
|
142
|
+
--headless=new --disable-gpu --no-sandbox --hide-scrollbars \
|
|
143
|
+
--virtual-time-budget=15000 \
|
|
144
|
+
--run-all-compositor-stages-before-draw \
|
|
145
|
+
--no-pdf-header-footer \
|
|
146
|
+
--print-to-pdf="/tmp/report/out.pdf" \
|
|
147
|
+
"file:///tmp/report/page.html"
|
|
148
|
+
|
|
149
|
+
# OR via the project's renderer (drives Playwright + same delays):
|
|
150
|
+
node packages/local-runtime/assets/skills/pdf/scripts/render_html.cjs \
|
|
151
|
+
/tmp/report/page.html /tmp/report/out.pdf
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## 6. Pitfalls (from the source trace)
|
|
155
|
+
|
|
156
|
+
- **HTML entity superscripts silently break.** Writing `3nm⊃2;` (intent: `3nm²`) renders the literal
|
|
157
|
+
characters `⊃2;` in print. For superscripts, paste the actual unicode (`²`, `⁺`, `™`) or write the
|
|
158
|
+
word ("二代", "v2"). Do a final search for `⊃` / `&sup` / `&` in the HTML before rendering.
|
|
159
|
+
- **Chart.js needs explicit render time.** Without `--virtual-time-budget=15000` (or Playwright
|
|
160
|
+
`waitForFunction`), Chrome snapshots the page before charts paint and you get blank boxes. Also
|
|
161
|
+
disable Chart.js animation in JS: `Chart.defaults.animation = false;` — animated charts can also
|
|
162
|
+
be captured mid-frame.
|
|
163
|
+
- **Two-decade value range crushes the smaller bar.** When comparing e.g. 80 tokens/s vs 5,841
|
|
164
|
+
tokens/s on the same axis, the small bar becomes a 1-pixel sliver. Use
|
|
165
|
+
`scales.x.type: 'logarithmic'` and call it out in the chart sub-title — the log axis itself is the
|
|
166
|
+
message.
|
|
167
|
+
- **Dual-axis charts drop the right axis if you forget `position`.** Every secondary axis needs
|
|
168
|
+
`{ position: 'right', grid: { display: false } }` or it overlaps the primary.
|
|
169
|
+
- **`page-break-inside: avoid` only works on a wrapped container.** The template wraps every chart
|
|
170
|
+
in `.chart-card.avoid-break`. Charts placed directly under a section header without the wrapper
|
|
171
|
+
will split across pages and look broken.
|
|
172
|
+
- **Print color drift.** Without `-webkit-print-color-adjust: exact; print-color-adjust: exact;` on
|
|
173
|
+
`*`, chip background gradients (cover, KPI cards, dark conclusion) all desaturate. Apply the rule
|
|
174
|
+
to the universal selector, not just `body`.
|
|
175
|
+
- **Chinese punctuation eats horizontal space in tables.** Full-width `()`, `:`, `/` in narrow
|
|
176
|
+
columns force line wrap. Use half-width `()`, `:`, `/` inside table cells; keep full-width in body
|
|
177
|
+
prose.
|
|
178
|
+
- **Last page < 1/3 full.** Same rule as `multilang-research-report`: expand content (add a
|
|
179
|
+
"三大核心收获" takeaway list, add a footer-meta references block) rather than shrinking margins.
|
|
180
|
+
- **CDN flakiness.** `cdn.jsdelivr.net` is the default; if the renderer runs offline, vendor
|
|
181
|
+
`chart.umd.min.js` next to the HTML and load it with a relative
|
|
182
|
+
`<script src="chart.umd.min.js"></script>`.
|
|
183
|
+
|
|
184
|
+
## 7. Generalization
|
|
185
|
+
|
|
186
|
+
**Required placeholders**:
|
|
187
|
+
|
|
188
|
+
- `<!-- REPORT_TITLE -->` / `<!-- REPORT_SUBTITLE -->` — cover hero copy.
|
|
189
|
+
- `<!-- COVER_TAG -->` — the eyebrow chip ("DEEP RESEARCH · 2026").
|
|
190
|
+
- `<!-- META_STAT_N_NUM -->` / `<!-- META_STAT_N_LABEL -->` — three cover stat chips (entity counts
|
|
191
|
+
/ questions / sources).
|
|
192
|
+
- `--accent: <!-- ACCENT_HEX -->` — the section-line / chart-title / primary-bar color (CSS
|
|
193
|
+
variable).
|
|
194
|
+
- For each `SECTION`: `<!-- SECTION_NUM -->`, `<!-- SECTION_TITLE -->`, `<!-- SECTION_LEAD -->`, an
|
|
195
|
+
array of KPI tuples `(label, value, unit, desc)`, and one or more chart datasets.
|
|
196
|
+
- For each chart: chart `id`, `type`, `labels`, `datasets`, axes config.
|
|
197
|
+
|
|
198
|
+
**Optional sections** (drop or duplicate freely):
|
|
199
|
+
|
|
200
|
+
- Timeline strip (for a generation / version progression — 3-5 stops).
|
|
201
|
+
- Versus card (head-to-head 2-column comparison).
|
|
202
|
+
- Recommend triple (entry / recommended / premium tier cards).
|
|
203
|
+
- Insight callout (yellow box with a 1-paragraph takeaway).
|
|
204
|
+
- Decision-tree pair (mirrors versus card; second axis is "if you are X").
|
|
205
|
+
|
|
206
|
+
**Structural invariants** (do not break):
|
|
207
|
+
|
|
208
|
+
- Cover is full-bleed and ends with `page-break-after: always`.
|
|
209
|
+
- Every `chart-card` is wrapped in `.avoid-break`.
|
|
210
|
+
- Every section starts with eyebrow + H2 + section-line, in that order.
|
|
211
|
+
- Chart.js is loaded once at the top; one `<script>` at the bottom initializes every chart in
|
|
212
|
+
document order.
|
|
213
|
+
- `Chart.defaults.animation = false` is set globally.
|
|
214
|
+
- KPI grid is 4 columns on its own row; never inlined with prose.
|
|
215
|
+
- Status pills always carry one of the 5 semantic classes (`pill-bad/warn/ok/good/best`); custom
|
|
216
|
+
colors break the legend.
|
|
217
|
+
|
|
218
|
+
**Diversify every run.** The §4 baseline (Apple navy gradient cover + `#007AFF` accent) is the
|
|
219
|
+
trace's rendition of one specific subject (consumer hardware). **Re-skin to the subject domain every
|
|
220
|
+
time:**
|
|
221
|
+
|
|
222
|
+
| Subject | Cover gradient | Accent | Data palette feel |
|
|
223
|
+
| ---------------------------------- | ------------------ | --------- | ---------------------- |
|
|
224
|
+
| Consumer hardware / Apple-adjacent | navy → blue | `#007AFF` | cool blues + indigo |
|
|
225
|
+
| Finance / market data | charcoal → emerald | `#0c8a5d` | greens + amber + slate |
|
|
226
|
+
| Healthcare / pharma | teal → ivory | `#0a7488` | teal + coral + sand |
|
|
227
|
+
| Energy / industrial | graphite → ember | `#d4621a` | ochre + steel + brick |
|
|
228
|
+
| AI / research lab | violet → midnight | `#7c3aed` | violet + cyan + lime |
|
|
229
|
+
| Sustainability / ESG | forest → khaki | `#3f7d3f` | leaf + earth + sky |
|
|
230
|
+
|
|
231
|
+
Two reports on different subjects must read as two different publications — same primitives (cards,
|
|
232
|
+
chart cards, pills, conclusion blocks), different chrome (gradient, accent, data palette, eyebrow
|
|
233
|
+
wording, optional sections kept vs dropped). Reusing the navy/blue across every report defeats the
|
|
234
|
+
whole point of using HTML.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Annual report financial digest — compact LaTeX case
|
|
2
|
+
|
|
3
|
+
This case stores editable artifacts for the workflow documented in:
|
|
4
|
+
|
|
5
|
+
`../../../../docs/annual-report-financial-digest-latex-case.md`
|
|
6
|
+
|
|
7
|
+
Files:
|
|
8
|
+
|
|
9
|
+
- `source.tex` — compact data-table-first LaTeX report template.
|
|
10
|
+
- `build_charts.py` — chart/data scaffold from the PetroChina annual-report run; update values and paths before reuse.
|
|
11
|
+
|
|
12
|
+
Do not commit generated PDFs here. Compile into a task-specific working directory.
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
import base64, json, math
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
import matplotlib.pyplot as plt
|
|
4
|
+
import numpy as np
|
|
5
|
+
|
|
6
|
+
out = Path('petrochina_2024_summary')
|
|
7
|
+
out.mkdir(parents=True, exist_ok=True)
|
|
8
|
+
|
|
9
|
+
# Source: PetroChina 2024 Annual Report, pp. 5, 23-25, 183 / 262-263.
|
|
10
|
+
financial = {
|
|
11
|
+
'years': [2020, 2021, 2022, 2023, 2024],
|
|
12
|
+
'revenue': [1935523, 2615967, 3240951, 3012812, 2937981],
|
|
13
|
+
'net_profit': [33669, 114658, 163493, 180563, 183755],
|
|
14
|
+
'parent_net_profit': [19190, 92129, 148888, 161416, 164684],
|
|
15
|
+
'eps': [0.10, 0.50, 0.81, 0.88, 0.90],
|
|
16
|
+
'operating_profit': [76138, 161241, 216888, 235862, 233954],
|
|
17
|
+
'total_assets': [2494086, 2508762, 2676845, 2758975, 2752751],
|
|
18
|
+
'total_liabilities': [1122737, 1098181, 1137764, 1123679, 1043128],
|
|
19
|
+
'equity': [1371349, 1410581, 1539081, 1635296, 1709623],
|
|
20
|
+
'operating_cashflow': [318898, 341424, 393246, 456847, 406532],
|
|
21
|
+
'roe': [1.6, 7.3, 10.9, 11.1, 10.9],
|
|
22
|
+
}
|
|
23
|
+
segments = [
|
|
24
|
+
{'name': '勘探与生产', 'source_name': '油气和新能源', 'revenue_bn': 906.813, 'external_bn': 154.862, 'profit_bn': 159.745, 'yoy': 1.3},
|
|
25
|
+
{'name': '炼油与化工', 'source_name': '炼油化工和新材料', 'revenue_bn': 1192.589, 'external_bn': 344.220, 'profit_bn': 21.386, 'yoy': -2.3},
|
|
26
|
+
{'name': '销售', 'source_name': '销售', 'revenue_bn': 2454.546, 'external_bn': 1878.462, 'profit_bn': 16.494, 'yoy': -2.9},
|
|
27
|
+
{'name': '天然气与管道', 'source_name': '天然气销售', 'revenue_bn': 592.690, 'external_bn': 557.107, 'profit_bn': 54.010, 'yoy': 5.6},
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
plt.rcParams['font.sans-serif'] = ['PingFang SC', 'Heiti SC', 'Arial Unicode MS', 'DejaVu Sans']
|
|
31
|
+
plt.rcParams['axes.unicode_minus'] = False
|
|
32
|
+
colors = ['#8b3f18', '#c65f24', '#2f4f4f', '#6b7f3a']
|
|
33
|
+
accent = '#a84f1d'
|
|
34
|
+
ink = '#22302b'
|
|
35
|
+
|
|
36
|
+
# Trend chart: revenue, net profit, parent net profit, EPS on secondary axis
|
|
37
|
+
fig, ax1 = plt.subplots(figsize=(8.2, 4.2), dpi=220)
|
|
38
|
+
years = financial['years']
|
|
39
|
+
rev = np.array(financial['revenue']) / 1_000_000 # trillion yuan
|
|
40
|
+
net = np.array(financial['net_profit']) / 10_000 # 100 million yuan? RMB100mn = millions of yuan / 100 -> hundreds of millions; /10000 -> trillions? Check the label below.
|
|
41
|
+
parent = np.array(financial['parent_net_profit']) / 10_000
|
|
42
|
+
ax1.plot(years, rev, marker='o', linewidth=2.8, color=accent, label='营业收入(万亿元)')
|
|
43
|
+
ax1.set_ylabel('营业收入(万亿元)', color=accent, fontsize=10)
|
|
44
|
+
ax1.tick_params(axis='y', labelcolor=accent)
|
|
45
|
+
ax1.set_ylim(1.7, 3.4)
|
|
46
|
+
ax1.grid(True, axis='y', alpha=0.22)
|
|
47
|
+
ax2 = ax1.twinx()
|
|
48
|
+
ax2.plot(years, net*1000, marker='s', linewidth=2.2, color='#2f4f4f', label='净利润(亿元)')
|
|
49
|
+
ax2.plot(years, parent*1000, marker='^', linewidth=2.2, color='#6b7f3a', label='归母净利润(亿元)')
|
|
50
|
+
ax2.set_ylabel('利润(亿元)', color='#2f4f4f', fontsize=10)
|
|
51
|
+
ax2.tick_params(axis='y', labelcolor='#2f4f4f')
|
|
52
|
+
ax2.set_ylim(0, 2100)
|
|
53
|
+
ax1.set_title('多年财务趋势:收入高位回落、利润韧性增强', fontsize=13, fontweight='bold', color=ink, pad=12)
|
|
54
|
+
lines = ax1.get_lines() + ax2.get_lines()
|
|
55
|
+
ax1.legend(lines, [l.get_label() for l in lines], loc='upper left', frameon=False, fontsize=9)
|
|
56
|
+
for x, y in zip(years, rev):
|
|
57
|
+
ax1.text(x, y+0.05, f'{y:.2f}', ha='center', va='bottom', fontsize=8, color=accent)
|
|
58
|
+
for x, y in zip(years, parent*1000):
|
|
59
|
+
ax2.text(x, y+55, f'{y:.0f}', ha='center', va='bottom', fontsize=8, color='#6b7f3a')
|
|
60
|
+
fig.tight_layout()
|
|
61
|
+
trend = out/'trend.png'
|
|
62
|
+
fig.savefig(trend, bbox_inches='tight', facecolor='white')
|
|
63
|
+
plt.close(fig)
|
|
64
|
+
|
|
65
|
+
# Donut chart segment gross revenue
|
|
66
|
+
fig, ax = plt.subplots(figsize=(6.6, 4.5), dpi=220)
|
|
67
|
+
vals = [s['revenue_bn'] for s in segments]
|
|
68
|
+
labels = [s['name'] for s in segments]
|
|
69
|
+
wedges, texts = ax.pie(vals, startangle=90, counterclock=False, colors=colors,
|
|
70
|
+
wedgeprops=dict(width=0.38, edgecolor='white', linewidth=2))
|
|
71
|
+
total = sum(vals)
|
|
72
|
+
ax.text(0, 0.05, '分部收入', ha='center', va='center', fontsize=13, fontweight='bold', color=ink)
|
|
73
|
+
ax.text(0, -0.13, f'{total:,.0f} 亿元', ha='center', va='center', fontsize=11, color='#66736d')
|
|
74
|
+
legend_labels = [f"{lab} {v:,.0f}亿元 {v/total:.1%}" for lab, v in zip(labels, vals)]
|
|
75
|
+
ax.legend(wedges, legend_labels, loc='center left', bbox_to_anchor=(1.0, 0.5), frameon=False, fontsize=9)
|
|
76
|
+
ax.set_title('2024年四大业务板块收入结构(分部收入口径)', fontsize=13, fontweight='bold', color=ink, pad=10)
|
|
77
|
+
fig.tight_layout()
|
|
78
|
+
donut = out/'donut.png'
|
|
79
|
+
fig.savefig(donut, bbox_inches='tight', facecolor='white')
|
|
80
|
+
plt.close(fig)
|
|
81
|
+
|
|
82
|
+
# Radar chart health score
|
|
83
|
+
revenue_score = financial['revenue'][-1] / max(financial['revenue']) * 100
|
|
84
|
+
net_margin = financial['net_profit'][-1] / financial['revenue'][-1] * 100
|
|
85
|
+
profit_score = min(net_margin / 6.5 * 100, 100)
|
|
86
|
+
roe_score = financial['roe'][-1] / max(financial['roe']) * 100
|
|
87
|
+
cash_score = min((financial['operating_cashflow'][-1] / financial['net_profit'][-1]) / 2.0 * 100, 100)
|
|
88
|
+
equity_ratio = 1 - financial['total_liabilities'][-1] / financial['total_assets'][-1]
|
|
89
|
+
leverage_score = min(equity_ratio / 0.65 * 100, 100)
|
|
90
|
+
segment_score = min(sum(1 for s in segments if s['profit_bn'] > 0) / 4 * 100, 100)
|
|
91
|
+
radar_labels = ['规模稳定', '盈利能力', 'ROE效率', '现金创造', '资本稳健', '板块盈利']
|
|
92
|
+
radar_vals = [revenue_score, profit_score, roe_score, cash_score, leverage_score, segment_score]
|
|
93
|
+
angles = np.linspace(0, 2*np.pi, len(radar_labels), endpoint=False).tolist()
|
|
94
|
+
radar_vals_closed = radar_vals + radar_vals[:1]
|
|
95
|
+
angles_closed = angles + angles[:1]
|
|
96
|
+
fig = plt.figure(figsize=(5.8, 5.2), dpi=220)
|
|
97
|
+
ax = plt.subplot(111, polar=True)
|
|
98
|
+
ax.plot(angles_closed, radar_vals_closed, color=accent, linewidth=2.4)
|
|
99
|
+
ax.fill(angles_closed, radar_vals_closed, color=accent, alpha=0.18)
|
|
100
|
+
ax.set_xticks(angles)
|
|
101
|
+
ax.set_xticklabels(radar_labels, fontsize=9, color=ink)
|
|
102
|
+
ax.set_yticks([20,40,60,80,100])
|
|
103
|
+
ax.set_yticklabels(['20','40','60','80','100'], fontsize=7, color='#7a8580')
|
|
104
|
+
ax.set_ylim(0,100)
|
|
105
|
+
ax.grid(color='#d8d2c8', alpha=0.8)
|
|
106
|
+
ax.set_title('财务健康度雷达图(标准化评分)', fontsize=13, fontweight='bold', color=ink, pad=18)
|
|
107
|
+
for angle, val in zip(angles, radar_vals):
|
|
108
|
+
ax.text(angle, min(val+8, 108), f'{val:.0f}', ha='center', va='center', fontsize=8, color=accent)
|
|
109
|
+
fig.tight_layout()
|
|
110
|
+
radar = out/'radar.png'
|
|
111
|
+
fig.savefig(radar, bbox_inches='tight', facecolor='white')
|
|
112
|
+
plt.close(fig)
|
|
113
|
+
|
|
114
|
+
# Convert images to base64
|
|
115
|
+
def img64(p):
|
|
116
|
+
return 'data:image/png;base64,' + base64.b64encode(Path(p).read_bytes()).decode('ascii')
|
|
117
|
+
|
|
118
|
+
# Key calculations
|
|
119
|
+
rev24_t = financial['revenue'][-1] / 1_000_000
|
|
120
|
+
rev_yoy = (financial['revenue'][-1]/financial['revenue'][-2]-1)*100
|
|
121
|
+
net_yoy = (financial['net_profit'][-1]/financial['net_profit'][-2]-1)*100
|
|
122
|
+
parent_yoy = (financial['parent_net_profit'][-1]/financial['parent_net_profit'][-2]-1)*100
|
|
123
|
+
cash_to_profit = financial['operating_cashflow'][-1] / financial['net_profit'][-1]
|
|
124
|
+
liab_ratio = financial['total_liabilities'][-1] / financial['total_assets'][-1] * 100
|
|
125
|
+
|
|
126
|
+
html = f'''<!doctype html>
|
|
127
|
+
<html lang="zh-CN">
|
|
128
|
+
<head>
|
|
129
|
+
<meta charset="UTF-8">
|
|
130
|
+
<title>中国石油2024年度报告财务摘要</title>
|
|
131
|
+
<style>
|
|
132
|
+
@page {{ size: A4 portrait; margin: 0; }}
|
|
133
|
+
* {{ box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }}
|
|
134
|
+
:root {{ --accent:#a84f1d; --accent2:#c65f24; --ink:#22302b; --muted:#66736d; --paper:#fbfaf6; --line:#ded6c9; --green:#536b3e; --slate:#2f4f4f; }}
|
|
135
|
+
html, body {{ margin:0; padding:0; background:#d2d2d2; }}
|
|
136
|
+
body {{ font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Hiragino Sans","Apple SD Gothic Neo","Helvetica Neue",Arial,sans-serif; color:var(--ink); font-size:10.5pt; line-height:1.55; }}
|
|
137
|
+
.sheet {{ width:210mm; height:297mm; margin:0 auto 8mm; background:var(--paper); padding:16mm 15mm 14mm; position:relative; overflow:hidden; page-break-after:always; display:flex; flex-direction:column; }}
|
|
138
|
+
.sheet:last-child {{ page-break-after:auto; }}
|
|
139
|
+
.cover {{ padding:0; color:white; background:linear-gradient(135deg,#1f2a25 0%,#5d2b16 48%,#b45820 100%); }}
|
|
140
|
+
.cover::before {{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 78% 24%, rgba(255,230,180,.23), transparent 28%), radial-gradient(circle at 14% 84%, rgba(255,255,255,.12), transparent 30%); }}
|
|
141
|
+
.cover-inner {{ position:relative; z-index:1; height:100%; padding:28mm 20mm; display:flex; flex-direction:column; justify-content:space-between; }}
|
|
142
|
+
.eyebrow {{ letter-spacing:.12em; text-transform:uppercase; font-size:9pt; opacity:.86; }}
|
|
143
|
+
h1 {{ font-size:31pt; line-height:1.12; margin:16mm 0 5mm; font-weight:800; }}
|
|
144
|
+
.subtitle {{ font-size:14pt; opacity:.92; max-width:136mm; }}
|
|
145
|
+
.cover-grid {{ display:grid; grid-template-columns:repeat(4,1fr); gap:5mm; margin-top:18mm; }}
|
|
146
|
+
.cover-stat {{ border:1px solid rgba(255,255,255,.34); border-radius:5mm; padding:5mm; background:rgba(255,255,255,.10); backdrop-filter:blur(2px); }}
|
|
147
|
+
.cover-stat .num {{ font-size:17pt; font-weight:800; }}
|
|
148
|
+
.cover-stat .lbl {{ font-size:8.5pt; opacity:.82; margin-top:1mm; }}
|
|
149
|
+
.cover-foot {{ display:flex; justify-content:space-between; align-items:flex-end; font-size:9.5pt; opacity:.88; }}
|
|
150
|
+
.header {{ display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); padding-bottom:4mm; margin-bottom:6mm; color:var(--muted); font-size:8.5pt; }}
|
|
151
|
+
.footer {{ margin-top:auto; border-top:1px solid var(--line); padding-top:3mm; display:flex; justify-content:space-between; color:#7b827e; font-size:8pt; }}
|
|
152
|
+
h2 {{ font-size:20pt; line-height:1.2; margin:0 0 3mm; }}
|
|
153
|
+
h3 {{ font-size:13pt; margin:5mm 0 2mm; }}
|
|
154
|
+
.section-tag {{ color:var(--accent); font-weight:800; letter-spacing:.08em; font-size:8.5pt; }}
|
|
155
|
+
.lead {{ color:#3e4945; font-size:11pt; margin:2mm 0 5mm; }}
|
|
156
|
+
.toc {{ margin-top:8mm; border-top:2px solid var(--accent); }}
|
|
157
|
+
.toc a {{ color:var(--ink); text-decoration:none; display:grid; grid-template-columns:18mm 1fr 12mm; gap:3mm; padding:4.2mm 0; border-bottom:1px solid var(--line); }}
|
|
158
|
+
.toc .p {{ color:var(--accent); font-weight:800; }}
|
|
159
|
+
.kpis {{ display:grid; grid-template-columns:repeat(4,1fr); gap:4mm; margin:5mm 0; }}
|
|
160
|
+
.kpi {{ background:#fff; border:1px solid var(--line); border-radius:4mm; padding:4mm; min-height:25mm; }}
|
|
161
|
+
.kpi .label {{ color:var(--muted); font-size:8pt; }}
|
|
162
|
+
.kpi .value {{ font-size:17pt; color:var(--accent); font-weight:800; margin:1mm 0; }}
|
|
163
|
+
.kpi .desc {{ font-size:8pt; color:#66736d; }}
|
|
164
|
+
.card {{ background:#fff; border:1px solid var(--line); border-radius:4mm; padding:5mm; margin:4mm 0; box-shadow:0 2mm 8mm rgba(60,48,36,.05); }}
|
|
165
|
+
.chart {{ text-align:center; }}
|
|
166
|
+
.chart img {{ max-width:100%; max-height:104mm; object-fit:contain; }}
|
|
167
|
+
.chart.small img {{ max-height:88mm; }}
|
|
168
|
+
.cap {{ color:var(--muted); font-size:8.5pt; margin-top:1mm; }}
|
|
169
|
+
table {{ width:100%; border-collapse:collapse; background:#fff; font-size:8.7pt; margin:3mm 0; }}
|
|
170
|
+
th {{ background:#efe6db; color:#332b24; text-align:left; font-weight:800; }}
|
|
171
|
+
th, td {{ border:1px solid #ddd3c6; padding:2.2mm 2.6mm; }}
|
|
172
|
+
td.num, th.num {{ text-align:right; font-variant-numeric:tabular-nums; }}
|
|
173
|
+
.note {{ font-size:8.2pt; color:var(--muted); }}
|
|
174
|
+
.two {{ display:grid; grid-template-columns:1fr 1fr; gap:5mm; align-items:start; }}
|
|
175
|
+
.callout {{ border-left:3mm solid var(--accent); background:#fff7ef; padding:4mm 5mm; margin:4mm 0; color:#3b3028; }}
|
|
176
|
+
.pill {{ display:inline-block; padding:.6mm 2mm; border-radius:99px; font-size:7.8pt; background:#f0eadf; color:#6a3c1e; }}
|
|
177
|
+
.source {{ margin-top:4mm; color:#6d746f; font-size:8.4pt; }}
|
|
178
|
+
@media screen {{ .sheet {{ box-shadow:0 4px 24px rgba(0,0,0,.18); }} }}
|
|
179
|
+
</style>
|
|
180
|
+
</head>
|
|
181
|
+
<body>
|
|
182
|
+
<section class="sheet cover" id="cover">
|
|
183
|
+
<div class="cover-inner">
|
|
184
|
+
<div>
|
|
185
|
+
<div class="eyebrow">PetroChina Company Limited · Annual Report Digest</div>
|
|
186
|
+
<h1>中国石油<br>2024年度报告财务摘要</h1>
|
|
187
|
+
<p class="subtitle">基于《中国石油2024年度报告》提取主要财务指标、业务板块收入,并生成趋势、结构与财务健康度可视化。</p>
|
|
188
|
+
<div class="cover-grid">
|
|
189
|
+
<div class="cover-stat"><div class="num">2.94万亿</div><div class="lbl">2024营业收入(人民币)</div></div>
|
|
190
|
+
<div class="cover-stat"><div class="num">1,837.55亿</div><div class="lbl">净利润</div></div>
|
|
191
|
+
<div class="cover-stat"><div class="num">0.90元</div><div class="lbl">每股基本及摊薄盈利</div></div>
|
|
192
|
+
<div class="cover-stat"><div class="num">10.9%</div><div class="lbl">净资产收益率</div></div>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
<div class="cover-foot"><div>精简摘要报告 · 中文版</div><div>生成日期:2026年4月25日</div></div>
|
|
196
|
+
</div>
|
|
197
|
+
</section>
|
|
198
|
+
|
|
199
|
+
<section class="sheet" id="toc">
|
|
200
|
+
<div class="header"><span>中国石油2024年度报告财务摘要</span><span>目录</span></div>
|
|
201
|
+
<span class="section-tag">CONTENTS</span><h2>目录</h2>
|
|
202
|
+
<p class="lead">本报告保留关键财务数据来源页码,图表为静态图片嵌入,适合打印与归档阅读。</p>
|
|
203
|
+
<nav class="toc">
|
|
204
|
+
<a href="#summary"><span class="p">01</span><span>执行摘要与关键结论</span><span>3</span></a>
|
|
205
|
+
<a href="#financials"><span class="p">02</span><span>主要财务指标(近五年)</span><span>4</span></a>
|
|
206
|
+
<a href="#trend"><span class="p">03</span><span>多年财务趋势图</span><span>5</span></a>
|
|
207
|
+
<a href="#segments"><span class="p">04</span><span>分业务板块收入明细</span><span>6</span></a>
|
|
208
|
+
<a href="#donut"><span class="p">05</span><span>业务收入环形图</span><span>7</span></a>
|
|
209
|
+
<a href="#health"><span class="p">06</span><span>财务健康度雷达图</span><span>8</span></a>
|
|
210
|
+
<a href="#notes"><span class="p">07</span><span>口径说明与数据来源</span><span>9</span></a>
|
|
211
|
+
</nav>
|
|
212
|
+
<div class="footer"><span>PetroChina 2024 Annual Report Digest</span><span>2 / 9</span></div>
|
|
213
|
+
</section>
|
|
214
|
+
|
|
215
|
+
<section class="sheet" id="summary">
|
|
216
|
+
<div class="header"><span>中国石油2024年度报告财务摘要</span><span>执行摘要</span></div>
|
|
217
|
+
<span class="section-tag">PART 01</span><h2>执行摘要与关键结论</h2>
|
|
218
|
+
<div class="kpis">
|
|
219
|
+
<div class="kpi"><div class="label">营业收入</div><div class="value">{rev24_t:.2f}万亿</div><div class="desc">同比 {rev_yoy:.1f}%</div></div>
|
|
220
|
+
<div class="kpi"><div class="label">净利润</div><div class="value">1,837.55亿</div><div class="desc">同比 +{net_yoy:.1f}%</div></div>
|
|
221
|
+
<div class="kpi"><div class="label">归母净利润</div><div class="value">1,646.84亿</div><div class="desc">同比 +{parent_yoy:.1f}%</div></div>
|
|
222
|
+
<div class="kpi"><div class="label">经营现金流</div><div class="value">4,065.32亿</div><div class="desc">现金流/净利润 {cash_to_profit:.2f}x</div></div>
|
|
223
|
+
</div>
|
|
224
|
+
<div class="callout"><strong>核心判断:</strong>2024年收入规模在油价与产品价格回落下同比下降2.5%,但净利润和归母净利润继续小幅增长,显示成本管控、天然气销售利润改善及资产负债结构优化对盈利形成支撑。</div>
|
|
225
|
+
<div class="two">
|
|
226
|
+
<div class="card"><h3>增长韧性</h3><p>营业收入为人民币2,937,981百万元,接近3.03万亿元校验标准且在允许误差内;归母净利润达到164,684百万元,连续五年改善。</p></div>
|
|
227
|
+
<div class="card"><h3>结构特征</h3><p>销售板块分部收入最高,天然气销售板块收入与利润均增长,炼油化工和新材料利润受毛利空间收窄影响明显下降。</p></div>
|
|
228
|
+
<div class="card"><h3>财务稳健</h3><p>总负债较上年下降7.2%,资产负债率约37.9%;权益总额增加4.5%,资本结构继续改善。</p></div>
|
|
229
|
+
<div class="card"><h3>现金质量</h3><p>经营活动现金流净额为406,532百万元,虽同比下降11.0%,仍显著覆盖当年净利润,现金创造能力保持较强。</p></div>
|
|
230
|
+
</div>
|
|
231
|
+
<div class="footer"><span>PetroChina 2024 Annual Report Digest</span><span>3 / 9</span></div>
|
|
232
|
+
</section>
|
|
233
|
+
|
|
234
|
+
<section class="sheet" id="financials">
|
|
235
|
+
<div class="header"><span>中国石油2024年度报告财务摘要</span><span>主要财务指标</span></div>
|
|
236
|
+
<span class="section-tag">PART 02</span><h2>主要财务指标(近五年)</h2>
|
|
237
|
+
<p class="lead">单位除特别注明外为人民币百万元;每股收益单位为人民币元。</p>
|
|
238
|
+
<table>
|
|
239
|
+
<thead><tr><th>项目</th><th class="num">2024</th><th class="num">2023</th><th class="num">2022</th><th class="num">2021</th><th class="num">2020</th></tr></thead>
|
|
240
|
+
<tbody>
|
|
241
|
+
<tr><td>营业收入</td><td class="num">2,937,981</td><td class="num">3,012,812</td><td class="num">3,240,951</td><td class="num">2,615,967</td><td class="num">1,935,523</td></tr>
|
|
242
|
+
<tr><td>经营利润</td><td class="num">233,954</td><td class="num">235,862</td><td class="num">216,888</td><td class="num">161,241</td><td class="num">76,138</td></tr>
|
|
243
|
+
<tr><td>税前利润</td><td class="num">241,508</td><td class="num">237,881</td><td class="num">213,517</td><td class="num">158,308</td><td class="num">56,281</td></tr>
|
|
244
|
+
<tr><td>净利润</td><td class="num">183,755</td><td class="num">180,563</td><td class="num">163,493</td><td class="num">114,658</td><td class="num">33,669</td></tr>
|
|
245
|
+
<tr><td>归属于母公司股东的净利润</td><td class="num">164,684</td><td class="num">161,416</td><td class="num">148,888</td><td class="num">92,129</td><td class="num">19,190</td></tr>
|
|
246
|
+
<tr><td>每股基本及摊薄盈利</td><td class="num">0.90</td><td class="num">0.88</td><td class="num">0.81</td><td class="num">0.50</td><td class="num">0.10</td></tr>
|
|
247
|
+
<tr><td>资产总额</td><td class="num">2,752,751</td><td class="num">2,758,975</td><td class="num">2,676,845</td><td class="num">2,508,762</td><td class="num">2,494,086</td></tr>
|
|
248
|
+
<tr><td>负债总额</td><td class="num">1,043,128</td><td class="num">1,123,679</td><td class="num">1,137,764</td><td class="num">1,098,181</td><td class="num">1,122,737</td></tr>
|
|
249
|
+
<tr><td>经营活动产生的现金流量净额</td><td class="num">406,532</td><td class="num">456,847</td><td class="num">393,246</td><td class="num">341,424</td><td class="num">318,898</td></tr>
|
|
250
|
+
<tr><td>净资产收益率(%)</td><td class="num">10.9</td><td class="num">11.1</td><td class="num">10.9</td><td class="num">7.3</td><td class="num">1.6</td></tr>
|
|
251
|
+
</tbody>
|
|
252
|
+
</table>
|
|
253
|
+
<p class="note">来源:年报第5页“按国际财务报告会计准则编制的主要财务数据”。</p>
|
|
254
|
+
<div class="footer"><span>PetroChina 2024 Annual Report Digest</span><span>4 / 9</span></div>
|
|
255
|
+
</section>
|
|
256
|
+
|
|
257
|
+
<section class="sheet" id="trend">
|
|
258
|
+
<div class="header"><span>中国石油2024年度报告财务摘要</span><span>财务趋势</span></div>
|
|
259
|
+
<span class="section-tag">PART 03</span><h2>多年财务趋势图</h2>
|
|
260
|
+
<div class="card chart"><img src="{img64(trend)}" alt="多年财务趋势图"><div class="cap">图1:营业收入以万亿元展示;利润以亿元展示。静态PNG图嵌入。</div></div>
|
|
261
|
+
<div class="callout">2022年收入达到阶段高点,2023-2024年回落;利润端则保持温和增长,归母净利润从2020年的191.90亿元提升至2024年的1,646.84亿元。</div>
|
|
262
|
+
<div class="footer"><span>PetroChina 2024 Annual Report Digest</span><span>5 / 9</span></div>
|
|
263
|
+
</section>
|
|
264
|
+
|
|
265
|
+
<section class="sheet" id="segments">
|
|
266
|
+
<div class="header"><span>中国石油2024年度报告财务摘要</span><span>业务板块收入</span></div>
|
|
267
|
+
<span class="section-tag">PART 04</span><h2>分业务板块收入明细</h2>
|
|
268
|
+
<p class="lead">年报2024年分部口径:勘探与生产对应“油气和新能源”,天然气与管道对应“天然气销售”。金额单位:人民币亿元。</p>
|
|
269
|
+
<table>
|
|
270
|
+
<thead><tr><th>业务板块(摘要口径)</th><th>年报分部名称</th><th class="num">分部收入</th><th class="num">对外交易收入</th><th class="num">经营利润</th><th class="num">收入同比</th></tr></thead>
|
|
271
|
+
<tbody>
|
|
272
|
+
<tr><td>勘探与生产</td><td>油气和新能源</td><td class="num">9,068.13</td><td class="num">1,548.62</td><td class="num">1,597.45</td><td class="num">+1.3%</td></tr>
|
|
273
|
+
<tr><td>炼油与化工</td><td>炼油化工和新材料</td><td class="num">11,925.89</td><td class="num">3,442.20</td><td class="num">213.86</td><td class="num">-2.3%</td></tr>
|
|
274
|
+
<tr><td>销售</td><td>销售</td><td class="num">24,545.46</td><td class="num">18,784.62</td><td class="num">164.94</td><td class="num">-2.9%</td></tr>
|
|
275
|
+
<tr><td>天然气与管道</td><td>天然气销售</td><td class="num">5,926.90</td><td class="num">5,571.07</td><td class="num">540.10</td><td class="num">+5.6%</td></tr>
|
|
276
|
+
</tbody>
|
|
277
|
+
</table>
|
|
278
|
+
<div class="two">
|
|
279
|
+
<div class="card"><h3>收入结构</h3><p>销售板块分部收入占四大板块合计近一半,体现公司在成品油销售和贸易链条中的规模优势。</p></div>
|
|
280
|
+
<div class="card"><h3>利润贡献</h3><p>勘探与生产利润最高;天然气与管道利润同比增长25.5%,成为2024年业绩改善的重要支撑。</p></div>
|
|
281
|
+
</div>
|
|
282
|
+
<p class="note">来源:年报第23-25页“分部业绩”及第262页“经营分部”。分部收入含内部交易;对外交易收入来自经营分部表。</p>
|
|
283
|
+
<div class="footer"><span>PetroChina 2024 Annual Report Digest</span><span>6 / 9</span></div>
|
|
284
|
+
</section>
|
|
285
|
+
|
|
286
|
+
<section class="sheet" id="donut">
|
|
287
|
+
<div class="header"><span>中国石油2024年度报告财务摘要</span><span>收入结构图</span></div>
|
|
288
|
+
<span class="section-tag">PART 05</span><h2>业务收入环形图</h2>
|
|
289
|
+
<div class="card chart"><img src="{img64(donut)}" alt="业务收入环形图"><div class="cap">图2:按四大板块分部收入口径绘制,未抵销分部间交易。</div></div>
|
|
290
|
+
<div class="callout">若改用“对外交易收入”口径,销售板块占比更高;本页采用分部收入口径,以体现各业务链条经营规模。</div>
|
|
291
|
+
<div class="footer"><span>PetroChina 2024 Annual Report Digest</span><span>7 / 9</span></div>
|
|
292
|
+
</section>
|
|
293
|
+
|
|
294
|
+
<section class="sheet" id="health">
|
|
295
|
+
<div class="header"><span>中国石油2024年度报告财务摘要</span><span>财务健康度</span></div>
|
|
296
|
+
<span class="section-tag">PART 06</span><h2>财务健康度雷达图</h2>
|
|
297
|
+
<div class="two">
|
|
298
|
+
<div class="card chart small"><img src="{img64(radar)}" alt="财务健康度雷达图"><div class="cap">图3:基于2024年核心指标构建的标准化评分。</div></div>
|
|
299
|
+
<div class="card">
|
|
300
|
+
<h3>评分口径</h3>
|
|
301
|
+
<p><span class="pill">规模稳定</span> 2024收入/五年最高收入。</p>
|
|
302
|
+
<p><span class="pill">盈利能力</span> 净利率相对6.5%目标上限。</p>
|
|
303
|
+
<p><span class="pill">ROE效率</span> 2024 ROE/五年最高ROE。</p>
|
|
304
|
+
<p><span class="pill">现金创造</span> 经营现金流/净利润,2倍封顶。</p>
|
|
305
|
+
<p><span class="pill">资本稳健</span> 权益占资产比例相对65%目标上限。</p>
|
|
306
|
+
<p><span class="pill">板块盈利</span> 四大板块经营利润均为正。</p>
|
|
307
|
+
</div>
|
|
308
|
+
</div>
|
|
309
|
+
<div class="callout">2024年公司在现金创造、ROE效率和板块盈利方面表现强;主要压力来自收入规模较2022年高点回落、炼油化工和销售板块利润承压。</div>
|
|
310
|
+
<div class="footer"><span>PetroChina 2024 Annual Report Digest</span><span>8 / 9</span></div>
|
|
311
|
+
</section>
|
|
312
|
+
|
|
313
|
+
<section class="sheet" id="notes">
|
|
314
|
+
<div class="header"><span>中国石油2024年度报告财务摘要</span><span>口径与来源</span></div>
|
|
315
|
+
<span class="section-tag">PART 07</span><h2>口径说明与数据来源</h2>
|
|
316
|
+
<div class="card">
|
|
317
|
+
<h3>数据来源</h3>
|
|
318
|
+
<p>本摘要来自附件《中国石油2024年度报告.pdf》:</p>
|
|
319
|
+
<ul>
|
|
320
|
+
<li>主要财务指标:第5页“按国际财务报告会计准则编制的主要财务数据”。</li>
|
|
321
|
+
<li>分部业绩文字说明:第23-25页“经营情况讨论与分析 — 分部业绩”。</li>
|
|
322
|
+
<li>经营分部收入、对外交易收入、经营利润:第262-263页“合并财务报表附注 — 经营分部”。</li>
|
|
323
|
+
</ul>
|
|
324
|
+
</div>
|
|
325
|
+
<div class="card">
|
|
326
|
+
<h3>重要口径</h3>
|
|
327
|
+
<ul>
|
|
328
|
+
<li>营业收入2024年为2,937,981百万元,即约2.94万亿元;与“约3.03万亿元”的校验标准误差约3.1%,在±5%范围内。</li>
|
|
329
|
+
<li>业务板块名称按用户问题统一为“勘探与生产、炼油与化工、销售、天然气与管道”;年报对应名称分别为“油气和新能源、炼油化工和新材料、销售、天然气销售”。</li>
|
|
330
|
+
<li>图表均为本地生成的静态PNG图片后嵌入HTML,再通过Chromium HTML→PDF渲染。</li>
|
|
331
|
+
</ul>
|
|
332
|
+
</div>
|
|
333
|
+
<div class="source">制作用途:管理层/投资者快速阅读版;本摘要不替代经审计年度报告全文。</div>
|
|
334
|
+
<div class="footer"><span>PetroChina 2024 Annual Report Digest</span><span>9 / 9</span></div>
|
|
335
|
+
</section>
|
|
336
|
+
</body>
|
|
337
|
+
</html>'''
|
|
338
|
+
(out/'petrochina_2024_summary.html').write_text(html, encoding='utf-8')
|
|
339
|
+
manifest = {'financial': financial, 'segments': segments, 'radar_scores': dict(zip(radar_labels, radar_vals))}
|
|
340
|
+
(out/'data_manifest.json').write_text(json.dumps(manifest, ensure_ascii=False, indent=2), encoding='utf-8')
|
|
341
|
+
print(out/'petrochina_2024_summary.html')
|