前言¶
DeepSeek Harness(DSH)采用插件化架构,让智能体通过工具完成复杂任务。在需要交付结构化演示文稿时,Agent 通常只能输出文本或 Markdown,无法生成可直接演示的 .pptx 文件。dsh-pptx-builder 解决了这个问题,它将 PowerPoint 的生成能力下沉到插件层,让 Agent 在运行时直接创建完整的微软 PowerPoint 阴影包。
插件由 ZhdanovDmitriy 维护,属于客户端插件,目前星标数为 0。
功能概述¶
插件打包了以下能力:
- 模板化幻灯片生成:10 种预设模板,包括标题页、内容页、分栏、图表、代码、数学公式、结束语等。
- Pastel 配色系统:提供 sand、mint、lavender、sky、rose 五种柔和背景,自动生成正文、次要色、强调色和图表色系。
- Python 渲染图表:通过 Python 将数据转换为 bar、stacked bar、line、area、pie、donut 等图表,并嵌入到幻灯片中。
- LaTeX 公式渲染:内置公式排版器,支持矩阵、积分、求和、分数、希腊字母等,无需本地 TeX 环境。
- 代码高亮卡片:将代码片段渲染为深色圆角卡片,支持语法高亮、行号、文件名和语言标签。
- 图片处理:支持通过 URL 下载图片并嵌入,保持宽高比。
- Presentations 模式:预设一个专用于演示文稿的 Agent 角色,包含工作流提示和工具集。
所有内容最终输出为标准的 .pptx 包(ZIP + OOXML),无需 Office 依赖,文件在生成后即保持有效。
安装与启用¶
在 DSH 中安装插件:
plugin_manager { "action": "install_bundle", "target": "dsh-pptx-builder" }
或者在 Harness UI 中使用「Plugins → Install」,粘贴包名 dsh-pptx-builder。安装后重启,工具会出现在所有模式中,并在模式选择器里出现新的 Presentations agent 预设。
从本地代码检出安装时,可传递绝对目录路径作为目标:
plugin_manager { "action": "install_bundle", "target": "/path/to/dsh-pptx-builder" }
Presentations 模式¶
Presentations 模式提供了一个预设角色,它知道演示文稿的工作流:先检查现有内容,再从模板构建,引用数据来源,用 pptx_add_math 排版公式,最后用 present 完成交付。该模式附带的工具集包括:
pptx_*系列工具- 文件读取、网页搜索/抓取
present、todo_write、ask_user_question- 内容压缩
这些工具是全局注册的,因此在其他模式下也可以直接使用。
工具列表¶
| 工具 | 说明 |
|---|---|
pptx_create |
创建幻灯片组,指定尺寸(16:9 / 4:3)、配色、默认字体、强调色、页码位置。 |
pptx_gallery |
构建参考演示文稿,features 展示所有模板的对齐、列表样式和图表类型,showcase 是一份打磨过的商业演示。 |
pptx_add_slide |
按模板添加一页,指定标题、文本、演讲者、照片。支持的模板:title、section、content、split-left、split-right、chart、code、math、closing、blank。 |
pptx_add_text |
添加任意文本框,可设置位置(x/y/w/h,单位英寸)、字体大小、字体、粗体/斜体/下划线、颜色、对齐/垂直对齐、列表样式。 |
pptx_add_image |
通过 url 下载图片(或读取本地 path)并嵌入,保持宽高比。 |
pptx_add_chart |
从数据渲染图表(bar、stacked bar、line、area、pie、donut),并嵌入。 |
pptx_add_code |
将代码片段渲染为深色圆角卡片,支持语法高亮、行号、文件名、语言标签和强调行。 |
pptx_add_math |
将 LaTeX 公式排版为透明 PNG 并嵌入,支持矩阵、积分、求和、分数、希腊字母等。 |
pptx_update_element |
通过 id 移动、调整大小、重新样式、改变类型或替换已有元素。 |
pptx_remove |
通过 id 删除单个元素,或通过页码删除整张幻灯片。 |
pptx_inspect |
列出模板、配色和所有元素,包括 id、几何位置(英寸)、文本、字体和来源。 |
坐标系原点为幻灯片左上角,16:9 尺寸为 13.333 × 7.5 英寸。字体大小单位为点,颜色支持 #RRGGBB、颜色名称或配色关键字(ink、muted、accent、background)。
模板与布局¶
模板按功能划分,每张模板都将其内容居中于各自区域:照片在其半区,标题和文本在其区,块级内容垂直居中。
title:超大居中标题、副标题、右下角演讲者信息、页码关闭。section:分隔页,标题与副标题居中。content:顶部居中标题,下方固定宽度文本列。split-right:右侧居中照片,左侧居中标题与文本。split-left:左侧照片,右侧文本,结构与 split-right 相反。chart:顶部标题与说明,下方两/三区域留给pptx_add_chart。code:顶部标题与副标题,下方留给pptx_add_code。math:顶部标题与副标题,可选说明,下方留给pptx_add_math。closing:大号居中「Спасибо за внимание」(可覆盖为title),可选副标题。blank:仅背景。
配色与对齐¶
pptx_create 接受 palette 参数:sand(默认)、mint、lavender、sky、rose。配色定义了每张幻灯片的柔和背景、正文墨色、次要色、强调色和图表系列颜色。
对齐和文本形状作为参数而非模板默认值:
align:left、center、right、justifytitle_align:与上述相同bullet:true表示列表,false(默认)表示整块文本
默认行为:content 为左对齐,split-left/split-right 无列表且居中,长列表更适合左对齐,短行或单段更适合居中或右对齐。已有块可通过 pptx_update_element 重新对齐。
图表使用¶
pptx_add_chart 接受结构化数据而非代码:
{
"file": "sales.pptx",
"kind": "bar",
"stacked": false,
"categories": ["2021", "2022", "2023", "2024"],
"series": [
{
"name": "Revenue",
"values": [10.2, 13.8, 17.1, 21.4]
}
],
"y_label": "bn RUB",
"value_format": "auto",
"source": "Source: annual reports, 2025"
}
支持的图表类型:bar(包括 stacked)、line、area、pie、donut。渲染器会绘制配色背景、浅色网格、坐标轴标签、图例、数值标签和来源脚注。生成的图片尺寸为 1800 × 1000 px,并嵌入到演示文稿中。
典型流程:先用 web_search 或 web_fetch 查找数据,模型将其整理为 categories 和 series,再调用 pptx_add_chart 绘图,必要时用 pptx_update_element 调整位置或大小。
代码卡片使用¶
pptx_add_code 将代码渲染为深色圆角卡片,支持语法高亮、行号、文件名头部、语言标签和强调行带,最终嵌入为图片。
pptx_add_slide {
"file": "d.pptx",
"template": "code",
"title": "How we measure",
"subtitle": "python · pandas"
}
pptx_add_code {
"file": "d.pptx",
"language": "python",
"title": "metrics.py",
"highlight_lines": [5, 6],
"code": "import pandas as pd\n..."
}
支持的编程语言:python、javascript、typescript、json、bash、sql、text。建议单行不超过 ~90 字符、总行数不超过 ~60 行,卡片整体缩放,长行会压缩所有代码。由于卡片是图片,修改代码需删除元素后重新添加。
公式渲染¶
pptx_add_math 通过插件内置的排版器将 LaTeX 渲染为 300 dpi 的透明 PNG 并嵌入。公式按自然排版尺寸放置:44 pt 公式在幻灯片上高度为 44 pt。
pptx_add_slide {
"file": "math.pptx",
"template": "math",
"title": "Собственные значения",
"subtitle": "линейная алгебра"
}
pptx_add_math {
"file": "math.pptx",
"font_size": 46,
"latex": "A\\mathbf{x} = \\lambda \\mathbf{x}, \\quad \\det(A - \\lambda I) = 0"
}
支持的语法包括分数与二项式(\frac{a}{b}、\dfrac、\tfrac、\binom{n}{k})、根号(\sqrt{x}、\sqrt[3]{x})、上下标与求和积分(x_i^2、\sum_{k=1}^{n}、\int_0^1、\lim_{x \to 0})、大算子(\sum \prod \coprod \int \iint \iiint \oint \bigcup \bigcap \bigoplus)、矩阵(matrix、pmatrix、bmatrix、Bmatrix、vmatrix、Vmatrix)、方程组与推导(cases、aligned、array{cc})、分隔符等。
适用场景与注意¶
适合使用该插件的场景包括:
- 需要从数据自动生成演示文稿的 Agent
- 需要在幻灯片中嵌入图表、代码和数学公式的报告生成
- 需要快速构建结构化演示文稿模板的项目
使用时需要注意:
- 插件以当前 DSH 进程的权限运行,安装前建议检查源码与许可证(本插件为 MIT)。
- 代码卡片和公式卡片最终为图片,修改内容需要删除并重新添加。
- 保持代码行数和长度在合理范围,以保证卡片和公式在幻灯片上的可读性。
结语¶
dsh-pptx-builder 将 PowerPoint 生成能力封装为 DSH 插件,让 Agent 能够直接输出可演示的 .pptx 文件,涵盖模板、配色、图表、代码高亮和 LaTeX 公式排版。对于需要在 DSH 生态中构建结构化演示文稿的开发者,这是一个可直接落地的工具。
目录页:https://www.skillhub.cn/plugins/ZhdanovDmitriy/dsh-pptx-builder
GitHub:https://github.com/ZhdanovDmitriy/dsh-pptx-builder