The core idea of DeepSeek Harness is “Everything Is a Plugin”. When building automated workflows, agents often need to handle presentation files. Conventional solutions either rely on locally installed PowerPoint or LibreOffice, or depend on external conversion services. dsh-plugin-web-ppt is a pure JS implementation that directly reads and exports PPT files in the Harness environment, without internet access or Office installation.

Core Tools

The plugin provides three tools, corresponding to reading, rendering, and exporting:

  • ppt_read: Returns titles, body text, and speaker notes page by page. It is the entry point for an Agent to understand a PPT.
  • ppt_render_svg: Exports each page as a self-contained SVG (images inlined as data URIs).
  • ppt_export_html: Exports the whole presentation as printable HTML; using the browser’s “Print to PDF” function yields a PDF file.

All file read/write operations go through Harness’s fs service, so workspace ownership, sandbox policies, and write approvals behave consistently with regular Harness behavior.

Installation and Activation

Run the following command in a terminal to install it:

dsh plugin --profile <你的 profile> add dsh-plugin-web-ppt

After installation, run dsh --profile <name> --dump-config. The configuration output will include a # == dsh-plugin-web-ppt node, indicating that the plugin is active.

Configuration

The plugin supports override configuration through the profile’s cordis.patch.yml. Note that the patch replaces the entire config, so all key-value pairs must be specified.

- id: web-ppt
  name: dsh-plugin-web-ppt
  config:
    maxFileBytes: 134217728
    maxTextChars: 40000
    includeHidden: false
Configuration Key Default Value Description
maxFileBytes 67108864 (64 MB) Maximum size for reading a single file; exceeding it causes immediate failure
maxTextChars 20000 Text budget for ppt_read; excess is truncated and marked as truncated
includeHidden false Whether hidden slides are included by default

Boundaries and Limitations

The plugin operates in read-only mode and does not support writing or editing PPT files.

Capability Limitation
File formats Supports .pptx (Zip+OOXML) and .ppt (CFB+Escher)
Export formats Does not support PNG export (Node environment has no canvas)
Encrypted files Not supported by default; a password must be passed at invocation
Animations Does not support playing animations; only final states or click-based step expansion can be exported
SVG compatibility Exported SVG uses native <text> rather than foreignObject to ensure compatibility with design tools
File size Single-file read limit is 64 MB

Typical Usage

The pages parameter is always a 1-based selection string, for example 1-3,7 means pages 1, 2, 3, and 7. Omitting this parameter means all pages.

1. Reading PPT contents

Read the title, body, and notes of specified pages:

ppt_read path/to/presentation.pptx pages=1-5 password=yourpass

2. Exporting SVG

Render each PPT page as SVG and save to the specified directory:

ppt_render_svg path/to/presentation.pptx out_dir=slides pages=1-3

3. Exporting printable HTML

Generate a printable HTML file containing all animation steps:

ppt_export_html path/to/presentation.pptx out_file=print.html animation_steps=true

Summary

dsh-plugin-web-ppt provides native PPT processing capability for DeepSeek Harness. It does not depend on external conversion services, does not require local Office software, and all operations are governed by Harness’s permission system. For scenarios where presentation handling is needed in Agent workflows, this is a direct solution.