Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心
工具与能力 #agent-skill#dsh#dsh-plugin#agent-skills#ai-agent#claude-code

pptwise

为 AI agent 提供稳定可编辑的 PPTX 生成——语义中间表示输入,原生 DrawingML 输出

liustack @liustack ⬇ 2 ★ 7 main

安装

dsh plugin --profile web add github:liustack/pptwise
下载安装清单

需要可复现安装时,可在仓库后追加 #commit 固定提交。

为 AI agent 提供稳定可编辑的 PPTX 生成——语义中间表示输入,原生 DrawingML 输出

该插件未提供要点说明,请参考仓库 README。

agent-skilldshdsh-pluginagent-skillsai-agentclaude-code
  1. 安装并启动 DeepSeek Harness:npx @deepseek-ai/dsh web
  2. 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
  3. 用 dsh plugins list 确认已安装,必要时重启 Harness 生效

插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。

代码仓库github.com/liustack/pptwise
许可证MIT
主要语言main
下载量2
GitHub 星标7
最近推送2026-08-23
收录日期2026-09-19
分类工具与能力

事实信息来自公开插件目录快照(2026-10-03),介绍文案由本站再加工。

以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。

[图片: pptwise — make your deck in minutes, not hours]

pptwise

Make your deck in minutes, not hours.

🥇 The FIRST deck-generation plugin for DeepSeek Harness (dsh) 🥇

  简体中文 ·
  Install (hand it to your AI) ·
  Commands ·
  IR ·
  Themes ·
  Agent skill ·
  ModLens (vision)

  [图片: Follow @liustack on X]

  [图片: npm]

  [图片: Node.js]

  [图片: License]

  [图片: Not backed by Y Combinator]

  [图片: No API key to render]

## Talk to us

