Foreword¶
DSH (DeepSeek Harness) adopts the “everything is a plugin” philosophy and builds an extensible ecosystem of skills and tools. In development and demo scenarios, manually creating PPT or web presentations is often time-consuming and tedious. The dsh-ppt plugin directly solves this pain point: it allows users to generate directly presentable HTML web pages and editable PPTX files from a single sentence, a passage of text, or a Markdown document.
The plugin is maintained by STARDUSTLC666 under the MIT license. It is implemented in pure Node.js with zero runtime dependencies, ensuring cross-platform compatibility (Windows / macOS / Linux). In addition to registering DSH skills, the plugin also supports bare SKILL.md usage across harnesses.
Core Capabilities¶
The plugin provides the following core features:
- Dual-format output: Generates HTML presentation files and PPTX presentation files.
- Toolset:
ppt_create: Generates a presentation based on input content.ppt_themes: Lists built-in themes.
- Page type support: Built-in 7 page types, including cover, section, bullet points, core points, quotes, tables, and ending page.
- Speaker notes: Supports note comments in Markdown (
<!-- 备注: ... -->). In HTML mode, pressSto invoke them; in PPTX mode, native notes are generated. - Animation support: Supports transitions between pages and entrance animations for bullet points. Enabled by default and can be disabled via configuration.
- Markdown recognition: Automatically recognizes tables, blockquotes, and note comments, and maps them to corresponding page types.
Installation and Enablement¶
Install the plugin in a DSH environment:
dsh plugin --profile web add dsh-ppt
After installation, restart the Web service to use the ppt_create and ppt_themes tools.
Usage¶
Using Inside a DSH Skill¶
- View built-in themes:
ppt_themes
- Create a presentation:
ppt_create {
title: "把会议减半",
content: "# 问题\n- 周会太多\n\n# 方案\n- 异步决策",
theme: "data",
lang: "zh"
}
Bare CLI Build (Cross-Harness)¶
Copy skills/dsh-ppt/ to any Agent Skills directory, and use the following command to build:
node <skill-dir>/scripts/build-deck.mjs \
--title "产品发布" \
--content deck.md \
--theme data \
--lang zh \
--out dist/deck
Output Description¶
After running the command, a “three-piece set” of files is generated:
| File | Purpose |
|---|---|
*.html |
Standalone web presentation: supports arrow keys, scroll wheel pagination, F for fullscreen, G for overview, and P for printing or saving as PDF. |
*.pptx |
16:9 editable presentation. |
*.json |
Structured manifest containing version, theme, language, and content for each page. |
File naming rule: If a file with the same name already exists, the new file gets a -1, -2 suffix. Overwriting happens only when overwrite: true is explicitly passed (--overwrite for CLI).
Built-in Themes¶
The plugin reuses the hyperframes visual style library and includes 5 built-in themes:
data: Data Drift (default, futuristic/immersive)swiss: Swiss Pulse (precise/rational)velvet: Velvet Standard (premium/restrained)soft: Soft Signal (warm/human-centric)bold: Bold Maximalist Type (loud/kinetic)
Technical Limitations and Compatibility¶
- Node version requirement: Requires Node.js 22.19.0 or later on the 22.x line, or 24 or later.
- Compatibility verification: Verified to pass on official
@deepseek-ai/dsh@0.1.5-rc.1. - PPTX generation mechanism: PPTX is implemented using blank layouts + text boxes; intelligent master placeholders are not currently generated. Text can be edited normally in PowerPoint / WPS.
- Content limitations: Charts and images are not currently supported.
bilingualmode only makes the player interface bilingual and does not automatically translate content. - One-sentence input: If the input is only a single sentence, a minimal three-page structure of “cover → core points → ending page” is generated automatically.
Summary¶
dsh-ppt provides a fast pipeline from text to presentation. For developers or product managers who frequently need to create presentations, the plugin’s pure Node implementation and zero external dependencies reduce toolchain complexity, while its dual-format output (HTML and PPTX) balances online presentation with offline editing needs.