夜雨聆风学习资料网

ARTICLE · 1070923

万物皆插件:一句话让 Agent 替你做完整套 PPT

万物皆插件:一句话让 Agent 替你做完整套 PPT
DSH PLUGIN · OPEN SOURCE
★★★★★
万物皆插件
我给 DeepSeek Harness 写了个 PPT 生成插件
小凡想有腹肌
dsh-ppt-forge 作者
一个装进 DeepSeek Harness 的插件:四条久经考验的 PPT 生成路线,先聊清需求再开工,产出能在 PowerPoint 里继续编辑的原生 PPTX。
#开源插件
#PPT 生成
#AIAgent
NO.
001
开源手记
GRADE
S
VALID FOR ONE READ
ADMIT ONE 🎫
01
先说清楚它挂在什么上面
/ DeepSeek Harness

这篇文章的主角是我开源的一个插件,但它挂在别人的地基上。所以我想先把地基讲明白——不然下面「万物皆插件」那段会看得云里雾里。

DeepSeek Harness(命令行里写作 dsh)是 DeepSeek AI 开源的 agent harness,也就是智能体框架。MIT 协议,TypeScript 写的,跑起来只要一行 npx @deepseek-ai/dsh web,它会在 127.0.0.1:3080 起一个 Web UI,然后你就在浏览器里跟 Agent 对话。

它上线才一个多月,已经攒到 23.4 万 star、2.8 万 fork。这个速度本身说明了一件事:大家在等的不是又一个聊天框,而是一个能往里塞东西的壳。

有意思的是它官方仓库的一句话简介,连引用格式里的标题都是同一句:

DeepSeek Harness: Everything is a Plugin.

「一切皆插件」。这六个字就是它全部的设计主张,也是我写这篇东西的真正起因。

但先说一句不客气的:DSH 目前处于开发者预览阶段,官方明确写着「未来将出现破坏兼容性的变更」。打算把它用进工作流的话,锁版本、别裸奔。

02
「万物皆插件」不是口号
/ 是一篇论文

大多数项目说「插件化」,意思是「我们架构比较松耦合」。DSH 这里不一样——它有形式化基础

它构建在 Cordis 之上,设计写成了一篇论文:《A Programming Paradigm for Spatiotemporal Composability》(时空可组合性的编程范式),作者 Yifan Shi、Wei Zhang、Tianyi Cui,2026 年 8 月 26 日挂上 arXiv。

论文把「动态组合组件」这个老问题拆成两个正交的维度:

时间维度的可组合性

组件被移除时,它造成的副作用能不能被完整回退。这一条听起来像细节,其实是所有插件系统的老伤:装了一堆插件,卸掉之后配置项还留在那里、事件监听还挂着、状态是脏的。用久了就没人敢动。

空间维度的可组合性

组件之间的依赖能不能被声明出来,并被响应式地管理——谁依赖谁、谁先启动谁后卸载,不靠人肉记。

针对这两个维度,论文给出的机制是:可回退的副作用(每一次上下文变换都带一个由运行时持有的逆操作)与响应式协效应(每一次上下文变化都对照组件的协效应规格做分类,据此驱动它的启用与停用)。然后把两者统一到同一个上下文类型里,让所有副作用与协效应都经过它中介——这套纪律被命名为「上下文范式」。

落在代码上,Cordis 提供的是:带副作用追踪与协效应解析的核心库,外加一个声明式组件加载器,带配置协调和热模块替换

这对写插件的人到底意味着什么

这才是我想说的部分。上面那套形式化的东西,翻译成插件作者的日常,是很具体的三条好处。

01
你不需要 fork 上游:插件是一个独立的包,harness 本体一行都不用改。
02
插件敢开也敢关:卸载时副作用可回退,「装错了就卸掉」不会在你环境里留垃圾。我开发过程中来回开关插件几百次,配置从来没脏过。
03
热模块替换,改插件不用重启:改一行注册逻辑,刷新就生效。开发体验的差别大到不像同一个物种。
04
一个人可以长出一族插件:这条最直观。

我陆续把图像编辑、演示生成、尽调文档审查这三个八竿子打不着的方向,都做成了 DSH 插件,它们共用同一套骨架:

dsh-image-forge —— 图片编辑与生成,三条上游引擎路线加一个网页编辑器;

dsh-ppt-forge —— 就是今天这篇的主角,四条 PPT 生成路线;

dsh-dd-forge —— 尽调文档审查,文档进去、带出处的风险报告出来。

