npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@liustack/pptwise

v0.22.0

Published

Stable, editable PPTX generation for AI agents — semantic IR in, native DrawingML out

Readme

交流

欢迎随时提 issue。也欢迎在 X 关注 @liustack,聊聊你用 pptwise 做了什么、在哪个 harness 上运行,以及下一版最该解决什么。新版本也会第一时间在那里发布。

亮点

⚡ 跟 AI 说一句,PPT 就好了。 你只管说要讲什么,版面、配色、字号、间距全由引擎排好。同一份内容做十遍是同一份,不用一遍遍重来碰运气。

✏️ 交出来的是真 PPT,不是一张图。 每个标题、每条要点、每根柱子都能在 PowerPoint 里点开改字改色。图表和表格里的数字是例外,换数字让 AI 重做一版。24 套现成风格,也能把你公司现有 PPT 里的配色和字体抽出来直接用。

🔌 装进你正在用的 agent。 一条命令装进 DeepSeek Harness、Claude Code,或任何读 skill 文件夹的 agent(Codex 等),装完就会用。

🔁 改稿不用重新描述一遍。 一条命令打开实时预览网页,用一句话告诉 AI 要改哪里,改完网页自动刷新。

🔒 不用注册、渲染不用配 key、渲染时不联网。 装好就能用,电脑上有 Node 22.19+ 或 Bun 就行。可选的图库搜索用用户自己的 Pexels key。

安装

第一步,交给你的 AI。 把这行话发给它:

按照 https://raw.githubusercontent.com/liustack/pptwise/main/INSTALL.md 安装 pptwise deck 技能,装完跑一遍健康检查,把结果告诉我。

没有第二步。你的 AI 会把 skill 文件夹放到你这个 harness 读取的位置,skill 自带钉死版本的启动器,不需要你手动装 CLI。pptwise 在本地渲染 PPTX:渲染不要 API key、不用注册、无需配置。可选的图库搜索需要用户自己的 Pexels key。唯一前置是 Node 22.19+(或 Bun)。

在 DeepSeek Harness 上换成一条命令。 那里 pptwise 是原生 DSH 插件,不走 skill 文件夹:

npx -y @deepseek-ai/dsh plugin --profile web add @liustack/[email protected]

版本号要点名。不点名的话,安装会静默落到一个更旧的版本,拿不到最新能力。npm view @liustack/pptwise version 可查当前版本。插件卡片显示为「pptwise」,把整套生成流程的 skill 注册进 DSH 技能系统,驱动的 CLI 就在插件包自己里面。卸载即移除,不留残余。

快速开始

IR 就是一份描述整份 PPT 内容的 JSON 文件。写一个最小的,跑一遍 validate → render → preview 回路:

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  # 同一份 deck,换个主题
pptwise preview deck.json -o out/svgs                   # 每页一张 SVG,供人工目检

只有一条形状规则:cover/chapter/ending 页只有 heading + subheading,组件都放在 content 页上。写混了 validate 会原话告诉你。

不想安装也行:npx -y @liustack/pptwise validate deck.json。源码仓库里则用 node dist/cli.js 代替 pptwiseexamples/ 下有现成的 IR 文件可以直接试。

最常用的几条命令:

| 命令 | 作用 | |---|---| | validate <target> | 校验 IR,每条报错都带页码 | | render <target> [-o <out.pptx>] [--theme <id>] | 渲染出 .pptx。省略 -o 则写到 .pptwise/<deck>/<deck>.pptx | | preview <target> [-o <dir>] [--html] | 每页一张 SVG,外加一个自包含的审阅页。省略 -o 则写到 .pptwise/<deck>/ | | serve <target> | 随改动自动刷新的实时预览 | | audit <target> | 几何审查:溢出、越界、低对比度、重叠 | | themes | 列出 24 套内置主题(24 个 id) | | doctor | 体检这套安装:运行时、skill 副本、可选能力、自检渲染 |

完整命令表见 docs/cli.zh-CN.md

文档

| 文档 | 适用场景 | | :-- | :-- | | 安装手册 | 把安装交给 agent,或检查运行前提 | | Agent skill | 了解 pptwise 教给 agent 的完整工作流 | | CLI 手册 | 查询命令、参数、审查、预览与健康检查 | | IR 参考 | 用 JSON 编写 deck、页面、组件与叙事 | | 主题 | 挑选内置主题,或从自家 PPT 提取品牌 | | 核心概念 | 理解主题、版式、组件、叙事与容量模型 | | 架构 | 修改渲染链,或新增主题、版式与组件 | | Deck 项目 | 用锁定 spec、页面文件、素材与实时审阅制作复杂 PPT | | 版式选型与 seed | 排查版式为何被选中,或保持多次修订稳定 | | 对比度系统 | 排查文字颜色、自绘背景与低对比度问题 | | 测试 | 选择验证命令、检查快照,或修改导出 XML | | 内部 API | 了解 JavaScript 内部模块为何不承诺 semver 稳定性 | | 发布手册 | 准备并发布 npm 版本 | | 更新日志 | 查询各版本的变化 |

关注「liustack」

关注微信公众号「liustack」:AI 创业机会、独立开发见解、AI 实战与工具,第一时间推送。微信扫码,或搜一搜「liustack」:

⭐ 如果 pptwise 对你有用,请给项目一个 star,并在 X 关注 @liustack。这是让更多开发者找到它最直接的方式。

致谢

图标原语抽取自 lucide(ISC License)。pptwise 本身从一套生产环境的 AI 出 PPT 系统中抽取而来,从第一天起就针对 CJK 排版做了优化(全角标点宽度、中文换行、雅黑优先字体栈、显式东亚字体槽声明)。

License

MIT