DSH NP-PPT 演示文稿专家插件 (dsh-np-ppt)
🌐 中文 · English
DSH(DeepSeek Harness)原生专用的全功能 PPT 演示文稿专家 插件。内置 PPTD DSL 引擎、55173 所见即所得可视化编辑器服务、Python-PPTX 高保真离线编译内核与一键导出 PPTX 功能。
✨ 核心特性
🎭 9 大专业视觉风格体系
- 👔 商务管理风(墨绿+黄铜金)
- 💻 深浅代码风(极客终端黑/蓝灰+亮绿)
- 🚀 高能增长风(活力橙+稳重深蓝)
- 🔮 炫光紫绿风(暗黑底色+电光紫绿)
- 📑 冷白调研风(瑞士极简白底+细黑线+红点缀)
- 📱 轻拟态风(柔和浅灰白+微质感卡片+科技蓝)
- 👑 黑金实验风(曜石黑+奢华哑光金)
- 📊 色谱图表风(纯净白底+多维对比色谱)
- 📖 深蓝杂志风(深海蓝底+金句引述+画册感)
🛠️ 模块化 PPTD 架构与标准 16:9 画布
- 采用清晰的 YAML 语法 DSL,解耦 OOXML 复杂逻辑,单个页面(
01_cover.page~XX_final.page)完全独立自洽; - 自动添加淡入淡出(Fade)幻灯片平滑切换过渡。
- 采用清晰的 YAML 语法 DSL,解耦 OOXML 复杂逻辑,单个页面(
🖥️ 55173 所见即所得可视化编辑器
- 内置轻量级本地 Web 编辑器(
http://127.0.0.1:55173/); - 支持多层嵌套富文本修改、自由拖拽对齐与实时渲染;
- 无缝集成:点击右上角「导出」弹窗中的「下载」即可直接触发本地高保真 Python-PPTX 编译引擎下载文件;选择「图片」时保持原生图片切图下载。
- 内置轻量级本地 Web 编辑器(
⚡ 高保真离线原生编译内核(Python-PPTX)
- 基于
RichTextHTMLParser状态机,完美支持无限层级嵌套 HTML 标签(<span>、<strong>、<b>、<em>、<i>、<u>、<br/>)与全格式颜色(#HEX、rgb()、rgba()、$theme); - 微软雅黑字族锁定(
Microsoft YaHei)、DrawingML 渐变背景、noAutofit文本框防缩放。
- 基于
📦 目录结构
dsh-np-ppt/
├── package.json # 插件元信息与导出入口
├── tsconfig.json # TypeScript 编译配置(输出至 lib/)
├── cordis.patch.yml # DSH / Cordis 插件注册清单
├── src/ # TypeScript 源码
│ ├── index.ts # 插件 Host 入口(Prompt 注入、服务治理、工具导出)
│ ├── service.ts # 55173 编辑器 Web 服务与 Python 编译桥接
│ ├── tools.ts # 原生 Agent Tools(ppt_export, ppt_serve 等)
│ └── client/ # DSH Web 前端插件扩展
├── lib/ # 预编译 ESM 代码(即装即用,无需构建)
├── compiler/
│ └── export_pptx.py # 高保真 Python-PPTX 离线编译引擎
├── editor/ # 55173 本地可视化编辑器静态资源
│ ├── index.html # 编辑器宿主页面
│ ├── app.js # 前端交互逻辑
│ ├── lib.js # 编辑器辅助库
│ └── styles.css # 编辑器样式
├── presets/ # Agent 预设(Persona & System Prompt)
│ ├── preset.yml # 「PPT 演示文稿专家」预设定义
│ └── agent.cordis.yml # 完整 Agent 配置(persona、工具、plan mode 等)
└── README.md # 本文件(中文 + English)
🧩 环境要求
| 依赖项 | 要求 | 说明 |
|---|---|---|
| DSH (DeepSeek Harness) | 已安装并能运行 dsh 命令 |
插件通过 dsh plugin --profile web add 挂载到 web profile,依赖 DSH 提供的 Cordis loader、systemPrompt 注入、Agent 工具等宿主能力 |
| Node.js | 与你的 DSH 版本自带/要求的 Node 一致(插件代码使用 ESM,需 Node 16+,推荐 18+) | 插件加载与 55173 编辑器服务由 Node.js 驱动;lib/ 为预编译 ESM,无需自行构建 |
| pnpm | DSH profile 默认使用的 pnpm(随 DSH 自带) | 挂载安装走 dsh plugin → pnpm link;workspace 根目录需加 -w 标志 |
| Python | 3.x(需可在命令行通过 py -3 / python3 / python 之一调用) |
高保真离线 PPTX 编译内核由 Python 驱动;插件会自动探测可用的 Python 命令 |
| Python 依赖 | pyyaml、python-pptx |
首次运行编译器时会自动通过 pip 安装到临时目录(缺网/缺 pip 时可手动 pip install pyyaml python-pptx) |
| 浏览器 | 推荐 Chrome / Edge 等支持 File System Access API 的现代桌面浏览器 | 55173 编辑器使用 window.showDirectoryPicker() 等能力授权本地目录读写;不支持该 API 的浏览器会降级为只读上传模式 |
💡 仅做"对话生成 + 命令行编译导出 PPTX"时,浏览器不是必须;但要在 55173 可视化编辑器中拖拽对齐、实时渲染并一键下载,建议使用 Chrome/Edge 桌面版。
🔌 安装与激活方法
以下示例中
<项目路径>表示本插件在你本机的目录路径,安装时请按实际位置替换。
方式一:通过 DSH 命令行挂载(推荐)
在终端中指定 --profile web 执行安装挂载:
dsh plugin --profile web add link:<项目路径>
在 pnpm workspace 根目录下添加时可能需要附加
-w/--workspace-root参数,例如:dsh plugin --profile web add -w link:<项目路径>
方式二:手动配置到 DSH 配置文件
在 ~/.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)即可加载插件。
🚀 使用指南
插件装载成功后,DSH Web GUI 中会新增一个自定义 Agent 预设 —— 「PPT 演示文稿专家」。该预置内置了完整的 PPTD DSL 编写规范、9 大风格主题说明、本地编译与 55173 编辑器联动指引,并自动注入到系统提示词,使 AI 直接具备演示文稿创作能力;脚本同时把预设文件复制到 ~/.dsh/.agent-presets/np-ppt/ 以便离线复用。
1. 对话驱动生成
在 DSH Web GUI 中切换到 PPT 演示文稿专家 预设,直接与 AI 对话:
"帮我用科技蓝风格做一份 8 页的《微服务架构重构技术方案》"
2. 本地可视化编辑与导出
- 在浏览器中打开
http://127.0.0.1:55173/; - 点击「打开 PPTD 文件夹」,授权选择包含
deck.pptd的项目目录; - 直接在页面中进行文字修改、排版调整;
- 点击右上角「导出」-> 选择 PPT -> 点击「下载」,即可下载高保真 PPTX 幻灯片。
3. 命令行直接编译
在 PPTD 项目目录下直接运行内置编译器:
py -3 <项目路径>/compiler/export_pptx.py deck/deck.pptd --output deck/deck.pptx --force
macOS / Linux 下请使用
python3:python3 <项目路径>/compiler/export_pptx.py deck/deck.pptd --output deck/deck.pptx --force首次运行若无pyyaml/python-pptx,脚本会自动通过 pip 安装。
English
⬆️ 中文
A native full-featured Presentation & Slide Design Expert plugin for DSH (DeepSeek Harness). Built-in PPTD DSL engine, 55173 WYSIWYG visual editor service, Python-PPTX high-fidelity offline compiler, and 1-click PPTX export.
✨ Key Features
🎭 9 Preset Professional Visual Design Systems
- 👔 Business Management (Emerald + Brass Gold)
- 💻 Geek / Code Theme (Terminal Slate + Bright Green)
- 🚀 High-Energy Growth (Vibrant Orange + Deep Navy)
- 🔮 Electric Violet (Cyber Dark + Neon Violet/Cyan)
- 📑 Swiss Minimalist (Pure White + Fine Black Line + Red Accent)
- 📱 Neomorphic Tech (Soft Light Gray + Card Glass + Tech Blue)
- 👑 Obsidian & Gold (Matte Black + Luxury Satin Gold)
- 📊 Metric Spectrum (Pure White + Multidimensional Spectrum)
- 📖 Deep Blue Pictorial (Deep Sea Blue + Quote Callouts + Editorial Feel)
🛠️ Modular PPTD DSL Architecture (16:9 Canvas)
- Clean YAML DSL abstracting OOXML, self-contained modular slides (
01_cover.page~XX_final.page). - Automatic slide-level fade transitions.
- Clean YAML DSL abstracting OOXML, self-contained modular slides (
🖥️ 55173 WYSIWYG Visual Editor
- Integrated lightweight local Web editor at
http://127.0.0.1:55173/. - Multi-level nested rich-text editing, free drag-and-drop alignment, real-time rendering.
- Seamless export interception: clicking "Download" inside the top-right "Export" dialog directly triggers the local high-fidelity Python-PPTX compiler; choosing "Image" keeps the native image-slice download.
- Integrated lightweight local Web editor at
⚡ High-Fidelity Python-PPTX Native Compiler
- Integrated
RichTextHTMLParsersupporting infinite nesting HTML tags (<span>,<strong>,<b>,<em>,<i>,<u>,<br/>) and CSS colors (#HEX,rgb(),rgba(),$theme). - Microsoft YaHei font locking, DrawingML gradient backgrounds, and
noAutofittext frames.
- Integrated
📦 Directory Structure
dsh-np-ppt/
├── package.json # Plugin metadata & export entry
├── tsconfig.json # TypeScript build config (outputs to lib/)
├── cordis.patch.yml # DSH / Cordis plugin registration manifest
├── src/ # TypeScript sources
│ ├── index.ts # Plugin Host entry (prompt injection, service, tools export)
│ ├── service.ts # 55173 editor web service & Python compiler bridge
│ ├── tools.ts # Native Agent Tools (ppt_export, ppt_serve, etc.)
│ └── client/ # DSH Web front-end plugin extension
├── lib/ # Pre-compiled ESM (ready to use, no build needed)
├── compiler/
│ └── export_pptx.py # High-fidelity Python-PPTX offline compiler
├── editor/ # 55173 local visual editor static assets
│ ├── index.html # Editor host page
│ ├── app.js # Front-end interaction logic
│ ├── lib.js # Editor helper library
│ └── styles.css # Editor styles
├── presets/ # Agent presets (Persona & System Prompt)
│ ├── preset.yml # "Presentation Expert" preset definition
│ └── agent.cordis.yml # Full agent config (persona, tools, plan mode, etc.)
└── README.md # This file (中文 + English)
🧩 Requirements
| Dependency | Requirement | Notes |
|---|---|---|
| DSH (DeepSeek Harness) | Installed and the dsh command runnable |
The plugin mounts via dsh plugin --profile web add and relies on DSH's Cordis loader, systemPrompt injection, Agent tools, etc. |
| Node.js | Match the Node bundled/required by your DSH version (plugin is ESM, needs Node 16+, 18+ recommended) | Plugin loading and the 55173 editor service are Node-driven; lib/ ships pre-compiled ESM, no build needed |
| pnpm | The pnpm used by the DSH profile (bundled with DSH) | Mounting goes through dsh plugin → pnpm link; adding in a workspace root needs the -w flag |
| Python | 3.x (callable via one of py -3 / python3 / python) |
The high-fidelity offline PPTX compiler is Python-driven; the plugin auto-detects an available Python command |
| Python deps | pyyaml, python-pptx |
Auto-installed via pip to a temp dir on first compiler run (offline / no pip: manually pip install pyyaml python-pptx) |
| Browser | Modern desktop browser with the File System Access API (Chrome / Edge recommended) | The 55173 editor uses window.showDirectoryPicker() for local folder read-write; browsers without it fall back to read-only upload |
💡 A browser is not required for "conversation + CLI export"; it's recommended only for the 55173 visual editor (drag-align, real-time render, 1-click download).
🔌 Installation
Replace
<plugin-path>below with your actual local plugin directory.
Option 1: Mount via the DSH CLI (recommended)
dsh plugin --profile web add link:<plugin-path>
In a pnpm workspace root you may need the
-w/--workspace-rootflag:dsh plugin --profile web add -w link:<plugin-path>
Option 2: Manual config
Add to ~/.dsh/profiles/web/cordis.patch.yml:
- insert:
- id: dsh-np-ppt
name: 'dsh-np-ppt'
Then create a symlink in ~/.dsh/profiles/web/node_modules/ pointing to <plugin-path>
(Windows: mklink /J; macOS/Linux: ln -s).
After installing, restart the web profile (Ctrl+C in the dsh web terminal, then run dsh web again) to load the plugin.
🚀 Usage
Once the plugin is loaded, a custom Agent preset — "Presentation Expert" — is added to the DSH Web GUI. It bundles the full PPTD DSL authoring spec, 9 visual style themes, and local compiler / 55173 editor orchestration guidance, and is auto-injected into the system prompt so the AI can draft presentations out of the box; the preset files are also copied to ~/.dsh/.agent-presets/np-ppt/ for offline reuse.
1. Conversation-driven generation
Switch to the Presentation Expert preset in the DSH Web GUI and just talk to the AI:
"Make an 8-page Microservice Refactoring proposal in Tech-Blue style."
2. Local visual editing & export
- Open
http://127.0.0.1:55173/in your browser. - Click "Open PPTD folder" and authorize the directory containing
deck.pptd. - Edit text and layout directly on the page.
- Click the top-right "Export" → choose PPT → "Download" to get a high-fidelity PPTX.
3. CLI compilation
Run the built-in compiler inside your PPTD project directory:
py -3 <plugin-path>/compiler/export_pptx.py deck/deck.pptd --output deck/deck.pptx --force
On macOS/Linux use
python3. First run auto-installspyyaml/python-pptxvia pip.
No comments yet. Be the first to write one.