三个完全不同的领域,骨架是同一套:一个薄编排层 + 设计对话先行 + 上游能力原样挂载。这不是因为我聪明,是因为地基把那部分复杂度吃掉了。

所以「一切皆插件」的分量不在「能装插件」,而在装上和卸下都是干净的——它才敢成为唯一的扩展方式。

03
一个只做编排的薄插件
/ dsh-ppt-forge
它解决什么问题

用过 Agent 做 PPT 的人,大多踩过这两个坑。

一是生成的东西不好改。要么是一堆截图拼出来的假 PPT,要么是花里胡哨的 HTML——交付之后你没法在 PowerPoint 里继续编辑,等于拿到一张画。

二是各家工具各有绝活但互不兼容。有的擅长模板回改,有的擅长网页演示,有的设计方法论极强。你为了不同任务得来回换工具,还得记清楚哪个场景用哪个。

dsh-ppt-forge 的做法是:设计对话先行,四引擎按需接管。你不用研究该用哪个工具——插件自带一个路由技能,先跟你把三件事聊清楚,再把需求原样移交给最合适的引擎。

它问的三件事是:交付后还要不要编辑在哪放映有没有企业模板要遵守

四条路线
01
pptx 路线:要原生可编辑 PPTX、模板填充,或者对现有文稿做字节级保真回改。产出 .pptx,图表、表格、公式全是原生对象,不是贴图。
02
html 路线:要手机风格的横滑网页演示(衬线杂志风 / 瑞士网格风)。产出单文件 index.html,双击即放映,带演讲者模式与观众屏同步。
03
slides 路线:要经典 16:9 舞台演示、34 套模板设计库、PPTX 导入重制,或者导出 PDF。产出单文件 index.html,可选附一份 PDF。
04
design 路线:要设计主导。约 120 万种风格组合(84 种风格 × 192 套配色 × 74 组字体搭配),主题锁定,逐页验收评审。产出 .pptx 加一份可复现的构建脚本。

四条路线背后整合的是四个成熟的开源项目,插件本身只做编排,上游仓库原样拉取、署名完整:ppt-masterguizang-ppt-skillPPT-Design-Skillfrontend-slides

一个判断:为什么「薄」是对的

我原本可以把四个引擎的代码抄进来、揉成一个「大而全」的 PPT 工具。那样看起来更厉害,但会死在三件事上:上游一更新我就得手动合并;四个引擎的设计哲学会被我揉成一锅;出问题时我根本不知道是哪一层坏了。

只做编排,等于把「谁最懂这件事」的权力还给上游。 上游作者的措辞、动效、验收标准全都原样保留——用户拿到的不是我的二手转述,而是原作者的原意。

代价是我得接受上游的风格差异。这个代价我认为很值。

顺带一提:guizang-ppt-skill 是 AGPL-3.0,其它三个是 MIT。选择上游时这一条值得多看一眼。

04
三步装上,然后直接提需求
/ 使用方法
前提

已经在用 DSH,装了 gitPython ≥ 3.10Node 用 22.19 以上或 24 以上

最后这条不是凑数——已发布的 dsh CLI 依赖 import.meta.main在 Node 23.x 上会静默退出、什么都不做。我在这上面浪费过一个下午,所以单独拎出来说。macOS 加 Homebrew 的话,用 /opt/homebrew/opt/node@24/bin/node

第一步,装插件
bash

dsh plugin --profile default add github:McBonB/dsh-ppt-forge

第二步,进工作目录启动 dsh,然后说一句话
bash

run ppt_setup

它会自动克隆四个技能仓库(design 路线用稀疏克隆,只取 skill/)、建好 Python 虚拟环境、装齐依赖、注册技能。首次要几分钟,之后再跑是秒级——这一步是幂等的,上游更新后重跑一次即可重新注册。

为什么强调「进工作目录」:你生成的所有东西都落在启动 dsh 的那个目录里,不会污染插件包,也不会污染技能仓库。建议专门开一个目录(比如 ~/ppt-lab)做实验。

第三步,没有了

直接提需求。

实际用起来是什么体验

你说:

提问

帮我做一份我们团队 Q3 复盘的演示文稿,交付之后我还要在 PowerPoint 里继续编辑。

它不会闷头就画,而是先回你几个关键问题:受众是内部复盘还是向管理层汇报?会议多长(15 分钟约 10 页,30 分钟约 20 页)?基调偏务实数据还是更有仪式感?有没有 KPI 数据和项目清单可以给它?

