夜雨聆风学习资料网

ARTICLE · 1040938

dsh-officecli插件进阶之路:从“能生成PPT”到“生成好看的PPT”,我踩了哪些坑

dsh-officecli插件进阶之路:从“能生成PPT”到“生成好看的PPT”,我踩了哪些坑
DSH · PLUGIN DEV
OPEN SOURCE · V2

插件进阶之路:从“能生成PPT”到“生成好看的PPT”

被按在地上摩擦之后,我决定把场子找回来——三轮优化,从“白底黑字”到“拿得出手”。

DSH 插件开发实战 · 开源项目 dsh-officecli · 迭代复盘

SLIDE PREVIEW

深红渐变层级高亮
3 PARTS · CONTENT MAP本文看点

PART 01

复盘三坑

上次输在哪

PART 02

三步优化

--prop · watch · 设计系统

PART 03

效果与体验

对比 · 安装 · 反馈

上一次我拿同一本书让三个工具做PPT,结果我的插件被按在地上摩擦。这一回,我决定把场子找回来。

—— 前情回顾:《同样的提示词,三家AI做PPT,差距竟然这么大》

那篇文章里,我用《卓有成效的管理者》这本书做了个对比实验,让 dsh-officecli、WorkBuddy、豆包 分别生成PPT。结果我的插件生成的PPT“仅有背景颜色及文章内容”,用读者的话说就是——“像一份白底黑字的文档投到了大屏幕上”

说实话,被这么直白地批评,脸还是有点疼的。但疼完之后,我决定认真复盘:WorkBuddy 和豆包到底做对了什么?我的插件差在哪?经过这段时间的琢磨和迭代,dsh-officecli 插件终于迎来了进阶版本。

PART 01

复盘:上次输在哪?

REVIEW

先回顾一下上次对比暴露的三个核心问题

 样式配置几乎为零 

插件调用 OfficeCLI 时只传递了文本内容,没有颜色、字号、对齐方式等任何样式参数,生成的PPT只有默认的白底黑字

 没有“边改边看”能力 

用户只能在生成完成后看到最终效果,无法在生成过程中实时预览和调整

 缺少模板和设计系统 

没有配色方案、没有图形装饰、没有表格和图表,整个PPT缺乏“设计感”

这三个问题,恰好就是这次优化的三个方向。 一个萝卜一个坑,逐个击破。

PART 02

优化方向一:让 --prop 参数“活”起来

ACTIVATE --PROP

OfficeCLI 本身支持通过 --prop 参数设置各种样式属性。问题在于,我的插件之前没有把这些样式参数暴露给AI——AI 只知道“我要加一个文本框”,不知道“这个文本框应该是什么颜色、多大字号”。比如:

...bash

officecli add deck.pptx /slide1 --type textbox

  --prop text="标题" --prop color="#DC2626" --prop font-size="44"

优化思路:在 DeckSpec 中增加样式字段,让AI在生成内容时顺便指定样式。现在的 DeckSpec 长这样:

...json

{

 "theme": "tech-cyan",

 "slides": [

  {

   "layout": "cover",

   "title": "卓有成效的管理者",

   "subtitle": "核心观点与学生演讲指南",

   "titleColor": "#1A5C8A",

   "subtitleColor": "#666666"

  }

 ]

}

AI 只需要填 titleColor 和 subtitleColor,插件会自动把这些值翻译成对应的 --prop 参数注入到 OfficeCLI 命令中。同时,我还预置了几套配色方案

 商务蓝 · #1A5C8A 

企业汇报、商业提案

 学术深红 · #8B1A1A 

学术报告、论文答辩

 科技青 · #0A7E8C 

技术分享、产品发布

 暖橙 · #D2691E 

创意策划、团队分享

 政务红 · #C41E3A 

政府汇报、党建活动

用户在对话中可以直接说:“生成一份科技青风格的PPT”,插件会自动套用对应的配色方案。

效果非常明显——生成的PPT终于有了颜色 不再是“白底黑字文档”了。

PART 03

优化方向二:用“边改边看”把预览面板盘活

LIVE PREVIEW

OfficeCLI 有一个很酷的功能叫 officecli watch——它可以启动一个本地服务,实时渲染当前PPT文件,并自动刷新浏览器。这不就是“边改边看”吗?

之前的插件虽然有一个预览面板,但它需要用户手动刷新才能看到变化。优化思路:把 officecli watch 的实时刷新能力,通过SSE(Server-Sent Events)推送给 DSH 的预览面板。具体实现:

  • 插件启动时自动执行 officecli watch,启动本地预览服务
  • 预览面板通过 EventSource 连接到插件的 SSE 端点
  • 每当PPT文件发生变化(比如AI添加了一页),插件通过SSE推送一个“刷新”事件
  • 预览面板收到事件后,自动重新加载 iframe 内容,用户不用手动刷新

