前言¶
让智能体产出一份能直接交付的演示文稿,在 Agent 开发里一直不算轻松。常见做法是让模型输出 Markdown 或大纲,再由人工套模板排版;如果想直接生成 PPTX,又要面对 OOXML 的复杂格式,出错概率不低。
dsh-np-ppt 把这件事收敛到了 DSH(DeepSeek Harness)插件体系内:用一套 YAML 语法的 PPTD DSL 描述幻灯片,配合本地可视化编辑器与 Python-PPTX 编译内核,从对话生成到导出 PPTX 在同一条链路上完成。下面介绍这个插件的定位、核心能力和安装使用方法。
这是什么¶
dsh-np-ppt 是 DSH 原生的 PPT 演示文稿专家插件,作者为 GitHub 用户 z953218350,采用 MIT 许可证,当前版本 1.0.0。一句话概括:内置 PPTD DSL 引擎、55173 所见即所得可视化编辑器、Python-PPTX 高保真离线编译内核与一键导出 PPTX 功能。
DSH 的理念是「一切皆插件」,插件可以注入系统提示词、注册 Agent 工具、扩展 Web 前端。这个插件按同一套机制工作:装载后会在 DSH Web GUI 新增「PPT 演示文稿专家」Agent 预设,自动注入系统提示词,使 AI 直接具备演示文稿创作能力;同时把预设文件复制到 ~/.dsh/.agent-presets/np-ppt/,便于离线复用。
核心功能¶
PPTD DSL 引擎¶
PPTD 采用 YAML 语法描述幻灯片,标准 16:9 画布。页面按文件模块化拆分,从 01_cover.page 到 XX_final.page,每页独立自洽。编译时自动为所有幻灯片添加淡入淡出(Fade)切换过渡。
55173 所见即所得可视化编辑器¶
插件内置一个轻量级本地 Web 编辑器,服务地址为 http://127.0.0.1:55173/,支持多层嵌套富文本修改、自由拖拽对齐与实时渲染。
导出弹窗做了联动:点「下载」直接触发本地 Python-PPTX 编译引擎生成文件;选「图片」则保持原生图片切图下载。
Python-PPTX 高保真离线编译内核¶
编译内核位于 compiler/export_pptx.py,离线运行。它基于 RichTextHTMLParser 状态机解析富文本,支持无限层级嵌套的 HTML 标签(span、strong、b、em、i、u、br),颜色支持 #HEX、rgb()、rgba()、$theme 全格式。
输出侧做了几处保真处理:微软雅黑(Microsoft YaHei)字族锁定、DrawingML 渐变背景、noAutofit 文本框防缩放。
9 大专业视觉风格体系¶
内置九套视觉风格:
- 商务管理风
- 深浅代码风
- 高能增长风
- 炫光紫绿风
- 冷白调研风
- 轻拟态风
- 黑金实验风
- 色谱图表风
- 深蓝杂志风
Agent 工具与前端扩展¶
插件注册了原生 Agent Tools(ppt_export、ppt_serve 等),并通过 client 注入方式提供 DSH Web 前端插件扩展。
安装与启用¶
先确认环境:需要已安装并能运行 dsh 命令的 DSH 环境;Node.js 16+(推荐 18+),插件为预编译 ESM,lib/ 目录即装即用,无需构建;Python 3.x,需 py -3 / python3 / python 之一可调用。
推荐通过 DSH 命令行挂载,在终端执行:
dsh plugin --profile web add link:<项目路径>
<项目路径> 指插件在本机的目录路径,按实际位置替换。在 pnpm workspace 根目录下添加时,可能需要附加 -w/--workspace-root 参数:
dsh plugin --profile web add -w link:<项目路径>
如果不走命令行,也可以手动配置:在 ~/.dsh/profiles/web/cordis.patch.yml 中添加:
- insert:
- id: dsh-np-ppt
name: 'dsh-np-ppt'
然后在 ~/.dsh/profiles/web/node_modules/ 下建立指向项目路径的符号链接:Windows 用 Junction / mklink /J,macOS 与 Linux 用 ln -s。
安装完成后需要重启 web profile:在运行 dsh web 的终端按 Ctrl+C,再重新执行 dsh web,插件即加载生效。
关于 Python 依赖:首次运行编译器时会自动通过 pip 安装 pyyaml 与 python-pptx;缺网或缺 pip 的环境可手动执行:
pip install pyyaml python-pptx
典型用法¶
对话驱动生成¶
在 DSH Web GUI 中切换到「PPT 演示文稿专家」预设,直接与 AI 对话,例如:
帮我用科技蓝风格做一份 8 页的《微服务架构重构技术方案》
该预设内置了完整的 PPTD DSL 编写规范、9 大风格主题说明,以及本地编译与 55173 编辑器的联动指引。
本地可视化编辑与导出¶
经过上面的步骤装好插件后,可以在浏览器里做可视化调整:
- 浏览器打开
http://127.0.0.1:55173/; - 点击「打开 PPTD 文件夹」,授权选择包含
deck.pptd的项目目录; - 在页面中直接修改文字、调整排版,实时查看渲染效果;
- 点击右上角「导出」-> 选择 PPT -> 点击「下载」,即可下载 PPTX 幻灯片。
命令行直接编译¶
不需要编辑器时,可以在 PPTD 项目目录下直接运行内置编译器:
py -3 <项目路径>/compiler/export_pptx.py deck/deck.pptd --output deck/deck.pptx --force
macOS / Linux 下把 py -3 换成 python3。首次运行若无 pyyaml / python-pptx,脚本会自动通过 pip 安装。
适用场景与注意事项¶
适合的场景:
- 已在使用 DSH,希望通过对话直接产出可交付 PPTX 的用户;
- 生成后需要在本地做可视化微调、再编译导出的工作流;
- 希望离线编译、不依赖在线转换服务的环境。
使用前注意:
- 浏览器要求:55173 编辑器使用
window.showDirectoryPicker()等 File System Access API 能力授权本地目录读写,推荐 Chrome / Edge 等支持该 API 的桌面浏览器;不支持该 API 的浏览器会降级为只读上传模式。仅做「对话生成 + 命令行编译导出 PPTX」时,浏览器不是必须。 - 权限与安全:插件以当前
dsh进程的权限运行。安装前建议先阅读项目源码与许可证(MIT),确认可接受再挂载。 - 手动安装时,符号链接的建立方式因系统而异:Windows 用 Junction /
mklink /J,macOS 与 Linux 用ln -s。
结语¶
dsh-np-ppt 把对话生成、本地可视化编辑和离线编译导出串成一条链路:对 DSH 用户来说,装载一个插件即可让 Web GUI 多出一位「PPT 演示文稿专家」,产出物是标准 PPTX 文件,可直接进入后续使用环节。
项目地址与目录页:
- GitHub:https://github.com/z953218350/dsh-np-ppt
- 社区插件目录:https://www.skillhub.cn/plugins/z953218350/dsh-np-ppt
(目录为社区独立维护的站点,与 DeepSeek 无官方从属关系。)