- 人工智能
- AI 应用
- AI 技能
- CLI
- MCP 服务
【免费下载链接】OfficeCLI
OfficeCLI 是首款也是最佳的专为 AI 代理设计的命令行工具,可用于读取、编辑和自动化处理 Word、Excel 和 PowerPoint 文件。它免费、开源,仅包含一个二进制文件,无需安装 Office 套件。
导读
本文深度拆解 OfficeCLI 的 morph-ppt 技能库中mixed--duotone-split(Duotone Split,双色调分割)这一视觉风格:它以炭黑与赤陶土两种纯色面板在不同比例下分割画布,配合 PowerPoint Morph 过渡产生"画布流动"(shifting canvas)的连续动画效果。读者将掌握该风格完整的配色体系、字体层级、场景元素命名规范、五页式页面结构与可复现的officecli构建命令,并理解其背后的 Morph 形状同名配对机制,从而能够将该设计逻辑迁移到自己的品牌发布会、建筑设计与高端演示场景中。
一、风格定位:什么是 Duotone Split
在 INDEX.md 的 52 种视觉风格索引中,mixed--duotone-split属于Mixed Palette(混合调色板)类别,风格编号为 12,名称为Duotone Split。其核心视觉特征:
- 炭黑与赤陶土双色面板以不同比例分割画布,Morph 过渡产生"shifting canvas"(画布流动)效果;
- 适用场景:品牌发布会、建筑设计、高端演示;
- 情绪基调:大胆(Bold)、建筑感(Architectural)、高端(High-end)、极简(Minimalist);
- 语气手法:双色对比(深暗色 + 暖色)、白色分隔线。
从代码层面看,该风格的本质是:用两个覆盖整个画布的大矩形(rect)+ 一条 0.3cm 宽的白色细矩形作为精确分隔线,通过在不同幻灯片上改变面板的尺寸、位置甚至旋转角度,让 Morph 引擎在两页之间插值出"面板生长、移动、旋转"的连续画面。INDEX.md中记录其主色三元组为#FFFFFF / #2D3436 / #E17055(背景/前景/强调色),与 style.md 中的配色表完全一致。
二、配色体系:三色驱动的双面板结构
该风格整份演示只依赖三个颜色,极简到极致:
| 名称 | Hex | 用途 |
|---|---|---|
| Pure White 纯白 | #FFFFFF | 页面背景、分隔线 |
| Charcoal Gray 炭灰 | #2D3436 | 深色面板 |
| Terracotta 赤陶土 | #E17055 | 暖色面板 |
在 pptx-design.md 的配色原则中,舞台级(morph-stage)演示对对比度有比基础 pptx 更严格的要求:深色背景(亮度 < 128)上正文文字亮度必须 ≥ 80%。#2D3436的亮度约为 62,属于深色背景,因此本风格所有文字均使用纯白#FFFFFF;而#E17055赤陶土亮度约为 88,虽然在直觉上偏"亮",但仍归类为深色背景,同样需要白色文字——这解释了为什么暖色面板上的三栏标题(pillars)也全部使用白色字体。
构建脚本中,三个颜色通过fill属性直接落在形状上:
{"name":"!!panel-dark","preset":"rect","fill":"2D3436", ...}, {"name":"!!panel-warm","preset":"rect","fill":"E17055", ...}, {"name":"!!divider","preset":"rect","fill":"FFFFFF", ...}三、字体层级:Segoe UI Black 与 Light 的二元对比
Duotone Split 的字体体系同样保持极简的二元结构——一个黑体承载标题与数据,一个细体承载正文:
| 元素 | 字体 | 字号 |
|---|---|---|
| 主标题 Main Title | Segoe UI Black | 40–64pt |
| 数据数字 Data Numbers | Segoe UI Black | 48–64pt |
| 栏目标题 Column Title | Segoe UI Black | 28pt |
| 正文/副标题 Body/Subtitle | Segoe UI Light | 16–24pt |
在 build.sh 中可以看到具体应用:Slide 1 的 hero 主标题!!hero-title使用Segoe UI Black、size=54、bold=true,副标题!!hero-subtitle使用Segoe UI Light、size=24;Slide 4 的数据数字(!!stat-*-num)为Segoe UI Black、size=64,数据标签(!!stat-*-label)为Segoe UI Light、size=18;Slide 3 的三栏标题(!!pillar-*)为Segoe UI Black、size=28。
这符合 pptx-design.md 中"舞台级字号整体比基础 pptx 大一档"的规则(hero 标题 54–72pt、正文 18–24pt)——Morph 演示通常在大屏/投影仪环境观看,字重比字体选择更重要。
四、设计技法:面板分割与 Morph 编排
style.md 归纳了该风格的六项核心设计技法,它们共同构成"shifting canvas"的视觉机理:
- 双面板分割(Dual-panel split):两个大矩形
!!panel-dark与!!panel-warm覆盖整个画布(33.87 × 19.05cm),以不同比例分割; - 白色分隔线(White divider line):0.3cm 宽的白色矩形作为两块面板之间的精确分隔线;
- 分割比例变化(Split proportion changes):S1 左右 50/50 → S2 上下 70/30 → S3 左右 30/70 → S4 对角旋转 → S5 上下 80/20;
- Morph 编排(Morph choreography):面板尺寸与位置的大幅变化产生"画布流动"效果,分隔线跟随面板移动;
- 旋转变化(Rotation variation):S4 面板旋转 -8 度,打破正交布局以增加动感;
- 克制装饰(Restrained decoration):全片仅 2 个半透明圆点 + 1 条超细线,维持极简主义。
4.1 面板几何与坐标计算
从 build.sh 可以精确复现每一页的分割几何(画布为 33.87 × 19.05cm,INDEX.md也提醒该坐标针对 demo 内容手工调校,复用时应按自己的网格数学重新计算):
| 幻灯片 | 分割方向 | 深色面板 | 分隔线 | 暖色面板 |
|---|---|---|---|---|
| S1 | 左右 50/50 | 0,0 → 16.63×19.05 | 16.63,0 → 0.3×19.05 | 16.93,0 → 16.94×19.05 |
| S2 | 上下 70/30 | 0,0 → 33.87×13.04 | 0,13.04 → 33.87×0.3 | 0,13.34 → 33.87×5.71 |
| S3 | 左右 30/70 | 0,0 → 10.16×19.05 | 10.16,0 → 0.3×19.05 | 10.46,0 → 23.41×19.05 |
| S4 | 对角旋转 | 0,0 → 28×19.05, rotation=-8 | 8,3 → 0.3×22, rotation=-8 | 10,6 → 28×18, rotation=-8 |
| S5 | 上下 80/20 | 0,0 → 33.87×15.24, rotation=0 | 0,15.24 → 33.87×0.3, rotation=0 | 0,15.54 → 33.87×3.51, rotation=0 |
注意细节:S1 中深色面板宽度 16.63cm + 分隔线 0.3cm + 暖色面板宽度 16.94cm = 33.87cm,精确铺满整张画布;S2 中深色 13.04 + 分隔线 0.3 + 暖色 5.71 = 19.05cm,纵向同样铺满。S5 的rotation=0明确将面板从 S4 的 -8° 旋转复位回正交状态,Morph 会沿最短弧线插值旋转角度。
4.2 Morph 编排的本质:同名配对
根据 SKILL.md 的说明,PowerPoint 的 Morph 过渡通过相邻幻灯片之间完全一致的形状name=来配对,并插值两者的位置/尺寸/旋转/填充/透明度——没有匹配的名字就没有动画,只会静默淡入淡出。Duotone Split 正是这一机制的教科书式应用:!!panel-dark等场景演员(Scene Actors)在 S1–S5 每页都存在且名字完全一致,只是几何属性不同,因此 Morph 能"看到"面板从左右分割流动到上下分割。
空间变化规则同样在起作用:SKILL.md 要求相邻幻灯片之间至少 3 个配对形状位移 ≥ 5cm 或旋转 ≥ 15°,否则 Morph 无物可插值、退化为淡入淡出。本风格中!!panel-dark从 S1 的 16.63cm 宽扩张到 S2 的 33.87cm 宽(尺寸变化远大于 30%),S3 再收缩到 10.16cm,S4 旋转 -8°,S5 复位并扩大到 33.87×15.24cm——每一对相邻页面的面板都有肉眼可辨的巨大几何变化。
五、场景元素:六个!!命名演员的职责分工
style.md 将全部装饰/结构形状定义为六个场景演员(Scene Actor),它们全部使用!!前缀命名,遵循 SKILL.md 的三前缀命名体系(!!scene-*全片持久、!!actor-*跨节演进、#sN-*单页内容):
| 名称 | 类型 | 描述 |
|---|---|---|
!!panel-dark | rect | 炭黑主面板 |
!!panel-warm | rect | 赤陶土暖色面板 |
!!divider | rect (0.3cm) | 白色面板分隔线 |
!!accent-dot-1 | ellipse | 白色半透明装饰圆点 |
!!accent-dot-2 | ellipse | 赤陶土半透明装饰圆点 |
!!accent-line | rect (超细) | 白色半透明装饰线 |
从 build.sh 的 Slide 1 定义可以看到每个演员的初始属性(也印证了"克制装饰"原则——装饰元素极少且透明度刻意压低,避免与内容争抢视觉焦点):
{"name":"!!accent-dot-1","preset":"ellipse","fill":"FFFFFF", "x":"2cm","y":"13cm","width":"3cm","height":"3cm","opacity":"0.15"}, {"name":"!!accent-dot-2","preset":"ellipse","fill":"E17055", "x":"12cm","y":"1cm","width":"2cm","height":"2cm","opacity":"0.3"}, {"name":"!!accent-line","preset":"rect","fill":"FFFFFF", "x":"1.2cm","y":"11cm","width":"8cm","height":"0.08cm","opacity":"0.4"}透明度数值符合 pptx-design.md 的分层规则:≤ 0.12为整片装饰(本风格未用到)、0.3–0.6为数据/证据背景块、0.8–1.0保留给承载内容的演员。这里两个圆点分别为 0.15/0.3,装饰线 0.4,面板本体 1.0——即"面板是舞台,圆点是氛围"。
此外,Slide 1 还预先定义了大量占位演员:!!hero-title、!!hero-subtitle、!!body-text、!!stat-1-num~!!stat-3-label、!!pillar-1~!!pillar-3、!!cta-text。这些形状在 Slide 1 上初始位于画布之外(x=36cm或更远,这是 SKILL.md 规定的 ghost 位置),当后续页面需要它们时,通过set命令将它们移回画布并填充文字——这是 morph 技能中"克隆幻灯片 + 按需显隐"的标准做法,也保证了同名演员在每页持续存在、Morph 配对不断裂。
六、五页页面结构:一条完整的叙事动线
style.md 定义的五页结构遵循hero → statement → pillars → evidence → cta的标准叙事弧线(对应 decision-rules.md 中problem_solution叙事结构,也是品牌发布会常用的动线):
| 幻灯片 | 类型 | 元素与布局 | 描述 |
|---|---|---|---|
| S1 | hero | 封面 — 左右 50/50 分割,标题在深色面板上 | 开场建立双面板结构 |
| S2 | statement | 宣言 — 上下 70/30 分割(深色占上方 70%),居中大标题 | 承上启下 |
| S3 | pillars | 三栏 — 左右 30/70(窄深色左栏 + 宽暖色右栏),三栏内容在暖色面板上 | 结构展开 |
| S4 | evidence | 数据 — 面板旋转 -8° 形成对角分割,数据散布在双面板上 | 数据论证 |
| S5 | cta | 收尾 — 上下 80/20(深色占上方 80%),居中行动号召 | 收束全片 |
6.1 S1 hero:建立全部 6 个场景演员
build.sh 首先创建空白背景(background=FFFFFF)的画布,然后通过一次officecli batch批量添加 6 个场景演员与占位文本演员,主标题落在深色面板上(x=1.2cm, y=3cm, width=14cm),副标题紧随其后。style.md 建议读者重点阅读 S1,因为它呈现了 6 个场景演员的初始布局,是理解"面板 + 分隔线结构"的关键。
6.2 S2 statement:分割方向翻转
克隆后的 S2 通过set命令将 shape[1](深色面板)改为上方全宽、shape[2](暖色面板)改为下方窄条、shape[3](分隔线)改为横向 0.3cm 细条,分割从"左右"翻转为"上下"。标题!!hero-title原地放大到size=64并居中,字号跨页从 54pt 到 64pt 的变化本身也构成 Morph 插值的一部分。
6.3 S3 pillars:深色收缩、暖色扩张
S3 中深色面板收缩到左侧 30%(10.16cm 宽),暖色面板扩张到右侧 70%(23.41cm 宽),形成"窄深色左栏 + 宽暖色右栏"。左栏承载栏目标题"Our Pillars"与副标题,右栏通过 shape[16]–shape[18] 布置三栏内容(Concept / Build / Live,size=28)。这里注意:三栏文本形状在 S1 中已作为!!pillar-*占位预置,S3 通过索引路径shape[16]等直接 set 文本与位置——这正是 SKILL.md 中"先规划所有!!名称、再开始构建"的规划纪律。
6.4 S4 evidence:对角分割与旋转
S4 是 style.md 建议重点阅读的第二页,也是全片视觉高潮:三个面板形状统一rotation=-8,深色面板覆盖左上约 60%、暖色面板覆盖右下约 40%、分隔线跟随旋转成为一条斜向白色细线,正交布局被彻底打破。数据以"大数字 + 小标签"的对(85 Projects / 12 Countries / 3 Pritzker Nominations)散布在两块面板上。!rotation属性由 morph 引擎沿最短弧线插值,-8° 的旋转让页面从"理性分割"切换为"动态切割",同时因 S5 复位为 0°,S4→S5 又是一次可见的旋转动画。
6.5 S5 cta:深色 80% 收束
最终页深色面板扩张为全宽 80%(15.24cm 高),暖色收缩为底部 3.51cm 的强调条,S4 遗留的数据/占位形状(shape[10]–shape[18])全部移回x=36cm以外的画布外区域(即 ghost 操作),避免 5b-morph-4 检查中的#sN-*残留问题。行动号召"See Our Work"以size=64居中呈现,副标题为邮箱联系方式,完成从结构到呼吁的收束。
七、构建实现:从克隆到交付的完整命令链
build.sh 展示了完整的可复现构建流程,核心分四步:
7.1 创建画布与批量添加场景演员
officecli create "$DECK" officecli add "$DECK" '/' --type slide --prop layout=blank --prop background=FFFFFF echo '[ ... 6 个场景演员 + 占位文本演员的 JSON ... ]' | officecli batch "$DECK"使用officecli batch以 JSON 数组批量提交add命令,比逐条命令更高效,且 heredoc 传 JSON 可规避 shell 对!!、#、$的展开问题(SKILL.md 明确规定!!必须单引号包裹或走 batch heredoc)。
7.2 克隆幻灯片并设置 Morph 过渡
officecli add "$DECK" '/' --from '/slide[1]' && # 重复 4 次,得到 S2–S5 ... echo '[ {"command":"set","path":"/slide[2]","props":{"transition":"morph"}}, ... ]' | officecli batch "$DECK"这是本风格最优雅的实现手法:S2–S5 全部由 S1 克隆而来,因此 6 个场景演员的名字天然一致、索引顺序完全对齐,后续只需用set修改几何属性即可驱动 Morph。transition=morph只设置在 S2–S5 上(S1 不需要,因为它是动画的起点)。注意 SKILL.md 的说明:CLI 会在应用transition=morph后给该页所有形状名自动加!!前缀,但@name=路径选择器仍能正常解析(M-1 已知问题)。
7.3 逐页调整几何与文本
每页通过一次set批处理完成:先是 shape[1]/[2]/[3](三块面板与分隔线)的新几何,再是 shape[4]/[5]/[6](装饰圆点与装饰线)的新位置与透明度,最后是内容形状的文本与位置。这种"先结构、后装饰、再内容"的 set 顺序,保证了 Morph 配对形状的属性变更完整且可控。
7.4 验证与交付
python3 "$(dirname "$0")/../../morph-helpers.py" final-check "$DECK"final-check是 morph-helpers.py 提供的结构校验工具,会统计所有x ≥ 34cm的 ghost 形状数量——若超过 50 个会判定为 M-2 幽灵积累(ghost accumulation)并 REJECT。SKILL.md 同时强调,final-check无法发现"!!形状残留在可见区域"的问题,必须配合 Gate 5b-morph-1..4 的四个officecli get --json+ jq 循环做最终审核;而 Morph 动画本身只能在 PowerPoint 365 / Keynote / WPS 中运行时验证,LibreOffice 与网页查看器只会呈现静态或淡入淡出(属于[RENDERER-BUG],并非技能缺陷)。
八、迁移到自有项目:学习设计逻辑而非照抄坐标
INDEX.md与 SKILL.md 反复强调:52 种风格的build.sh是设计技巧参考(配色、标志性形状、Morph 编排),坐标是为 demo 内容手工调校的,直接照搬到自己不同长度的内容中会造成重叠与错位。正确姿势是"四步查找法":
- 浏览 INDEX:INDEX.md 的 Quick Lookup 表按使用场景归类样式——品牌发布会 / 建筑设计 / 艺术类可直接定位到
mixed--duotone-split,其主色三元组#FFFFFF / #2D3436 / #E17055也可用于快速匹配用户指定的品牌色; - 读取设计哲学:打开 style.md 理解配色逻辑、字体配对与标志性元素;
- 参考实现技巧:仅在需要时查看 build.sh 学习面板几何、克隆手法与 Morph 编排思路;
- 在自己的画布上重建:用 SKILL.md 的网格数学(33.87 × 19.05cm、边距 ≥ 1.27cm、块间距 ≥ 0.76cm)重新计算坐标,只借用调色板与标志性手势。
若需复刻"面板流动"的 Morph 效果,最低要求是:S2+ 每页设置transition=morph、场景演员跨页使用完全相同的!!名称、每页至少 3 个配对形状的几何差异达到位移 ≥ 5cm / 旋转 ≥ 15° / 尺寸变化 ≥ 30%、上一页的单页内容(#sN-*)在下一页 ghost 到x=36cm。参考成品文件 mixed__duotone_split.pptx 可直接在 PowerPoint 365 / Keynote / WPS 中观察完整的动画效果。
九、总结
Duotone Split 是 morph 技能库中"极简双色 + 大幅几何运动"的典型代表:三色配色、Segoe UI Black/Light 二元字体、6 个!!场景演员、五页渐进式分割比例,共同构成一套克制而高端的舞台级演示语言。它的构建脚本同时演示了 OfficeCLI 的三个核心工作流——batch 批量命令、--from幻灯片克隆、transition=morph跨页动画——是学习"以 Morph 为叙事引擎"的形态最佳入门样本之一。
- 人工智能
- AI 应用
- AI 技能
- CLI
- MCP 服务
【免费下载链接】OfficeCLI
OfficeCLI 是首款也是最佳的专为 AI 代理设计的命令行工具,可用于读取、编辑和自动化处理 Word、Excel 和 PowerPoint 文件。它免费、开源,仅包含一个二进制文件,无需安装 Office 套件。
相关推荐
OfficeCLI Morph-PPT 风格实战:warm--earth-organic 大地色系有机叙事型幻灯片设计
OfficeCLI Morph PPT 风格实战:warm earth organic 大地色系有机叙事型幻灯片设计 导读 本文是 OfficeCLI 的 mo
人工智能AI 应用AI 技能CLIMCP 服务OfficeCLI Morph-PPT 深海军蓝风格(dark--premium-navy)设计规范与实现指南
OfficeCLI Morph PPT 深海军蓝风格(dark premium navy)设计规范与实现指南 本篇技术指南以 OfficeCLI 仓库中 mor
人工智能AI 应用AI 技能CLIMCP 服务OfficeCLI morph-ppt 风格实战:Pink Editorial — Gradient Stats 数据编辑风渐变统计演示文稿设计指南
OfficeCLI morph ppt 风格实战:Pink Editorial — Gradient Stats 数据编辑风渐变统计演示文稿设计指南 本文是 i
人工智能AI 应用AI 技能CLIMCP 服务
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考