Issues are welcome any time. [Open one](https://github.com/liustack/pptwise/issues/new/choose), or follow **[@liustack](https://x.com/liustack)** on X. Share what you made with pptwise, which harness you use, and what the next release should solve. New releases land there first.

## Highlights

**⚡ Tell your AI what to cover, get the deck.** You bring the content, the engine handles layout, color, type size, and spacing. The same content renders the same deck every time, so there is nothing to redo and no luck involved.

**✏️ A real deck, not a picture of one.** Every heading, bullet, and chart bar opens in PowerPoint for you to retype and restyle. Chart and table figures are the exception: to change the numbers, have your AI rebuild that page. 24 ready-made styles, and you can pull the colors and fonts out of a deck your company already uses.

**🔌 Installs into the agent you already use.** One command puts pptwise into DeepSeek Harness, Claude Code, or any agent that reads a skill folder (Codex and friends), and it knows how to build a deck the moment it lands.

**🔁 Revisions without describing everything again.** One command opens a live preview in your browser. Tell your AI what to change in plain words — the page refreshes itself as each revision lands.

**🔒 No account, no API key to render, no network at render time.** Install it and it works. Node 22.19+ or Bun is all you need on the machine. Optional stock-photo search uses the user's own Pexels key.

## Install

**Step 1, hand it to your AI.** Send it this line:

> Install the pptwise deck skill following https://raw.githubusercontent.com/liustack/pptwise/main/INSTALL.md, then run the health check and tell me the result.

There is no step 2. Your AI puts the skill folder where your harness reads it, and the skill brings its own version-pinned launcher, so there is no CLI to install by hand. pptwise renders a PPTX entirely locally: no API key, no account, nothing to configure for render. Optional stock-photo search needs the user's own Pexels key. The only prerequisite is Node 22.19+ (or Bun).

**On DeepSeek Harness, it is one command instead.** pptwise is a native DSH plugin there, not a skill folder:

```bash
npx -y @deepseek-ai/dsh plugin --profile web add @liustack/pptwise@0.22.0
```

Name the version. Without it, the install quietly lands on an older release and you miss the newest features. `npm view @liustack/pptwise version` prints the current one. The plugin card shows up as "pptwise", registers the deck-generation skill, and carries the CLI inside its own package. Uninstalling removes the skill with no residue.

## Quick start

An IR is one JSON file describing the whole deck. Write a minimal one, then run the validate → render → preview loop:

```bash
cat > deck.json <<'EOF'
{
  "filename": "hello.pptx",
  "theme": { "id": "consulting" },
  "slides": [
    { "type": "cover", "heading": "Hello pptwise", "subheading": "A first deck in ten minutes" },
    { "type": "content", "heading": "Why it works", "components": [
      { "type": "bullets", "items": ["Semantic IR in", "Native DrawingML out", "Every shape stays editable"] } ] },
    { "type": "ending", "heading": "Thanks" }
  ]
}
EOF
pptwise validate deck.json                              # → OK — 3 slides, theme "consulting"
pptwise render deck.json -o out/hello.pptx              # → wrote out/hello.pptx (3 slides, ~24 KB)
pptwise render deck.json -o out/tech.pptx --theme tech  # same deck, different theme
pptwise preview deck.json -o out/svgs                   # SVG per slide, for a visual self-check
```

One shape rule: `cover`/`chapter`/`ending` slides are heading + subheading only, components live on `content` slides. `validate` says exactly this if you mix them up.

No install at all also works: `npx -y @liustack/pptwise validate deck.json`. In a source checkout, `node dist/cli.js` replaces `pptwise`, and `examples/` has ready-made IR files to try.

The commands you will reach for most:

| Command | Does |
|---|---|
| `validate ` | Check the IR, with page numbers on every error |
| `render  [-o ] [--theme ]` | Render a `.pptx`. Omit `-o` to write `.pptwise//.pptx` |
| `preview  [-o ] [--html]` | One SVG per slide, plus a self-contained review page. Omit `-o` to write `.pptwise//` |
| `serve ` | Live preview that reloads on every change |
| `audit ` | Geometry review: overflow, out-of-bounds, low contrast, overlap |
| `themes` | List the built-in themes |
| `doctor` | Check the install: runtime, skill copies, optional capabilities, self-test render |

Full reference: [`docs/cli.md`](./docs/cli.md).

## Documentation

| Doc | Read it when |
| :-- | :-- |
| [Install guide](./INSTALL.md) | Handing installation to an agent or checking prerequisites |
| [Agent skill](./skills/pptwise/SKILL.md) | Learning the workflow pptwise teaches an agent |
| [CLI manual](./docs/cli.md) | Looking up commands, flags, audits, previews, and health checks |
| [IR reference](./docs/ir.md) | Writing a deck, slide, component, or narrative in JSON |
| [Themes](./docs/themes.md) | Picking a built-in theme or extracting your own brand |
| [Core concepts](./docs/concepts.md) | Understanding themes, layouts, components, narratives, and capacity |
| [Architecture](./docs/architecture.md) | Working on the render chain or adding a theme, layout, or component |
| [Deck projects](./docs/deck-projects.md) | Building a multi-file deck with locked specs, assets, and live review |
| [Layout selection and seed](./docs/selection-and-seed.md) | Explaining why a layout was picked or keeping revisions stable |
| [Contrast system](./docs/contrast-system.md) | Debugging text color, painted backgrounds, or contrast findings |
| [Designing themes](./docs/designing-themes.md) | Drawing a theme redesign that can actually compile to PPTX |
| [Testing](./docs/testing.md) | Running the right gate, inspecting snapshots, or changing exported XML |
| [Internal API](./docs/internal-api.md) | Understanding why the JavaScript internals carry no semver promise |
| [Release guide](./docs/releasing.md) | Preparing and publishing an npm release |
| [CHANGELOG](./CHANGELOG.md) | Finding what changed in a version |

## Credits

Icon primitives are extracted from [lucide](https://lucide.dev) (ISC License). pptwise itself was extracted from a production AI-deck-generation system and CJK-typography-tuned (full-width punctuation width, Chinese line breaking, a Chinese-first font stack, explicit east-asian font-slot declarations) from day one.

## License

[MIT](./LICENSE)

数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。