关于 Deckwright
Deckwright 是用于创建可编辑 PowerPoint 幻灯片并检查 .pptx 动画数据的 Rust 工具包。它面向演示文稿作者和 Agent,通过命令行与 MCP 提供结构检查、时间线、幻灯片状态及显式 Morph 配对查询。
主要功能
- 01创建可编辑的 PowerPoint 幻灯片
- 02检查并保留包内组件
- 03检查包与幻灯片结构
- 04查询幻灯片状态和时间线
- 05查找显式 Morph 配对
- 06命令行与 MCP 接口
适用场景
- 01创建可编辑演示文稿
- 02检查 .pptx 包
- 03查询点击后的幻灯片状态
- 04检查幻灯片间的 Morph 链接
MCP 相关
dw-mcp 服务通过 stdio 为 Agent 提供与命令行相同的结构检查和幻灯片查询。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Deckwright
Deckwright 是一个 Rust 工具包,用于创建可编辑的 PowerPoint 幻灯片,并检查 .pptx 文件中的动画数据。它可以从空白模板创建演示文稿、替换现有包中的幻灯片、运行结构检查,还能通过 CLI 或 MCP 服务回答“第一次单击后,第 2 张幻灯片上显示什么?”之类的问题。
公开的 Morph 演示会创建 3 张可编辑幻灯片,其中包含显式 Morph 配对、单击后显示的内容,以及运动路径。观看 26 秒的 PowerPoint 演示,了解转场效果、选中的原生形状,以及实际的时间查询。演示文稿创作技能为 Agent 提供了使用这些 API 的工作流。
开始使用
安装 Rust 工具链,然后安装 CLI 和 MCP 服务:
cargo install dw-cli --version 0.1.1 --locked
cargo install dw-mcp --version 0.1.1 --locked
发布压缩包提供适用于 Windows、Linux 和 macOS 的预编译 dw 和 dw-mcp 二进制文件。
要构建并检查示例演示文稿,请在 Deckwright 检出目录中运行以下命令:
cargo run --locked -p deckwright --example morph_demo -- demo.pptx
dw check demo.pptx --json
dw query morph demo.pptx --from 1 --to 2 --json
dw query state demo.pptx --slide 2 --at-ms 400 --clicks-ms 0 --json
每次构建都要选择新的输出文件名;Deckwright 不允许覆盖现有的 .pptx 文件。幻灯片编号从 1 开始。查询时间和单击时间均为进入幻灯片后的毫秒数;--clicks-ms 是截至 --at-ms 的完整单击历史记录。
当前可用功能
| 任务 | 入口 |
|---|---|
| 使用受支持的模型创建包含形状、文本、图片、表格、图表和计时的可编辑幻灯片 | deckwright Rust crate;参见 Morph 演示源码 |
打开 .pptx、检查其组成部分、保留未更改的部分,并写入新包 | Package;dw inspect 和 dw roundtrip |
| 检查受支持的包、幻灯片、计时和边界规则 | dw check |
| 检查幻灯片状态、时间线和显式 Morph 配对 | dw query state、dw query timeline、dw query morph |
| 让 Agent 通过 stdio 使用相同的检查和查询功能 | dw-mcp;参见 Agent 集成 |
CLI 契约定义了查询的输入和输出。报告展示 Deckwright 能够理解的计时和几何信息;不受支持或存在歧义的行为会报告为未知。目前,Morph 配对仅涵盖唯一的显式 !!name 匹配。检查通过、查询成功或静态渲染并不能证明 PowerPoint 动画能正常播放、字体适配或视觉效果准确。交付任何演示文稿之前,都要在 PowerPoint 中进行验证。
选择工作流
项目范围
Deckwright 最初是为重建一份 25 张幻灯片的论文答辩演示文稿而开发的。实施计划记录了保真度和性能目标。论文源文件和提取的媒体文件均为私有内容,已从 Git 中排除;公开演示使用的是生成的中立内容。编辑提供的演示文稿时,请保留源文本、屏幕截图、照片和应用 UI。
参考检查基准在文档所述的 WSL 主机上测得 p95 为 205.32 ms,峰值 RSS 为 78.75 MiB;版本和工作负载详见测量 PR。计划中的构建、编辑和查询预算是目标值,而非实测结果。完整的论文重建和 PowerPoint 播放验收仍是独立的验收关卡。
开发
cargo test --workspace --locked
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。