前言¶
DSH(DeepSeek Harness)采用「一切皆插件」的设计,将 Agent 能力拆解为可组合的模块。在文档与演示场景中,直接调用大模型生成 PPTX 往往存在版式失控、格式混乱、图片不自适应、图表难以调整等问题。dsh-ppt-master 是一套面向 DSH 的「PPT 大师」会话模式与配套工具,通过模板化设计、联网取材与 python-pptx 真渲染,把 PPT 生成从「拼图片」变成「可编辑的原生对象」。
这是什么¶
dsh-ppt-master 给 DSH 增加一个「PPT 大师」会话模式与五个工具,以及一套设计规范与模板库。
装完之后你得到:
- 一个会话模式:新建会话时选择「PPT 大师」,拥有常驻人设、五步工作流与实时模板清单。
- 五个工具:
ppt_research(联网取材)、ppt_templates(模板库)、ppt_build(生成 PPTX)、ppt_lint(设计审校)、ppt_doctor(环境自检)。 - 一个技能:
ppt-master方法论手册,包含版式选择表、设计硬规则、反面清单与排障指南。 - 八套模板:靛蓝商务、极简素白、深空科技、暖阳人文、青瓷东方、数据亮色、石墨黑白、深海蓝。
- 十六种版式:覆盖封面、议程、KPI、图表、表格、时间线、2×2 矩阵、对比、金句、全出血大图等。
- 八类原生图表:柱状、条形、折线、面积、饼、环、堆叠、雷达、散点。
- 质量闸门:设计审校器(结论式标题/要点上限/数字进图表/讲稿齐备…)+ 渲染后结构自检。
输出是 python-pptx 真实渲染的原生对象(文字框、图表、表格都能在 PowerPoint 里继续编辑),不是图片拼贴。
安装与启用¶
前置条件¶
- 已安装 DSH,且版本支持宿主插件与 bundle(
dsh plugin命令可用)。 - Node.js ≥ 20(插件与工具走宿主 Node 运行)。
- Python ≥ 3.10,并安装
python-pptx>=1.0与pillow>=10:
python -m pip install "python-pptx>=1.0" "pillow>=10"
DSH 桌面版自带 Python 运行时,插件会自动探测;也可以设置 DSH_PPT_PYTHON 指向任意可用的解释器。
安装插件¶
从本地目录安装(推荐:源码目录即唯一真源):
dsh plugin add file:/absolute/path/to/dsh-ppt-master
发布到 npm 之后也可以直接:
dsh plugin add dsh-ppt-master
安装后重启一次 DSH,新建会话时在模式选择器里选择「PPT 大师」。
自检¶
ppt_doctor # Python / python-pptx / Pillow / 字体 / 模板目录 / 各服务
模板画廊与健康检查(把 <DSH_WEB_ADDR> 换成你自己的 DSH Web 地址,如 http://127.0.0.1:52707):
<DSH_WEB_ADDR>/plugins/dsh-ppt-master/gallery # 8 套模板配色/气质一屏看完
<DSH_WEB_ADDR>/plugins/dsh-ppt-master/templates # 模板 JSON
<DSH_WEB_ADDR>/plugins/dsh-ppt-master/status # 健康检查
五个工具¶
| 工具 | 作用 | 关键点 |
|---|---|---|
ppt_research |
联网取材 | kind = facts / images / palette / inspiration;images 会抓页面 og:image,返回可直接填进 deck 的图片 URL;无搜索密钥时可用 urls 直抓 |
ppt_templates |
模板库 | list / get / save / delete;save 支持 baseOn 派生,只覆盖想改的字段 |
ppt_build |
核心:生成 PPTX | 内联 deck JSON 或 deckPath;同时输出全页预览 PNG;自动下载图片、cover 裁切、字号回落防溢出、生成后结构自检 |
ppt_lint |
设计审校 | 给出 score 与「问题 → 改法」清单(必改 / 建议 / 可选) |
ppt_doctor |
环境自检 | Python / python-pptx / Pillow / 字体 / 模板目录写权限 / 各服务可用性 |
典型用法¶
说人话¶
在「PPT 大师」模式下,你可以用自然语言指挥 Agent:让 Agent 按 ppt-master 方法论执行「定受众/场合/决策目标 → 取材 → 立纲(标题句)→ 选模板 → 先出 3-5 页小样 → 补全 → 审校 → 交付」的流程。
示例:
用 PPT 大师模式,帮我把这份季度复盘做成 12 页的汇报,先给提纲。
直接指挥工具¶
ppt_templates action=list
ppt_research query="2026 新能源汽车渗透率" kind=facts
ppt_build template="ocean-deep" deck={...} out="D:\\报告\\q3.pptx"
ppt_lint deck={...}
ppt_doctor {}
deck 速查¶
{
"title": "2026 增长战略", "subtitle": "董事会汇报", "author": "战略部", "date": "2026-10",
"template": "indigo-corporate",
"slides": [
{ "layout": "cover", "kicker": "战略规划", "title": "把增长押在三个确定性上",
"subtitle": "渠道结构 × 产品组合 × 组织效率", "image": "https://…jpg", "notes": "开场 30 秒" },
{ "layout": "agenda", "title": "今天只讲三段",
"agenda": [
{ "title": "现状", "desc": "渠道与产品结构", "page": "P03" },
{ "title": "打法", "desc": "下半年三件事", "page": "P06" },
{ "title": "要什么", "desc": "回报与风险", "page": "P14" }
] },
{ "layout": "kpi", "title": "三个数字定义今年的基线",
"kpi": [{ "value": "12.4", "unit": "亿元", "label": "全年营收", "delta": "+18%", "hint": "口径:合并报表" }] },
{ "layout": "chart", "title": "增量几乎全部来自渠道结构变化", "insight": "直营占比 21%→38%,是主因",
"chart": { "type": "bar", "categories": ["Q1", "Q2", "Q3", "Q4"],
"series": [{ "name": "直营", "values": [1.2, 1.9, 2.6, 3.4] }] } },
{ "layout": "chart", "title": "五个维度的能力对比", "insight": "短板在复购",
"chart": { "type": "radar",
"categories": ["获客", "转化", "复购", "服务", "品牌"],
"series": [{ "name": "直营", "values": [9, 8, 5, 8, 9] },
{ "name": "代理", "values": [6, 7, 6, 6, 5] }] } },
{ "layout": "chart", "title": "门店投入与回报的关系", "insight": "直营店回报更高",
"chart": { "type": "scatter",
"series": [{ "name": "直营门店", "points": [{ "x": 420, "y": 3.1 }, { "x": 460, "y": 3.4 }] },
{ "name": "联营门店", "points": [[230, 4.2], [260, 4.5]] }] } },
{ "layout": "matrix", "title": "四类增长机会的优先级", "insight": "预算优先给左上象限",
"matrix": { "xAxis": "投入", "yAxis": "回报",
"quadrants": [
{ "title": "先做(高回报·低投入)", "items": ["直营扩店", "续费率提升"] },
{ "title": "重点投", "items": ["海外第二供应通道"] },
{ "title": "顺手做", "items": ["包装升级"] },
{ "title": "暂缓", "items": ["自建物流"] }
] } },
{ "layout": "bullets", "title": "下半年只做三件事", "insight": "资源聚焦在回报最高的两件事上",
"bullets": [{ "text": "直营门店从 180 家扩到 260 家", "level": 0 },
{ "text": "把续费率从 78% 提到 85%", "level": 0 }] },
{ "layout": "end", "title": "要一个决定:批准 Q3 的 1.2 亿扩张预算", "contact": "战略部 · 王明" }
]
}
字段约定:
notes:讲稿,写进 PPT 备注(每页 2-4 句)。insight:这一页的结论句(图表/要点页必填,观众不用自己猜)。image:本地路径或http(s)URL(自动下载 + cover 裁切,不拉伸)。agenda:3-6 条;{title, desc, page},纯字符串数组也可以。matrix:必须 4 个象限,顺序为左上、右上、左下、右下;xAxis/yAxis可选。chart.type:bar|column|bar-h|line|area|pie|doughnut|stacked|radar|scatter。- 分类类图表:
categories与每个 series 的values数量必须一致; scatter:不要categories,用series[].points([{x,y}]或[[x,y]],每个系列 ≥ 2 个点),散点不支持数据标签。
模板与自建¶
| 模板 id | 气质 | 适合 |
|---|---|---|
indigo-corporate |
靛蓝商务 | 汇报、融资、董事会 |
minimal-paper |
极简素白 | 学术、评审、白皮书 |
deepspace-tech |
深空科技 | 技术发布、产品架构 |
warm-sunrise |
暖阳人文 | 品牌、文化、内部沟通 |
celadon-cn |
青瓷东方 | 东方美学、政府/文化项目 |
data-vivid |
数据亮色 | 数据看板式汇报 |
graphite-mono |
石墨黑白 | 正式打印、省墨、黑白复印友好 |
ocean-deep |
深海蓝 | 深色科技感、发布会 |
自建模板(baseOn 派生,只覆盖想改的字段):
ppt_templates action=save baseOn="minimal-paper" name="年度总结·墨绿" id="annual-ink"
theme={"primary":"#2F6B5E","accent":"#C25E3A","bg":"#FBFAF7"}
geometry={"marginX":1.0,"bodySize":16,"lineSpacing":1.4}
decor={"style":"soft","coverPattern":"rule"}
单位:geometry 全部英寸、字号磅(pt)、颜色 #RRGGBB。
decor.style ∈ glow | grid | soft | ink | none;decor.coverPattern ∈ orbs | grid | rule | arc | seal | bars。
用户模板存在 <DSH_HOME>/ppt-master/templates/*.json,同 id 覆盖内置模板。
十六种版式¶
| layout | 用途 | 关键字段 |
|---|---|---|
cover |
封面 | title, subtitle, kicker, image, author, date |
section |
章节转场 | index, title, subtitle |
agenda |
议程/目录 | title, agenda[{title,desc,page}] |
bullets |
要点页 | title, bullets[], insight |
two-col |
左右两栏 | title, columns[{title,bullets[]}] |
cards |
卡片并列 | title, cards[{title,body,icon,color}] |
kpi |
大数字 | title, kpi[{value,unit,label,delta,hint}] |
timeline |
时间线 | title, steps[{time,title,desc}] |
process |
流程/步骤 | title, steps[{title,desc}] |
matrix |
2×2 象限 | title, matrix{xAxis,yAxis,quadrants[{title,items[]}]} |
image |
图文页 | title, image, variant(left/right/full), bullets[] |
quote |
金句页 | quote, author, role |
table |
表格 | title, table{head[],rows[][],widths[]} |
chart |
图表 | title, chart{type,categories,series}, insight |
compare |
优劣对比 | title, left{title,items[]}, right{title,items[]} |
end |
收尾 | title, subtitle, contact |
别名自动归一:title→cover、toc/contents/outline→agenda、grid→cards、stats→kpi、
roadmap→timeline、flow→process、photo→image、quadrant/quadrants/2x2→matrix、
thanks→end 等。
示例与 Showcase¶
仓库提供两个示例 deck:
examples/demo-deck.json:9 页,覆盖常用版式,设计审校 100/100,是仓库的「活文档」。examples/showcase-deck.json:18 页,覆盖全部 16 种版式与柱状 / 雷达 / 散点三类图表,使用ocean-deep模板。
适用场景与注意¶
适合:需要通过 DSH 快速生成结构清晰、版式规范的演示文稿,且希望在 PowerPoint 中继续编辑内容的场景。
注意:插件以当前 dsh 进程权限运行,安装前应检查源码与许可证;确保 Node.js ≥ 20、Python ≥ 3.10,并正确安装 python-pptx>=1.0 与 pillow>=10。
短结尾¶
dsh-ppt-master 把 DSH 的 Agent 能力与 python-pptx 真渲染结合,提供从取材、立纲、选模板到生成、审校、交付的一整套 PPT 工作流,适合需要快速产出可编辑 PPTX 的开发者与团队。
- 插件目录:https://www.skillhub.cn/plugins/weijianguizhou/dsh-ppt-master
- GitHub:https://github.com/weijianguizhou/dsh-ppt-master