DSH(DeepSeek Harness)采用插件化架构。在 Web Profile 下,直接在聊天窗口编写复杂的 PPT 生成流程会面临提示词管理、会话上下文截断和权限控制等问题。dsh-ppt-maker 插件通过在 composer 菜单中增加一个入口,将一份自包含的 58KB 编排提示词封装进插件内部,触发一次消息发送即可启动全流程。
核心功能¶
- 菜单入口:在输入框左下角
+菜单中添加PPT制作选项。 - 触发机制:点击后仅发送一条启动消息,不修改会话权限,不开启宿主 HTTP 路由。
- 全流程编排:Agent 接收到提示词后,依次执行环境检查、需求确认、风格选择、初稿生成、图形/图像处理、图表动效及 PPTX 导出。
- 确定性管线:内置 HTML 到 PPTX 的转换脚本,支持渲染、生成和真机验收三道校验。
- 自包含:提示词文件随插件打包,不占用聊天上下文,工作目录为空时亦可运行。
安装¶
确保已安装 DSH 桌面端或 Web Profile(需包含 dsh-client-ui-commands 与 dsh-client-ui-conversation)。
使用官方命令安装:
dsh plugin --profile web add github:kitterfast/dsh-ppt-maker
安装完成后,插件会自动挂载。如需手动校验或开发,需本地环境满足 Node.js ≥ 20。
使用方法¶
- 在 DSH 界面点击输入框左下角的
+按钮。 - 在弹出的菜单中选择
PPT制作。 - 在子选项中选择:
- A. 使用 AI 生图:调用 Seedream(需火山方舟账号),成本约 0.3 元/张。
- B. 不使用 AI 生图:使用程序化图形/SVG,零成本且断网可用。
- 插件发送一条 kickoff 消息,预答检查点 0。之后流程会停在检查点 ①(需求)、②(风格)、③(导出)等待确认。
工作流与权限¶
全流程涉及无头浏览器渲染、工作区临时目录写入等操作,默认处于受限沙箱环境。
- 一次性确认:插件首次启动时,Agent 会请求发送
/permission danger-full-access。这是为了绕过每一步操作的安全弹窗。发送该指令后,后续流程不再逐条打断。 - 安全边界:插件本身不会修改会话权限,必须由用户手动发送
/permission指令。若不发送,Agent 会自动回退到安全的无外部写入路径(Checkpoint A0/7B)。
HTML → PPTX 确定性管线¶
该插件包含一套自带的转换管线(v2.0.0),用于解决 Agent 现场编写转换器导致的不稳定问题。
- 渲染:无头浏览器生成真 Alpha 图层。
- 生成:按形状 ID 定位,写入原生 PowerPoint 时间轴。
- 验收:检查结构并逐页进行像素级对比。
node scripts\deck\deck-render.mjs build\deck.config.json
node scripts\deck\deck-to-pptx.mjs build\deck.config.json
node scripts\deck\deck-verify.mjs build\deck.config.json
注意:
* 文字采用栅格化处理,无法在 PPT 中直接编辑,已写入备注页或作为图片替换。
* 无限循环动效(CSS infinite)无法映射到 PowerPoint 时间轴,管线会检测并警告。
设计边界¶
- 不修改会话权限:安全策略由用户控制。
- 不开宿主 HTTP 路由:插件不向用户客户端暴露未认证接口。
- 不往聊天里塞提示词全文:提示词作为插件资源文件存在,避免版本管理失效。
- 不发送 Composer 通知:仅通过聊天窗口可见状态交互。