dsh-ppt 0.7.0 → 0.8.1
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/CHANGELOG.md +114 -91
- package/LICENSE +21 -21
- package/README.en.md +42 -219
- package/README.md +42 -234
- package/cordis.patch.yml +19 -19
- package/docs/CHANGELOG.en.md +29 -0
- package/docs/FEATURE-PLAN-2026-10-01.md +50 -50
- package/docs/LIBREOFFICE-INTEGRATION-2026-10-01.md +69 -69
- package/docs/USAGE.en.md +194 -0
- package/docs/USAGE.md +209 -0
- package/docs/VALIDATION.md +17 -0
- package/docs/validation/0.8.0.md +10 -0
- package/docs/validation-language-2026-10-03.md +16 -0
- package/lib/client.js +304 -0
- package/lib/execution.d.ts +1 -0
- package/lib/execution.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +15 -1
- package/lib/tools.js +2 -1
- package/lib/types.d.ts +1 -0
- package/lib/workbench-language.d.ts +4 -0
- package/lib/workbench-language.js +65 -0
- package/lib/workbench.d.ts +32 -0
- package/lib/workbench.js +270 -0
- package/package.json +91 -84
- package/skills/dsh-ppt/SKILL.md +74 -74
- package/skills/dsh-ppt/package.json +10 -10
- package/skills/dsh-ppt/references/advanced.md +39 -39
- package/skills/dsh-ppt/references/copywriting.md +59 -59
- package/skills/dsh-ppt/references/syntax.md +44 -44
- package/skills/dsh-ppt/references/themes.md +61 -61
- package/skills/dsh-ppt/references/troubleshooting.md +19 -19
- package/skills/dsh-ppt/scripts/build-deck.mjs +184 -184
- package/skills/dsh-ppt/scripts/deck-advanced.mjs +468 -456
- package/skills/dsh-ppt/scripts/deck-core.mjs +2347 -2347
- package/skills/dsh-ppt/scripts/deck-media.mjs +160 -160
- package/skills/dsh-ppt/scripts/deck-render.mjs +270 -236
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
# 图文、图表、工程编辑与渲染
|
|
2
|
-
|
|
3
|
-
Agent 先准备实际内容,再生成可放映 HTML 与可编辑 PPTX。用户无需填写 JSON。以下是工具接口参考。
|
|
4
|
-
|
|
5
|
-
## 创建
|
|
6
|
-
|
|
7
|
-
`ppt_templates` 提供 weekly、defense、project、pitch 四种结构参考。`ppt_create` 的 `template` 单独使用时生成待填草稿,返回 `deliveryStatus:draft`;提供完成的 content/slides 才能开始成品验收。
|
|
8
|
-
|
|
9
|
-
`slides` 新增 image/image-left/image-right/chart 布局。图片示例:`{layout:"image-left",title:"新版流程更短",image:{src:"assets/flow.png",alt:"新版流程截图",fit:"contain"},bullets:["可直接生成","可修改指定页"]}`。PNG/JPEG 本地路径按会话 cwd 解析,亦支持 data URI;每张5MiB/3200万像素、合计32MiB。图片嵌入工程和输出,移动原文件后仍可使用。contain完整显示,cover居中裁切。外链/SVG需先由明确授权的其他工具准备,不自动下载。
|
|
10
|
-
|
|
11
|
-
图表示例:`{layout:"chart",title:"完成量逐月增加",chart:{kind:"column",categories:["七月","八月","九月"],series:[{name:"完成量",values:[3,5,9]}],unit:"项"}}`。支持 column/bar/line/pie,也可用带表头 rows。长度必须一致,值必须有限;pie仅一个非负系列、正总和。原生PPTX图表包含编辑数据工作簿,HTML有SVG与读屏数据表。
|
|
12
|
-
|
|
13
|
-
共享品牌 `brand:{primaryColor:"#2C9F87",fontFamily:"Microsoft YaHei",logo:"logo.png",footer:"产品团队 · 2026"}`。还可设背景/文字色及name。选择接收方可用字体;字体诊断不自动安装字体。
|
|
14
|
-
|
|
15
|
-
## 修改与撤销
|
|
16
|
-
|
|
17
|
-
先 `ppt_check {deckPath:"report.json"}` 取得当前revision和页面ID。修改:`ppt_edit {deckPath:"report.json",expectedRevision:0,edits:[{slide:3,patch:{title:"新标题",bullets:["事实一","行动"]}}]}`。slide为1起始页码或ID,其他页保留;重复指定页拒绝。可单独修改brand;brand:null清空品牌,logo:null清空Logo,空footer清空页脚。
|
|
18
|
-
|
|
19
|
-
编辑会原子更新整套HTML/PPTX/JSON,失败回滚。历史最多20次。`ppt_undo {deckPath:"report.json",expectedRevision:1}` 恢复上次状态,包含图片/图表/品牌;revision继续增长,旧修改不可覆盖撤销。仅编辑本插件JSON工程,不导入任意外部PPTX进行修改。编辑不能新增/删除页;表格扩大到需要分页时会要求另建文稿。
|
|
20
|
-
|
|
21
|
-
## 检查与渲染
|
|
22
|
-
|
|
23
|
-
`ppt_check` 定位页面问题,包括密度、估计溢出、7–8列表格14pt、图片缺失/损坏/分辨率、图表标签和对比度。6列以内原生表格17pt。静态估算不能保证字体或视觉布局。
|
|
24
|
-
|
|
25
|
-
可选安装 `npm install --ignore-scripts @deepseek-ai/libreoffice-kit@0.1.
|
|
26
|
-
|
|
27
|
-
查看每页PNG及HTML,必要时在实际PowerPoint/WPS检查编辑、备注和动画。LibreOffice不保证与Office逐像素一致,PNG/PDF不保留动画。成功渲染仍为 `visual:not-verified`,不会自动声称视觉通过。
|
|
28
|
-
|
|
29
|
-
把返回receiptPath传给 `ppt_check {deckPath:"report.json",renderReceipt:".../render-receipt.json"}`。源文件与所有输出的摘要必须匹配;修改/删除后失效,重新渲染。收据是本地完整性记录,非签名证明。
|
|
30
|
-
|
|
31
|
-
## CLI
|
|
32
|
-
|
|
33
|
-
`--slides @slides.json`、`--brand @brand.json`、`--template weekly`。
|
|
34
|
-
|
|
35
|
-
`--edit report.json --edits @edits.json --revision 0`、`--undo report.json --revision 1`。
|
|
36
|
-
|
|
37
|
-
`--check report.json`、`--render report.pptx --format both`、`--check report.json --render-receipt receipt.json`。
|
|
38
|
-
|
|
39
|
-
默认渲染目录在PPTX旁;显式 `--out` 指定基目录,已有目录追加后缀。引擎不可用/静态错误/显式收据失效返回非零退出码。
|
|
1
|
+
# 图文、图表、工程编辑与渲染
|
|
2
|
+
|
|
3
|
+
Agent 先准备实际内容,再生成可放映 HTML 与可编辑 PPTX。用户无需填写 JSON。以下是工具接口参考。
|
|
4
|
+
|
|
5
|
+
## 创建
|
|
6
|
+
|
|
7
|
+
`ppt_templates` 提供 weekly、defense、project、pitch 四种结构参考。`ppt_create` 的 `template` 单独使用时生成待填草稿,返回 `deliveryStatus:draft`;提供完成的 content/slides 才能开始成品验收。
|
|
8
|
+
|
|
9
|
+
`slides` 新增 image/image-left/image-right/chart 布局。图片示例:`{layout:"image-left",title:"新版流程更短",image:{src:"assets/flow.png",alt:"新版流程截图",fit:"contain"},bullets:["可直接生成","可修改指定页"]}`。PNG/JPEG 本地路径按会话 cwd 解析,亦支持 data URI;每张5MiB/3200万像素、合计32MiB。图片嵌入工程和输出,移动原文件后仍可使用。contain完整显示,cover居中裁切。外链/SVG需先由明确授权的其他工具准备,不自动下载。
|
|
10
|
+
|
|
11
|
+
图表示例:`{layout:"chart",title:"完成量逐月增加",chart:{kind:"column",categories:["七月","八月","九月"],series:[{name:"完成量",values:[3,5,9]}],unit:"项"}}`。支持 column/bar/line/pie,也可用带表头 rows。长度必须一致,值必须有限;pie仅一个非负系列、正总和。原生PPTX图表包含编辑数据工作簿,HTML有SVG与读屏数据表。
|
|
12
|
+
|
|
13
|
+
共享品牌 `brand:{primaryColor:"#2C9F87",fontFamily:"Microsoft YaHei",logo:"logo.png",footer:"产品团队 · 2026"}`。还可设背景/文字色及name。选择接收方可用字体;字体诊断不自动安装字体。
|
|
14
|
+
|
|
15
|
+
## 修改与撤销
|
|
16
|
+
|
|
17
|
+
先 `ppt_check {deckPath:"report.json"}` 取得当前revision和页面ID。修改:`ppt_edit {deckPath:"report.json",expectedRevision:0,edits:[{slide:3,patch:{title:"新标题",bullets:["事实一","行动"]}}]}`。slide为1起始页码或ID,其他页保留;重复指定页拒绝。可单独修改brand;brand:null清空品牌,logo:null清空Logo,空footer清空页脚。
|
|
18
|
+
|
|
19
|
+
编辑会原子更新整套HTML/PPTX/JSON,失败回滚。历史最多20次。`ppt_undo {deckPath:"report.json",expectedRevision:1}` 恢复上次状态,包含图片/图表/品牌;revision继续增长,旧修改不可覆盖撤销。仅编辑本插件JSON工程,不导入任意外部PPTX进行修改。编辑不能新增/删除页;表格扩大到需要分页时会要求另建文稿。
|
|
20
|
+
|
|
21
|
+
## 检查与渲染
|
|
22
|
+
|
|
23
|
+
`ppt_check` 定位页面问题,包括密度、估计溢出、7–8列表格14pt、图片缺失/损坏/分辨率、图表标签和对比度。6列以内原生表格17pt。静态估算不能保证字体或视觉布局。
|
|
24
|
+
|
|
25
|
+
可选安装 `npm install --ignore-scripts @deepseek-ai/libreoffice-kit@0.1.5`。Windows还需相应架构的VC++v14运行库。`ppt_render {pptxPath:"report.pptx",format:"both"}` 读取最终PPTX,输出PNG/PDF/收据,不改源文件。默认png,width默认1440(320–3840),timeoutMs默认120000(1000–300000);最多120页,输入64MiB、输出128MiB、单张16MP。缺失引擎返回unavailable及安装说明,普通创建仍可用。
|
|
26
|
+
|
|
27
|
+
查看每页PNG及HTML,必要时在实际PowerPoint/WPS检查编辑、备注和动画。LibreOffice不保证与Office逐像素一致,PNG/PDF不保留动画。成功渲染仍为 `visual:not-verified`,不会自动声称视觉通过。
|
|
28
|
+
|
|
29
|
+
把返回receiptPath传给 `ppt_check {deckPath:"report.json",renderReceipt:".../render-receipt.json"}`。源文件与所有输出的摘要必须匹配;修改/删除后失效,重新渲染。收据是本地完整性记录,非签名证明。
|
|
30
|
+
|
|
31
|
+
## CLI
|
|
32
|
+
|
|
33
|
+
`--slides @slides.json`、`--brand @brand.json`、`--template weekly`。
|
|
34
|
+
|
|
35
|
+
`--edit report.json --edits @edits.json --revision 0`、`--undo report.json --revision 1`。
|
|
36
|
+
|
|
37
|
+
`--check report.json`、`--render report.pptx --format both`、`--check report.json --render-receipt receipt.json`。
|
|
38
|
+
|
|
39
|
+
默认渲染目录在PPTX旁;显式 `--out` 指定基目录,已有目录追加后缀。引擎不可用/静态错误/显式收据失效返回非零退出码。
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
# dsh-ppt 幻灯片写作规则(中英双语)
|
|
2
|
-
|
|
3
|
-
## 结构模板
|
|
4
|
-
|
|
5
|
-
任何 deck 都遵循同一叙事骨架:
|
|
6
|
-
|
|
7
|
-
1. **封面**:标题(判断句或名词短语 + 价值承诺)+ 副标题(一句话定位)。
|
|
8
|
-
2. **背景/问题**:现状 → 痛点 → 为什么现在。
|
|
9
|
-
3. **方案/论点**:每个论点一页,先结论后理由。
|
|
10
|
-
4. **证据/案例**:数字、对比、客户/数据点。
|
|
11
|
-
5. **行动号召**:希望听众下一步做什么。
|
|
12
|
-
6. **结束页**:谢谢 + 联系方式或 CTA 重复。
|
|
13
|
-
|
|
14
|
-
一句话输入的最小完整结构:封面 → 核心观点页 → 结束页。
|
|
15
|
-
|
|
16
|
-
## 单页规则
|
|
17
|
-
|
|
18
|
-
- 一个页面只讲一个观点。
|
|
19
|
-
- 标题是完整的判断句,例如「AI 客服把首响时间压缩到 8 秒」,而不是「关于客服」。
|
|
20
|
-
- bullets 1–8 条,中文每条 ≤ 20 字,英文每条 ≤ 12 词。
|
|
21
|
-
- 优先使用数字、对比、动词;避免「赋能、抓手、闭环」等空词。
|
|
22
|
-
- 最后一页要给出可执行的 CTA,不是只写「谢谢」。
|
|
23
|
-
|
|
24
|
-
## 双语规则
|
|
25
|
-
|
|
26
|
-
- 插件 `lang` 参数只控制界面(页码/标签/结束页默认文案);**内容双语由写作阶段完成**。
|
|
27
|
-
- 双语 deck 推荐两种做法:
|
|
28
|
-
1. 同一页内:中文标题 + 英文副标题;bullets 中文为主,关键词括号英文。
|
|
29
|
-
2. 两份 deck:同一大纲分别以 `zh` 与 `en` 生成,主题保持一致。
|
|
30
|
-
- 英文标题用 Title Case;术语首现给中文+英文,如「检索增强生成(RAG)」。
|
|
31
|
-
- 双语时不要逐句直译,按目标语言习惯重写。
|
|
32
|
-
|
|
33
|
-
## Markdown 与结构化输入
|
|
34
|
-
|
|
35
|
-
解析规则、表格/金句/备注语法与结构化 `slides` JSON 见 `syntax.md`。
|
|
36
|
-
|
|
37
|
-
## 示例
|
|
38
|
-
|
|
39
|
-
输入:
|
|
40
|
-
|
|
41
|
-
```markdown
|
|
42
|
-
# 让会议少一半
|
|
43
|
-
|
|
44
|
-
用异步决策替代同步例会。
|
|
45
|
-
|
|
46
|
-
## 问题
|
|
47
|
-
- 工程师每周 6 小时在例会上
|
|
48
|
-
- 决策没有记录,反复讨论
|
|
49
|
-
|
|
50
|
-
## 方案
|
|
51
|
-
- 会前异步文档 + 24h 评论期
|
|
52
|
-
- 只有分歧项才开会
|
|
53
|
-
|
|
54
|
-
## 效果
|
|
55
|
-
- 周会从 4 次降到 1 次
|
|
56
|
-
- 决策记录 100% 沉淀
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
产出:封面 → 问题 → 方案 → 效果 → 结束页,共 5 页,主题可选 `swiss`(数据/效率)或 `soft`(团队协作)。
|
|
1
|
+
# dsh-ppt 幻灯片写作规则(中英双语)
|
|
2
|
+
|
|
3
|
+
## 结构模板
|
|
4
|
+
|
|
5
|
+
任何 deck 都遵循同一叙事骨架:
|
|
6
|
+
|
|
7
|
+
1. **封面**:标题(判断句或名词短语 + 价值承诺)+ 副标题(一句话定位)。
|
|
8
|
+
2. **背景/问题**:现状 → 痛点 → 为什么现在。
|
|
9
|
+
3. **方案/论点**:每个论点一页,先结论后理由。
|
|
10
|
+
4. **证据/案例**:数字、对比、客户/数据点。
|
|
11
|
+
5. **行动号召**:希望听众下一步做什么。
|
|
12
|
+
6. **结束页**:谢谢 + 联系方式或 CTA 重复。
|
|
13
|
+
|
|
14
|
+
一句话输入的最小完整结构:封面 → 核心观点页 → 结束页。
|
|
15
|
+
|
|
16
|
+
## 单页规则
|
|
17
|
+
|
|
18
|
+
- 一个页面只讲一个观点。
|
|
19
|
+
- 标题是完整的判断句,例如「AI 客服把首响时间压缩到 8 秒」,而不是「关于客服」。
|
|
20
|
+
- bullets 1–8 条,中文每条 ≤ 20 字,英文每条 ≤ 12 词。
|
|
21
|
+
- 优先使用数字、对比、动词;避免「赋能、抓手、闭环」等空词。
|
|
22
|
+
- 最后一页要给出可执行的 CTA,不是只写「谢谢」。
|
|
23
|
+
|
|
24
|
+
## 双语规则
|
|
25
|
+
|
|
26
|
+
- 插件 `lang` 参数只控制界面(页码/标签/结束页默认文案);**内容双语由写作阶段完成**。
|
|
27
|
+
- 双语 deck 推荐两种做法:
|
|
28
|
+
1. 同一页内:中文标题 + 英文副标题;bullets 中文为主,关键词括号英文。
|
|
29
|
+
2. 两份 deck:同一大纲分别以 `zh` 与 `en` 生成,主题保持一致。
|
|
30
|
+
- 英文标题用 Title Case;术语首现给中文+英文,如「检索增强生成(RAG)」。
|
|
31
|
+
- 双语时不要逐句直译,按目标语言习惯重写。
|
|
32
|
+
|
|
33
|
+
## Markdown 与结构化输入
|
|
34
|
+
|
|
35
|
+
解析规则、表格/金句/备注语法与结构化 `slides` JSON 见 `syntax.md`。
|
|
36
|
+
|
|
37
|
+
## 示例
|
|
38
|
+
|
|
39
|
+
输入:
|
|
40
|
+
|
|
41
|
+
```markdown
|
|
42
|
+
# 让会议少一半
|
|
43
|
+
|
|
44
|
+
用异步决策替代同步例会。
|
|
45
|
+
|
|
46
|
+
## 问题
|
|
47
|
+
- 工程师每周 6 小时在例会上
|
|
48
|
+
- 决策没有记录,反复讨论
|
|
49
|
+
|
|
50
|
+
## 方案
|
|
51
|
+
- 会前异步文档 + 24h 评论期
|
|
52
|
+
- 只有分歧项才开会
|
|
53
|
+
|
|
54
|
+
## 效果
|
|
55
|
+
- 周会从 4 次降到 1 次
|
|
56
|
+
- 决策记录 100% 沉淀
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
产出:封面 → 问题 → 方案 → 效果 → 结束页,共 5 页,主题可选 `swiss`(数据/效率)或 `soft`(团队协作)。
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
# dsh-ppt 输入语法参考(Markdown / 结构化 slides / 动效)
|
|
2
|
-
|
|
3
|
-
只在需要查具体语法时读本文件;常规流程在 SKILL.md。
|
|
4
|
-
|
|
5
|
-
## Markdown 解析规则
|
|
6
|
-
|
|
7
|
-
`ppt_create` 与 `build-deck.mjs` 按以下规则解析 Markdown:
|
|
8
|
-
|
|
9
|
-
- 第一个 `# 标题` 会成为封面标题;其后的段落/列表成为封面副标题来源。
|
|
10
|
-
- 每个 `## 小节`(或更深标题)生成一页:
|
|
11
|
-
- 有 `- ` / `* ` / `1.` 列表 → `bullets` 页;
|
|
12
|
-
- 无列表且无正文 → `section` 过渡页;
|
|
13
|
-
- 有正文段落 → 正文拆句后作为 bullets。
|
|
14
|
-
- 没有标题的纯文本:第一段第一句为封面副标题,后续段落按 5 句一组拆成要点页。
|
|
15
|
-
- 只有一句话:自动生成「封面 → 核心观点 → 结束页」三页。
|
|
16
|
-
- 需要更精细控制时使用结构化 `slides` JSON,不要和 Markdown 混用。
|
|
17
|
-
|
|
18
|
-
## 进阶语法(自动识别)
|
|
19
|
-
|
|
20
|
-
- **表格**:`| 列 | 列 |` 连续行(第二行 `| --- | --- |` 分隔线)→ 独立 `table` 页(主题色表头;每页 8 行数据,长表格自动续页并重复表头;最多 8 列、每格 60 字符,超限先报错)。数据对比优先用表格,别堆要点。
|
|
21
|
-
- **金句**:`>` 引用块 → 独立 `quote` 页;最后一行写 `—— 出处` 会成为署名。
|
|
22
|
-
- **演讲者备注**:`<!-- 备注: 这页要讲的内容 -->`(或 `<!-- note: ... -->`)附着到该页。备注不进正文:HTML 放映按 `S` 呼出备注面板,PPTX 写入原生备注(演示者视图可见)。为汇报/演讲类 deck 主动写备注(口径、数据出处、应答预案)。
|
|
23
|
-
|
|
24
|
-
## 结构化 slides(高级用法)
|
|
25
|
-
|
|
26
|
-
`ppt_create` 的 `slides` 与 CLI `--slides` 接受 JSON 数组:
|
|
27
|
-
|
|
28
|
-
```json
|
|
29
|
-
[
|
|
30
|
-
{ "layout": "cover", "title": "标题", "subtitle": "副标题", "kicker": "开场", "notes": "开场先自我介绍 30 秒" },
|
|
31
|
-
{ "layout": "section", "kicker": "01", "title": "背景" },
|
|
32
|
-
{ "layout": "bullets", "title": "三个论点", "bullets": ["论点一", "论点二", "论点三"] },
|
|
33
|
-
{ "layout": "table", "title": "业绩对比", "rows": [["大区", "营收"], ["华东", "1.2 亿"]], "notes": "强调华东增速" },
|
|
34
|
-
{ "layout": "quote", "title": "慢就是快。", "subtitle": "创始人" },
|
|
35
|
-
{ "layout": "statement", "title": "核心观点一句话", "subtitle": "支撑说明" },
|
|
36
|
-
{ "layout": "closing", "title": "谢谢", "subtitle": "行动号召" }
|
|
37
|
-
]
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
`layout` 支持 `cover | section | bullets | statement | quote | table | closing | image | image-left | image-right | chart`;每页可选 `notes`,表格用 `rows`(首行为表头)。结构化表格自动分页,备注只放第一页。分页后超过 maxSlides 会报错,最多120页。图文、图表、品牌及按页编辑见 `advanced.md`。
|
|
41
|
-
|
|
42
|
-
## 动效(motion)
|
|
43
|
-
|
|
44
|
-
默认 `motion: on`:HTML 放映有页间淡入与要点逐条入场;PPTX 每页原生淡入转场,`bullets` 页的要点按「点击一次出现一条」放映。交付严肃/打印场景或用户明确要静态时传 `motion: 'off'`(CLI `--motion off`),产物不含任何动画代码。
|
|
1
|
+
# dsh-ppt 输入语法参考(Markdown / 结构化 slides / 动效)
|
|
2
|
+
|
|
3
|
+
只在需要查具体语法时读本文件;常规流程在 SKILL.md。
|
|
4
|
+
|
|
5
|
+
## Markdown 解析规则
|
|
6
|
+
|
|
7
|
+
`ppt_create` 与 `build-deck.mjs` 按以下规则解析 Markdown:
|
|
8
|
+
|
|
9
|
+
- 第一个 `# 标题` 会成为封面标题;其后的段落/列表成为封面副标题来源。
|
|
10
|
+
- 每个 `## 小节`(或更深标题)生成一页:
|
|
11
|
+
- 有 `- ` / `* ` / `1.` 列表 → `bullets` 页;
|
|
12
|
+
- 无列表且无正文 → `section` 过渡页;
|
|
13
|
+
- 有正文段落 → 正文拆句后作为 bullets。
|
|
14
|
+
- 没有标题的纯文本:第一段第一句为封面副标题,后续段落按 5 句一组拆成要点页。
|
|
15
|
+
- 只有一句话:自动生成「封面 → 核心观点 → 结束页」三页。
|
|
16
|
+
- 需要更精细控制时使用结构化 `slides` JSON,不要和 Markdown 混用。
|
|
17
|
+
|
|
18
|
+
## 进阶语法(自动识别)
|
|
19
|
+
|
|
20
|
+
- **表格**:`| 列 | 列 |` 连续行(第二行 `| --- | --- |` 分隔线)→ 独立 `table` 页(主题色表头;每页 8 行数据,长表格自动续页并重复表头;最多 8 列、每格 60 字符,超限先报错)。数据对比优先用表格,别堆要点。
|
|
21
|
+
- **金句**:`>` 引用块 → 独立 `quote` 页;最后一行写 `—— 出处` 会成为署名。
|
|
22
|
+
- **演讲者备注**:`<!-- 备注: 这页要讲的内容 -->`(或 `<!-- note: ... -->`)附着到该页。备注不进正文:HTML 放映按 `S` 呼出备注面板,PPTX 写入原生备注(演示者视图可见)。为汇报/演讲类 deck 主动写备注(口径、数据出处、应答预案)。
|
|
23
|
+
|
|
24
|
+
## 结构化 slides(高级用法)
|
|
25
|
+
|
|
26
|
+
`ppt_create` 的 `slides` 与 CLI `--slides` 接受 JSON 数组:
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
[
|
|
30
|
+
{ "layout": "cover", "title": "标题", "subtitle": "副标题", "kicker": "开场", "notes": "开场先自我介绍 30 秒" },
|
|
31
|
+
{ "layout": "section", "kicker": "01", "title": "背景" },
|
|
32
|
+
{ "layout": "bullets", "title": "三个论点", "bullets": ["论点一", "论点二", "论点三"] },
|
|
33
|
+
{ "layout": "table", "title": "业绩对比", "rows": [["大区", "营收"], ["华东", "1.2 亿"]], "notes": "强调华东增速" },
|
|
34
|
+
{ "layout": "quote", "title": "慢就是快。", "subtitle": "创始人" },
|
|
35
|
+
{ "layout": "statement", "title": "核心观点一句话", "subtitle": "支撑说明" },
|
|
36
|
+
{ "layout": "closing", "title": "谢谢", "subtitle": "行动号召" }
|
|
37
|
+
]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
`layout` 支持 `cover | section | bullets | statement | quote | table | closing | image | image-left | image-right | chart`;每页可选 `notes`,表格用 `rows`(首行为表头)。结构化表格自动分页,备注只放第一页。分页后超过 maxSlides 会报错,最多120页。图文、图表、品牌及按页编辑见 `advanced.md`。
|
|
41
|
+
|
|
42
|
+
## 动效(motion)
|
|
43
|
+
|
|
44
|
+
默认 `motion: on`:HTML 放映有页间淡入与要点逐条入场;PPTX 每页原生淡入转场,`bullets` 页的要点按「点击一次出现一条」放映。交付严肃/打印场景或用户明确要静态时传 `motion: 'off'`(CLI `--motion off`),产物不含任何动画代码。
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
# dsh-ppt 内置主题参考
|
|
2
|
-
|
|
3
|
-
主题系统移植自 hyperframes 技能的 `visual-styles.md` 视觉风格库。每套主题在 HTML 与 PPTX 中使用同一色板、同一字体族、同一情绪规则。
|
|
4
|
-
|
|
5
|
-
> 想先看效果:运行 `ppt_themes { preview: true, outputDir: "dist" }`,会生成 `themes-preview.html` 与每套主题一张 `theme-<id>.svg`;README/npm 首屏可以直接引用 SVG。
|
|
6
|
-
|
|
7
|
-
## 速查
|
|
8
|
-
|
|
9
|
-
| ID | 中文名 | English | 明暗 | 底色 | 前景 | 主强调 | 次强调 | 情绪 | 适用 |
|
|
10
|
-
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
11
|
-
| `data` | 数据漂移 | Data Drift | 暗 | `#070B14` | `#E8F1FF` | `#7C3AED` | `#06B6D4` | 未来/沉浸 | AI、数据、研究、技术发布 |
|
|
12
|
-
| `swiss` | 瑞士脉冲 | Swiss Pulse | 暗 | `#10151B` | `#F5F7FA` | `#2F6BFF` | `#FFB300` | 精准/理性 | SaaS、数据、开发者工具 |
|
|
13
|
-
| `velvet` | 天鹅绒标准 | Velvet Standard | 暗 | `#111316` | `#F4EFE6` | `#C9A84C` | `#3D4A63` | 高级/克制 | 高管汇报、品牌、融资路演 |
|
|
14
|
-
| `soft` | 柔和信号 | Soft Signal | 亮 | `#FFF8EC` | `#3B2F2A` | `#E58A2F` | `#8FAF8C` | 温暖/人本 | 品牌故事、培训、个人分享 |
|
|
15
|
-
| `bold` | 极繁大字 | Maximalist Type | 暗 | `#0D0D0D` | `#FFFFFF` | `#E63946` | `#FFD60A` | 大声/动能 | 产品发布、活动、大事件 |
|
|
16
|
-
|
|
17
|
-
## 逐主题说明
|
|
18
|
-
|
|
19
|
-
### data — 数据漂移(默认)
|
|
20
|
-
|
|
21
|
-
- 深黑底 + 电光紫 + 青色,细体未来感。
|
|
22
|
-
- 适合 AI / ML / 数据 / 前沿技术;大标题少字,用对比数字。
|
|
23
|
-
- 反模式:不要加多余暖色;不要堆长段落。
|
|
24
|
-
|
|
25
|
-
### swiss — 瑞士脉冲
|
|
26
|
-
|
|
27
|
-
- 黑白灰 + 一个电蓝(或琥珀),栅格感、大数字。
|
|
28
|
-
- 适合 SaaS / 指标 / 开发者工具;标题短、要点像 spec。
|
|
29
|
-
- 反模式:不要装饰性渐变文字;不要圆角卡片堆叠。
|
|
30
|
-
|
|
31
|
-
### velvet — 天鹅绒标准
|
|
32
|
-
|
|
33
|
-
- 黑、米白、香槟金,衬线标题 + 无衬线正文,宽字距,留白多。
|
|
34
|
-
- 适合高管汇报 / 品牌 / 融资;节奏慢,页数少而精。
|
|
35
|
-
- 反模式:不要动画感强烈的颜色;不要超过一个强调色。
|
|
36
|
-
|
|
37
|
-
### soft — 柔和信号
|
|
38
|
-
|
|
39
|
-
- 暖奶油底、深棕字、琥珀 + 鼠尾草绿,亮色唯一浅底主题。
|
|
40
|
-
- 适合品牌故事 / 培训 / 个人分享;文字可以更口语。
|
|
41
|
-
- 反模式:不要用纯黑正文;不要高饱和撞色。
|
|
42
|
-
|
|
43
|
-
### bold — 极繁大字
|
|
44
|
-
|
|
45
|
-
- 黑底、正红 + 明黄,超粗标题,字就是视觉主体。
|
|
46
|
-
- 适合产品发布 / 活动 / 大事件;短标题、单页单一冲击。
|
|
47
|
-
- 反模式:不要把页面塞满要点;不要让红黄之外再出现第三种强调色。
|
|
48
|
-
|
|
49
|
-
## 选主题决策树
|
|
50
|
-
|
|
51
|
-
1. 情绪是未来/科技 → `data`
|
|
52
|
-
2. 情绪是理性/数据/精准 → `swiss`
|
|
53
|
-
3. 情绪是高级/信任/正式 → `velvet`
|
|
54
|
-
4. 情绪是温暖/人本/故事 → `soft`
|
|
55
|
-
5. 情绪是大音量/发布会 → `bold`
|
|
56
|
-
|
|
57
|
-
无法判断时用 `data`,不要自造主题 ID。
|
|
58
|
-
|
|
59
|
-
## 视觉引擎复用(hyperframes)
|
|
60
|
-
|
|
61
|
-
如果 `hyperframes` 技能已安装,生成前先读它的 `visual-styles.md` / `house-style.md` 作为视觉判断依据;本技能的 5 套主题就是把其中 Swiss Pulse / Velvet Standard / Data Drift / Soft Signal / Maximalist Type 五套风格落成确定性 HTML+PPTX 实现。需要高级动画视频版时,才转用 hyperframes;普通演示不要上视频引擎。
|
|
1
|
+
# dsh-ppt 内置主题参考
|
|
2
|
+
|
|
3
|
+
主题系统移植自 hyperframes 技能的 `visual-styles.md` 视觉风格库。每套主题在 HTML 与 PPTX 中使用同一色板、同一字体族、同一情绪规则。
|
|
4
|
+
|
|
5
|
+
> 想先看效果:运行 `ppt_themes { preview: true, outputDir: "dist" }`,会生成 `themes-preview.html` 与每套主题一张 `theme-<id>.svg`;README/npm 首屏可以直接引用 SVG。
|
|
6
|
+
|
|
7
|
+
## 速查
|
|
8
|
+
|
|
9
|
+
| ID | 中文名 | English | 明暗 | 底色 | 前景 | 主强调 | 次强调 | 情绪 | 适用 |
|
|
10
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
11
|
+
| `data` | 数据漂移 | Data Drift | 暗 | `#070B14` | `#E8F1FF` | `#7C3AED` | `#06B6D4` | 未来/沉浸 | AI、数据、研究、技术发布 |
|
|
12
|
+
| `swiss` | 瑞士脉冲 | Swiss Pulse | 暗 | `#10151B` | `#F5F7FA` | `#2F6BFF` | `#FFB300` | 精准/理性 | SaaS、数据、开发者工具 |
|
|
13
|
+
| `velvet` | 天鹅绒标准 | Velvet Standard | 暗 | `#111316` | `#F4EFE6` | `#C9A84C` | `#3D4A63` | 高级/克制 | 高管汇报、品牌、融资路演 |
|
|
14
|
+
| `soft` | 柔和信号 | Soft Signal | 亮 | `#FFF8EC` | `#3B2F2A` | `#E58A2F` | `#8FAF8C` | 温暖/人本 | 品牌故事、培训、个人分享 |
|
|
15
|
+
| `bold` | 极繁大字 | Maximalist Type | 暗 | `#0D0D0D` | `#FFFFFF` | `#E63946` | `#FFD60A` | 大声/动能 | 产品发布、活动、大事件 |
|
|
16
|
+
|
|
17
|
+
## 逐主题说明
|
|
18
|
+
|
|
19
|
+
### data — 数据漂移(默认)
|
|
20
|
+
|
|
21
|
+
- 深黑底 + 电光紫 + 青色,细体未来感。
|
|
22
|
+
- 适合 AI / ML / 数据 / 前沿技术;大标题少字,用对比数字。
|
|
23
|
+
- 反模式:不要加多余暖色;不要堆长段落。
|
|
24
|
+
|
|
25
|
+
### swiss — 瑞士脉冲
|
|
26
|
+
|
|
27
|
+
- 黑白灰 + 一个电蓝(或琥珀),栅格感、大数字。
|
|
28
|
+
- 适合 SaaS / 指标 / 开发者工具;标题短、要点像 spec。
|
|
29
|
+
- 反模式:不要装饰性渐变文字;不要圆角卡片堆叠。
|
|
30
|
+
|
|
31
|
+
### velvet — 天鹅绒标准
|
|
32
|
+
|
|
33
|
+
- 黑、米白、香槟金,衬线标题 + 无衬线正文,宽字距,留白多。
|
|
34
|
+
- 适合高管汇报 / 品牌 / 融资;节奏慢,页数少而精。
|
|
35
|
+
- 反模式:不要动画感强烈的颜色;不要超过一个强调色。
|
|
36
|
+
|
|
37
|
+
### soft — 柔和信号
|
|
38
|
+
|
|
39
|
+
- 暖奶油底、深棕字、琥珀 + 鼠尾草绿,亮色唯一浅底主题。
|
|
40
|
+
- 适合品牌故事 / 培训 / 个人分享;文字可以更口语。
|
|
41
|
+
- 反模式:不要用纯黑正文;不要高饱和撞色。
|
|
42
|
+
|
|
43
|
+
### bold — 极繁大字
|
|
44
|
+
|
|
45
|
+
- 黑底、正红 + 明黄,超粗标题,字就是视觉主体。
|
|
46
|
+
- 适合产品发布 / 活动 / 大事件;短标题、单页单一冲击。
|
|
47
|
+
- 反模式:不要把页面塞满要点;不要让红黄之外再出现第三种强调色。
|
|
48
|
+
|
|
49
|
+
## 选主题决策树
|
|
50
|
+
|
|
51
|
+
1. 情绪是未来/科技 → `data`
|
|
52
|
+
2. 情绪是理性/数据/精准 → `swiss`
|
|
53
|
+
3. 情绪是高级/信任/正式 → `velvet`
|
|
54
|
+
4. 情绪是温暖/人本/故事 → `soft`
|
|
55
|
+
5. 情绪是大音量/发布会 → `bold`
|
|
56
|
+
|
|
57
|
+
无法判断时用 `data`,不要自造主题 ID。
|
|
58
|
+
|
|
59
|
+
## 视觉引擎复用(hyperframes)
|
|
60
|
+
|
|
61
|
+
如果 `hyperframes` 技能已安装,生成前先读它的 `visual-styles.md` / `house-style.md` 作为视觉判断依据;本技能的 5 套主题就是把其中 Swiss Pulse / Velvet Standard / Data Drift / Soft Signal / Maximalist Type 五套风格落成确定性 HTML+PPTX 实现。需要高级动画视频版时,才转用 hyperframes;普通演示不要上视频引擎。
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
# dsh-ppt 故障排查
|
|
2
|
-
|
|
3
|
-
只在交付异常时读本文件。
|
|
4
|
-
|
|
5
|
-
| 症状 | 处理 |
|
|
6
|
-
| --- | --- |
|
|
7
|
-
| `ppt_create` 不存在 | 本插件未安装;用 `node <skill-dir>/scripts/build-deck.mjs` 裸 CLI 生成同样三件套 |
|
|
8
|
-
| 未知主题 | `ppt_themes` 或 `--list-themes` 看可用 ID;不要猜 |
|
|
9
|
-
| 内容超过 60 页 | 合并论点,或拆成多个 deck;`maxSlides` 默认 60 |
|
|
10
|
-
| PPTX 打不开 | 确认文件完整(zip 头 `PK`);Office 首次打开空白版式属正常,编辑视图可用 |
|
|
11
|
-
| 双语界面 | `lang: bilingual` 只双语化界面;内容双语由 agent 在写作阶段完成 |
|
|
12
|
-
| 放映没有动画 | `motion` 被设为 `off`;默认 `on` 时 HTML 有转场、PPTX 要点逐条点击出现 |
|
|
13
|
-
| HTML 打印要点缺失 | 打印样式已强制显示全部要点;若仍缺失检查浏览器是否屏蔽了动画样式 |
|
|
14
|
-
| 图片、图表或品牌导出缺少依赖 | 插件重新安装;独立技能目录运行 npm install --ignore-scripts 安装 Office Kit 0.21.0 |
|
|
15
|
-
| ppt_render 返回 unavailable | 在插件项目或技能目录安装可选官方 Kit 0.1.
|
|
16
|
-
| 收据 not-verified | 源PPTX或输出发生变化、缺失、版本不同;用当前PPTX重新渲染,不沿用旧结论 |
|
|
17
|
-
| 修订号冲突 | 重新用ppt_check读取当前工程,再按新revision编辑 |
|
|
18
|
-
| 模板还有待填写 | 补充实际事实/依据/行动;按草稿说明,不作为成品交付 |
|
|
19
|
-
| 渲染报告缺失字体 | 替换为环境和目标机器可用字体,重新生成并逐页检查;未解决需标注字体问题,不能声称已验收 |
|
|
1
|
+
# dsh-ppt 故障排查
|
|
2
|
+
|
|
3
|
+
只在交付异常时读本文件。
|
|
4
|
+
|
|
5
|
+
| 症状 | 处理 |
|
|
6
|
+
| --- | --- |
|
|
7
|
+
| `ppt_create` 不存在 | 本插件未安装;用 `node <skill-dir>/scripts/build-deck.mjs` 裸 CLI 生成同样三件套 |
|
|
8
|
+
| 未知主题 | `ppt_themes` 或 `--list-themes` 看可用 ID;不要猜 |
|
|
9
|
+
| 内容超过 60 页 | 合并论点,或拆成多个 deck;`maxSlides` 默认 60 |
|
|
10
|
+
| PPTX 打不开 | 确认文件完整(zip 头 `PK`);Office 首次打开空白版式属正常,编辑视图可用 |
|
|
11
|
+
| 双语界面 | `lang: bilingual` 只双语化界面;内容双语由 agent 在写作阶段完成 |
|
|
12
|
+
| 放映没有动画 | `motion` 被设为 `off`;默认 `on` 时 HTML 有转场、PPTX 要点逐条点击出现 |
|
|
13
|
+
| HTML 打印要点缺失 | 打印样式已强制显示全部要点;若仍缺失检查浏览器是否屏蔽了动画样式 |
|
|
14
|
+
| 图片、图表或品牌导出缺少依赖 | 插件重新安装;独立技能目录运行 npm install --ignore-scripts 安装 Office Kit 0.21.0 |
|
|
15
|
+
| ppt_render 返回 unavailable | 在插件项目或技能目录安装可选官方 Kit 0.1.5;Windows检查相应VC++v14运行库 |
|
|
16
|
+
| 收据 not-verified | 源PPTX或输出发生变化、缺失、版本不同;用当前PPTX重新渲染,不沿用旧结论 |
|
|
17
|
+
| 修订号冲突 | 重新用ppt_check读取当前工程,再按新revision编辑 |
|
|
18
|
+
| 模板还有待填写 | 补充实际事实/依据/行动;按草稿说明,不作为成品交付 |
|
|
19
|
+
| 渲染报告缺失字体 | 替换为环境和目标机器可用字体,重新生成并逐页检查;未解决需标注字体问题,不能声称已验收 |
|