Deckwright
Inspect PowerPoint slide state, timelines, Morph links, and package findings.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
dw-mcpالتوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
Deckwright
Deckwright is a Rust toolkit for building editable PowerPoint slides and inspecting the animation data inside .pptx files. It can create a deck from a blank template, replace slides in an existing package, run structural checks, and answer questions such as “what is visible on slide 2 after the first click?” through a CLI or an MCP server.
The public Morph demo builds three editable slides with an explicit Morph match, a click reveal, and a motion path. Watch the 26-second PowerPoint demo to see the transition, a selected native shape, and a real timing query. The presentation authoring skill gives agents a workflow for using these APIs.
Get started
Install a Rust toolchain, then install the CLI and MCP server:
cargo install dw-cli --version 0.1.1 --locked
cargo install dw-mcp --version 0.1.1 --locked
Release archives provide prebuilt dw and dw-mcp binaries for Windows, Linux, and macOS.
To build and inspect the example deck, run these commands from a Deckwright checkout:
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
Choose a new output filename for each build; Deckwright refuses to overwrite an existing .pptx. Slide numbers are one based. Query times and click times are milliseconds since slide entry; --clicks-ms is the complete click history up to --at-ms.
What works today
| Task | Entry point |
|---|---|
| Build editable slides with shapes, text, pictures, tables, charts, and timing in the supported model | deckwright Rust crate; see the Morph demo source |
Open a .pptx, inspect its parts, preserve unchanged parts, and write a new package | Package; dw inspect and dw roundtrip |
| Check supported package, slide, timing, and bounds rules | dw check |
| Inspect slide state, timeline, and explicit Morph pairs | dw query state, dw query timeline, dw query morph |
| Give an agent the same checks and queries over stdio | dw-mcp; see agent integration |
The CLI contract defines query input and output. Reports represent the timing and geometry Deckwright understands; unsupported or ambiguous behavior is reported as unknown. Morph pairing currently covers unique explicit !!name matches. A passing check, successful query, or static render does not establish PowerPoint animation playback, font fit, or visual fidelity. Verify those in PowerPoint for any delivered deck.
Choose a workflow
- Create a presentation with an agent
- Connect an agent to the MCP server
- Compare Deckwright and python-pptx
- Run the neutral Morph demo
- Read the benchmark method and results
Project scope
Deckwright began as a reconstruction of a 25-slide thesis presentation. The implementation plan records its fidelity and performance targets. The thesis source and extracted media are private and excluded from Git; the public demo uses generated neutral content. Preserve source wording, screenshots, photos, and app UI when editing a supplied deck.
The reference inspection benchmark measured 205.32 ms p95 and 78.75 MiB peak RSS on its documented WSL host; see the measurement PR for the revision and workload. Build, edit, and query budgets in the plan are targets, not measured results. The full thesis reconstruction and PowerPoint playback acceptance remain separate gates.
Development
cargo test --workspace --locked
See AGENTS.md for repository guidance and the oracle notes for PowerPoint verification limits.
الأسئلة الشائعة
ما هو Deckwright؟
Inspect PowerPoint slide state, timelines, Morph links, and package findings.
كيف أثبّت Deckwright؟
اتبع خطوات التثبيت في توثيقه المعروض في هذه الصفحة وفي مستودعه.
هل يحتاج Deckwright إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل Deckwright مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون Deckwright؟
ينشره JoaoCodificacoes. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.