DeepSeek Harness adopts a plugin-based architecture. Extension capabilities are typically implemented through installable packages. When generating courseware, fixed template styles must be combined with dynamically generated lesson outlines. The dsh-courseware plugin packages DeepSeek Harness’s native courseware skill and the pptxgen engine into an official plugin, addressing the need to manually maintain templates and rendering logic.
Plugin Purpose¶
This is a DSH plugin that generates PowerPoint files from template files and course outlines. Provided by the maintainer lnsdlszsqxxx, its core role is to encapsulate DeepSeek Harness’s courseware skill and the pptxgen engine into an official installable plugin package. After installation, a courseware skill appears in each agent’s skill directory, used for template composition and rendering.
Installation and Activation¶
Prerequisites: DeepSeek Harness and pnpm must already be installed in the environment.
- Run the installation command.
dsh plugin --profile web add /路径/到/dsh-courseware
After installation, restart the profile (stop it and run dsh web again) for the changes to take effect.
- Verify the installation.
dsh --profile web --dump-config
The output should contain a dsh-courseware line.
- Uninstall.
dsh plugin --profile web remove dsh-courseware
The plugin must be installed using the
dsh pluginform. Runningnpm installdirectly only installs the package as a regular library into the current directory; it does not register it to any profile, and the skill will never be loaded.
First Use: Initialize the Engine¶
The engine requires Python 3.10+. Before running courseware for the first time, you must initialize a virtual environment. The engine directory is typically two levels above the skill directory and can also be specified by the environment variable PPTXGEN_ENGINE_HOME.
- Initialize the virtual environment.
python3 -m venv "<引擎目录>/.venv"
- Install the engine dependencies.
"<引擎目录>/.venv/bin/pip" install -r "<引擎目录>/requirements.txt"
Configuration and Permissions¶
The plugin package contains no API key or secret configuration. Users must configure their own API keys or secrets via environment variables or configuration files. The engine’s image configuration precedence is: environment variables > courseware options.images > user configuration file.
- Environment variable method.
export PPTXGEN_IMAGE_BASE_URL="https://你的服务商/v1"
export PPTXGEN_IMAGE_MODEL="你的模型名"
export PPTXGEN_IMAGE_API_KEY="你自己的 key"
- User configuration file method (
~/.pptxgen/config.yaml).
images:
base_url: https://你的服务商/v1
model: 你的模型名
api_key: 你自己的 key
Notes¶
- Rendering dependencies: The
check --renderandpreviewfeatures require LibreOffice installed locally (macOS path:/Applications/LibreOffice.app). Only thebuildcommand does not depend on it. - Missing fonts: It is recommended to install common Chinese fonts to prevent font size degradation if template fonts are missing on the target machine.
- Package contents: The package includes the pptxgen engine source code, with no additional encryption or key files.
Summary¶
The plugin standardizes the courseware generation workflow by encapsulating the courseware skill and the pptxgen engine. By providing a template and an outline, you can generate PPT files with a consistent style. For more details and the source code, visit GitHub.