前言¶
在 DeepSeek Harness(DSH)里做演示文稿,常见做法是:让会话改 Markdown 或脚本,再另开 PowerPoint 核对版式;或者把 .pptx 丢给通用工具,结果被重排到模板里,和原稿对不上。DSH 社区插件 dsh-ppt-studio(维护者 p8054076283-del)把「文稿数据、16:9 预览、就地改字、原样导入、同屏 AI 对话」收进左侧栏 PPT 工作台,工作区里的真源是 <workspace>/.ppt-studio/deck.json。
下面按定位、能力、安装、用法和限制说明;安装前请自行查看仓库源码与 MIT 许可证。插件与当前 DSH 进程同权限运行,导入脚本会读写工作区路径。
这是什么¶
dsh-ppt-studio 是面向 DeepSeek Harness 的客户端类插件:在侧边栏注册 PPT 工作台,把 deck.json 渲染成真实 16:9 缩略图与大预览(DOM 布局,不是截图),支持点击文本/表格单元格就地编辑并写回文件;可通过聊天栏附件触发 /import,用 python-pptx 按元素几何导入 .pptx;中间列绑定当前会话,可 Markdown 展示、附件进 .ppt-studio/inbox,并让 AI 直接改写 deck.json。
分类上属于 DSH 生态里的客户端插件;社区目录页在 skillhub.cn,与 DeepSeek / 幻方无官方从属关系,DSH 本身也遵循「一切皆插件」的扩展方式。
核心功能¶
实时 16:9 预览¶
缩略图条与大预览都是对 deck.json 的 DOM 渲染。坐标以英寸计,画布为 13.333 × 7.5;渲染器再换算为百分比与 cqw 字号,容器缩放时幻灯片同比缩放。
所见即所得编辑¶
在预览上点击文本块或表格单元格即可输入;点到别处保存,Esc 取消。编辑器尽量保留原字号、字重、对齐与颜色。表格是一等元素,可逐格编辑。
PPTX 导入(非重排版)¶
/import 调用 scripts/import-pptx.py,逐页逐元素复制绝对几何、主题 XML 解析后的颜色(含 lumMod/lumOff/tint/shade)、渐变与透明度、圆角与椭圆、按内容哈希去重的图片、表格、组合变换,以及版式/母版上的装饰。README 说明混合 run 样式(spans)与圆角卡片在导入后仍可保留。
含图表、SmartArt 或 OLE 的页整页经 LibreOffice → PDF → PNG 栅格化为全幅嵌入图,视觉保真;这类页只读。
AI 对话栏¶
中间列对接当前 Harness 会话:Markdown、粘贴/拖拽/选择器附件(落入 .ppt-studio/inbox)、实时 process 页展示工具调用与耗时,以及一键提示词。会话可重写 deck.json。
文件监听与其它¶
面板轮询 deck.json;外部修改会高亮变更页,面板自身保存不会误标为「AI 改过」。单比例分割条占满页面,窗口缩放时两侧仍可用。
安装与启用¶
插件以单个 tarball 分发,无运行时 npm 依赖;导入 .pptx 需要 Python 3 与 python-pptx、lxml。图表页栅格化可选 LibreOffice 与 pdftoppm(poppler)。Python 解释器查找顺序:DSH_PPT_PYTHON → 桌面应用捆绑运行时 → ~/.dsh/dsh-runtimes → PATH 上的 python / python3 / py。
官方安装命令(来自仓库 README):
dsh plugin --profile web add \
https://github.com/p8054076283-del/dsh-ppt-studio/releases/latest/download/dsh-ppt-studio.tgz
本地构建并安装 tarball 时:
node build2.mjs && npm pack
dsh plugin --profile web add file:$(pwd)/dsh-ppt-studio-<version>.tgz
首次安装后需重启应用一次,侧边栏会出现 PPT 工作台。package.json 标明插件版本 1.0.1、Node >=20。
典型用法¶
- 打开已含
.ppt-studio/deck.json的工作区,或点击 新建示例文稿。仓库提供examples/demo-deck.json,可复制到<workspace>/.ppt-studio/deck.json试面板,无需动自己的 deck。 - 在幻灯片上点击文字编辑;
Esc取消,点其它区域保存。 - 将
.pptx拖入聊天栏,在附件芯片上点 导入,用元素保真导入替换当前 deck。 - 在对话栏描述修改需求,由会话直接改写
deck.json。
deck.json 结构要点(节选,字段含义见 README):
{
"version": 1,
"theme": { "bg": "#FFFFFF", "fg": "#1F2328", "accent": "#2F6FED", "font": "Microsoft YaHei" },
"meta": { "title": "Quarterly review" },
"slides": [
{
"id": "s1",
"layout": "imported",
"title": "Cover",
"elements": [ /* shape | image | text | table,x/y/w/h 为英寸 */ ]
}
]
}
Host 侧在 loopback 提供 /ppt-studio 下路由(如 /health、/import、/deck PUT 等),客户端注册 sidebar.panellist(id ppt-studio)与 main 页 ppt-studio。
适用场景与注意¶
适合:在 DSH 工作区内维护演示稿 JSON、需要和 AI 同屏改稿、希望 .pptx 导入后尽量保持原几何而非模板重排、接受 chart/SmartArt 页以只读整页图呈现的场景。
已知限制(README Known limitations):
- 不支持阴影、发光、3D、旋转、WordArt、动画;形状以矩形、圆角矩形、椭圆或渐变绘制。
- 文本框可有
spans混排,但就地编辑会把混排压成基础样式。 - 4:3 deck 会缩放进 16:9 画布。
- 图表 / SmartArt / OLE 页为图片,不可编辑。
- 再次导入
.pptx会覆盖面板内编辑,因真源是导入结果文件。
安装插件前请阅读 GitHub 仓库 源码与 MIT 许可证,并确认 Python/LibreOffice 依赖是否符合你的环境。插件以当前 DSH 进程权限访问工作区,勿在不可信工作区盲目导入外部 .pptx。
结尾¶
dsh-ppt-studio 把 deck.json 的 live 预览、就地编辑、元素级 PPTX 导入和会话侧 AI 栏合成一个左侧栏工作台,适合在 Harness 里把演示稿和智能体迭代放在同一工作区。问题反馈可走仓库 Issues。