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, press S to 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

  1. View built-in themes:
    ppt_themes
  1. 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. bilingual mode 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.

GitHub repository