AI每生成一页,右侧的预览面板就自动更新。 这个优化虽然代码量不大,但用户体验的提升是质的飞跃。

PART 04

优化方向三:接入 huashu-design,让PPT“有设计感”

DESIGN SYSTEM

前面两个优化解决了“颜色”和“实时预览”的问题,但PPT的“设计感”还差一截。我研究了一下 WorkBuddy 和豆包的做法,发现它们都有一套内置的“设计系统”——包括封面页的图片布局、章节分隔页的装饰元素、内容页的图标和图形、引用页的引号样式、结尾页的致谢模板。

我没有从零造轮子,而是选择集成一个成熟的设计资源——huashu-design,把它的核心能力集成到插件中。现在插件可以做到:

 封面页自动生成几何装饰图形 

不再是纯色背景

 章节分隔页自动配大号编号和装饰线 

结构感更强

 内容页可以嵌入表格和流程图 

信息更丰富

 引用页有专门的引用样式 

引号 + 斜体 + 缩进

 整体效果更加“去AI化” 

不再一眼看出是机器生成的

“去AI化”这个词特别重要。 适当的留白、有层次的信息结构、有选择性的色彩点缀,让PPT在整齐的同时多了一些“人味”。

PART 05

效果对比:这次能打几分?

RESULT & COMPARE

说了这么多,直接看效果吧。我用了同一个提示词

“对《卓有成效的管理者》这本书内容,生成一份PPT文档,用于介绍这本书的核心内容和要点,对学生进行演讲用,只生成并导出内容的前三页即可,并输出文档到磁盘上。”

—— 测试提示词(与前次实验完全一致)

CASE 01优化前
  • 白底黑字,无配色
  • 纯文字,无图形表格
  • 一眼能看出是机器生成
CASE 02优化后
  • 封面色采用学术深红渐变,标题居中,底部有装饰线
  • 章节页有大号编号和章节标题,配色统一
  • 内容页文字层级清晰,关键要点有高亮色
  • 可以自然嵌入表格(比如“德鲁克的五项管理习惯”)

“说实话,跟 WorkBuddy 和豆包比,可能还差一点点‘精致感’——毕竟它们背后有更成熟的商业设计团队。但跟自己比,这是质的飞跃。”

—— 至少现在生成的PPT,可以大大方方地拿出去见人了

PART 06

体验安装:如何体验最新版?

INSTALL

插件源码已经更新到 GitHub,你可以通过以下两种方式体验:

方式一从 GitHub 下载源码
...bash

git clone https://github.com/violetdream/dsh-officecli.git

cd dsh-officecli

pnpm install --ignore-workspace

pnpm build

pnpm dsh plugin --profile web add D:\workspace\deepseek-harness\dsh-officecli

方式二直接从 npm 安装(推荐)
...bash

dsh plugin --profile web add dsh-officecli

源码地址

https://github.com/violetdream/dsh-officecli

安装完成后重启 DSH,侧边栏就会多出「Office 预览」按钮

PART 07

写在最后

SUMMARY

从被批评“像白底黑字的文档”,到现在“可以大大方方拿出去见人”,这个插件一共经历了三轮大的优化。回头来看,最关键的转变不是技术实现,而是思路的转变:之前我只想着“让AI能操作Office”,现在我开始想“让AI能好看地操作Office”。

“能”和“好”之间,差的不是能力,而是审美和细节。

—— 本轮复盘最想说的一句话

如果你也在做类似的AI工具,我的建议是:不要只满足于“能跑通”。多看看那些成熟产品做对了什么,多问问真实用户的感受,然后一点点补上自己的短板。

附 · 一图流速览本文

图 1/2 · dsh-officecli 进阶信息图:复盘与优化方向
图 2/2 · dsh-officecli 进阶信息图:设计系统 · 效果 · 体验
/// END · PLUGIN UPGRADE

关注本公众号,后续我会分享更多 DSH 插件开发实战,以及“让AI干活更好看”的经验总结。

P.S. 如果你在安装或使用中遇到任何问题,欢迎在 GitHub 上提 Issue,或者在公众号后台留言。我看到后会第一时间回复。

装了最新版插件的朋友,欢迎把生成效果截图发在评论区——你的反馈,会直接决定我下一步的优化方向。如果今天这篇有收获,也欢迎点赞、在看、转发三连,我们下篇见。

在看
转发

THANKS FOR READING

相关学习资料