前言¶
DeepSeek Harness (DSH) 旨在通过插件化扩展实现功能覆盖。在生成可编辑的 PPTX 文档场景中,通常需要处理复杂的模板渲染、校验逻辑以及与外部 PPT 运行时的交互。dsh-workbuddy-ppt 作为一个 DSH 插件,提供了一套自包含的解决方案,允许在本地生成可编辑的 PPTX 文件,并提供确定性的 PPTD 校验能力。
插件简介¶
dsh-workbuddy-ppt 是由 SuperstructureJH 维护的 DSH 工作流插件。其核心价值在于:
* Editable PPTX generation for DSH:在 DSH 中直接生成可编辑的 PPTX 文件。
* Bundled Kimi-compatible authoring Skill:内置了 Kimi 兼容的作者技能,无需额外配置即可使用。
* Deterministic PPTD v2 checks:提供确定性的 PPTD v2 校验机制,确保生成内容的结构一致性。
* Local PowerPoint renderer:使用本地 PowerPoint 渲染器处理输出,不依赖外部演示运行时。
* Shared workspace:支持共享工作区图片、会话存储、审批、审计和交付预览。
* CLI tools:提供 dsh-pptd 命令行工具,用于转换、检查、渲染和截图。
该插件采用 MIT 许可证开源。
核心功能¶
- 双模式支持:
- PPT 模式:使用本地渲染器生成可编辑的 PPTX,包含内置的 Kimi 技能和 PPTD 校验。
- Slides 模式:可选模式,使用腾讯 PPT 技能、SlideP 和腾讯文档运行时 artifacts。
- CLI 工具集:提供完整的命令行工具,支持从 PPTX 转换为 PPTD 项目、自动校验、代码检查、截图预览和渲染输出。
- 共享基础设施:两种模式共享受治理的工作区图片、会话存储、审批流程、审计日志和交付预览功能。
安装与启用¶
安装该插件需要满足 Node.js 版本要求(^22.19.0 或 >=24.0.0)。使用以下命令进行安装:
dsh plugin --profile web add dsh-workbuddy-ppt
安装完成后,DSH 将自动加载包内自带的 kimi-ppt Skill 和 PPTD 校验逻辑。
CLI 工具使用¶
插件提供 dsh-pptd 命令行工具,用于处理本地 PPTD 项目。以下是常用命令:
# 转换:将 PPTX 转换为可编辑的 PPTD v2 项目
dsh-pptd convert <input>.pptx --output <project-directory> --
# 检查:检查指定页面,指定严重级别
dsh-pptd check <project> --page 1,3-5 --severity error,warning --level keep --
# 检查自动:应用确定性修复(如类型转换、删除无效节点)
dsh-pptd check <project> --level auto --
# 检查:列出所有问题
dsh-pptd inspect <project> --
# 截图:生成项目内页面的本地预览
dsh-pptd screenshot <project> --page 1-3 --output <screenshots> --scale 2 --
# 渲染:将 PPTD 项目编译为可编辑的 PPTX
dsh-pptd render <project> --output <output>.pptx --
CLI 工具特性说明¶
- 诊断式转换:
convert命令将 PPTX 转换为 PPTD,此过程为诊断性而非无损转换。如果源文件包含不支持的特征或资源违规,CLI 会返回详细的 JSON 收据。 - 原子发布:文件发布是原子的,若输出文件已存在,通常需要使用
--force参数。 - 无外部依赖:CLI 不执行或依赖外部演示运行时,所有渲染逻辑在本地完成。
- 网络限制:加载器在加载过程中禁用了网络资源。
注意事项¶
- Node.js 版本:确保环境满足 Node.js ^22.19.0 或 >=24.0.0。
- PPTD v2:生成的 PPTD v2 文件是渲染器的源文件,而非并行诊断导出。
- 安全与审计:由于插件涉及文件渲染和权限控制,建议在安装前查阅源代码和许可证。
- 适用场景:适合需要在 DSH 工作流中生成结构化、可编辑 PPTX 文档,且需要严格控制渲染环境和输出质量的技术团队。
总结¶
dsh-workbuddy-ppt 通过提供内置的作者技能、确定性的校验机制以及本地化的 CLI 工具,降低了在 DSH 环境中生成高质量 PPTX 文档的门槛。其模块化的设计(PPT 模式与 Slides 模式)也为不同场景提供了灵活的选择。更多细节可查阅 GitHub 仓库。