你补齐之后,它锁定一份设计简报,移交给对应引擎正式开工。期间会跑插件内置的质量门(版式检查、溢出校验、演示稿校验),最后交付到你的工作目录。

想快?加一句「快速生成,不用确认」。想改现成的文稿?把文件丢给它说「按新内容回改这份,没动过的页保持原样」——未改动的对象会逐字节保真透传

几个设计上的讲究
01
成本干净:插件不引入任何模型密钥,用的是你 dsh 里已配好的模型,创作由会话里的 Agent 完成,没有额外推理成本。
02
内容隔离:导出的检查工具会主动拒绝托管目录内的路径,你想把半成品塞进插件目录都塞不进去。
03
可关可换:四条路线可以按需关闭;技能名、克隆源、Python 解释器、pip 镜像全部可配置。国内网络的朋友看 README 的受限网络章节,pipIndexUrl 和 pipProxy 就是为这个留的。
05
我拿它做了一份真稿
/ 成品

光说没用,看东西。我给它的需求是「生成一份介绍提示工程的 PPT」,受众是团队成员、约 15 到 20 分钟。

它最后交付了 13 页,风格落在 手绘笔记 · 亲和课堂——暖米纸底配暖绿、暖橙、薄荷绿和陶土红,手绘云朵、波浪横线、虚线学习路径,微软雅黑,16:9。

下面是从这份交付里挑的 5 页(直接取自终稿 SVG,矢量重绘,不是拍照):

— 第 1 页 封面:钩子放在一句话上,你的提示词决定模型输出质量的上限

— 第 2 页 为什么值得学:左边两张吐槽气泡,右边引出杠杆,落脚在「差的不是模型,是你给它的指令」

— 第 11 页 可复用的提示词模板:五区块组装,每一块都回指前面的技巧编号

— 第 12 页 趋势:提示词工程 → 上下文工程 → Agent 应用,并点明提示词工程并未过时

— 第 13 页 行动页:明天就能做的三件事,收在一句可复用的话上

整份交付里我认为最值得说的不是版式,是这几条:

01
每页脚注都标了来源:汇总里写着「全部 27 条关键论断来自一手来源」——OpenAI、Anthropic、Google 官方文档,加上 Wei 等人 2022 年的思维链论文。做技术分享最容易翻车的就是「听起来对」,它把这件事当成硬要求。
02
13 页都配了口语化讲稿:嵌在演讲者备注里,按 15 到 20 分钟写,直接开演示者视图就能讲。
03
质量门是确定性脚本,不是模型自评:SVG 质量门 13/13 通过、0 错误 0 告警,导出 postflight 也过了。这一点比「模型说它做完了」可信得多。

— 运行截图:121 次工具调用、19 条消息、1 个 subagent,最后交到工作目录

也说点不好听的
01
它不便宜,只是不额外收费:这份稿子跑了 121 次工具调用,前后花了我大约五个半小时。插件不收你一分钱,但模型 token 是你自己付的——「免费」指的是没有第二份账单,不是没有成本。
02
「保真回改」有边界:未改动的对象是逐字节透传,但改过的部分仍然需要你自己过一眼——尤其图表和数据。
03
许可证要看清:插件本身是 MIT,但 guizang-ppt-skill 是 AGPL-3.0。你要改它、再分发它,先读一遍 AGPL 的义务(含第 13 条网络使用条款)。原生 PPTX 路线的可选 PDF 导入依赖 PyMuPDF 同样是 AGPL-3.0。
04
它还在快速迭代:我第一次提交是 9 月 18 日,四条路线里最后一条(slides)是 9 月 20 日补上的。锁版本使用。
开源地址

github.com/McBonB/dsh-ppt-forge(MIT)

如果你也在用 DeepSeek Harness,欢迎装来试试;觉得方向有意思,点个 Star 是对我最大的鼓励。遇到问题直接提 Issue,或者来公众号后台找我。

一个插件敢长到多大,取决于它能被卸得多干净。

「一切皆插件」的分量从来不在「能装」,而在装上和卸下都不留残渣——所以它才敢成为唯一的扩展方式,也才容得下一个人同时维护图像、演示、文档三个方向的插件。

#DeepSeekHarness
#开源
#PPT
#AIAgent
#插件架构

我是 小凡想有腹肌

如果你觉得今天这篇有收获,帮忙点个赞、点个在看,再把公众号加个星标,三连,我们下篇见。

点赞
在看
星标

THANKS FOR READING ✂

/

相关学习资料