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

dsh-ppt

v0.4.5

Published

DSH 演示文稿插件:Markdown 生成网页放映与可编辑 PPTX,长表格自动分页,内置 5 套主题、备注与转场动画。

Readme

English

dsh-ppt

一句话 / 一篇文档 → 完整演示文稿:HTML 网页放映 + PPTX 导出,5 套视觉主题,页间转场 + 要点入场动画,中英双语。

npm version npm downloads license stars

Awesome DSH Plugin

DSH(DeepSeek Harness)演示文稿技能 + 工具插件:把一句话、一段文字或一篇 Markdown 文档变成可直接放映的 HTML 网页 与可编辑的 PPTX。纯 Node 实现,零运行时依赖,Windows / macOS / Linux 同一份代码。

能力一览

| 能力 | 说明 | | --- | --- | | ppt_create 工具 | Markdown / 结构化 slides → *.html + *.pptx + *.json 三件套 | | ppt_themes 工具 | 列出 5 套内置主题与适用场景;传 preview: true, outputDir: "dist" 生成主题对比页 + 每套一张 SVG 色板卡(可直接进 README/npm 首屏) | | 7 种页型 | 封面 / 章节 / 要点 / 核心观点 / 金句 / 表格 / 结束页 | | 演讲者备注 | <!-- 备注: ... -->notes 字段:HTML 按 S 呼出,PPTX 原生备注页(演示者视图) | | 动效(motion) | 默认开:HTML 页间淡入 + 要点逐条入场;PPTX 原生转场 + 要点逐条点击显现;motion: 'off' / --motion off 产出纯静态 | | Markdown 进阶 | 表格(\| ... \|)、引用金句(>)、备注注释自动识别成对应页型 | | dsh-ppt 技能 | 完整 SOP 注册进 DSH:从一句话到成品 deck 的六步流水线 | | 裸 SKILL.md | 把 skills/dsh-ppt/ 复制到 Claude Code / Cursor / Gemini CLI / Codex 即可跨 harness 使用 | | 视觉引擎 | 复用 hyperframes 视觉风格库,5 套主题 HTML 与 PPTX 同源同色 |

示例对话:

把这句话做成 PPT:「AI 客服把首次响应时间压缩到 8 秒」,主题用科技感深色。

docs/季度汇报.md 做成双语演示文稿,导出 PPTX。

兼容性

2026-09-21:当前发布包经官方 CLI 安装到隔离 profile,在源码构建的 Harness 0.1.6-alpha.2 上与另外两个下载量前三插件共同加载,18 个插件工具注册正常;日历/邮件配置自检、PPT 主题查询和 17 行表格生成通过。测试本体基于官方 alpha.2 发布提交,另含工具调度器 Symbol.for 修复(93badd88)。本轮未连接真实邮箱或日历服务。

已在官方 @deepseek-ai/[email protected]、Node 24.16.0 上验证(2026-09-11):18 个组件与 Modlens 同载,工具 schema、技能注册及离线只读调用检查通过。采用 cordis.patch.yml + dsh.bundle.patch 组合包模型。Node 要求与该版本 Harness 一致:22.19 及以上的 22.x,或 24 及以上。外部服务的实际业务操作需按各组件配置单独验证。

安装

dsh plugin --profile web add dsh-ppt

重启后即可使用 ppt_create / ppt_themes 工具,并自动加载 dsh-ppt 技能。插件自带空配置,不会弄崩启动

快速开始

DSH 内(推荐)

1. ppt_themes { preview: true, outputDir: "dist" }   # 看 5 套主题 + 生成对比页
2. ppt_create {
     title: "把会议减半",
     content: "# 问题\n- 周会太多\n\n# 方案\n- 异步决策",
     theme: "data",
     lang: "zh"
   }
3. 打开返回的 HTML 路径(浏览器放映),PPTX 用 PowerPoint / WPS / Keynote 编辑

任意 harness(裸 SKILL.md)

skills/dsh-ppt/ 复制到任意 Agent Skills 目录,然后:

node <skill-dir>/scripts/build-deck.mjs \
  --title "产品发布" \
  --content deck.md \
  --theme data \
  --lang zh \
  --out dist/deck

输出三件套:

默认不会覆盖已有同名产物:三件套中任一文件存在时会整组追加 -1-2… 后缀;只有显式传 overwrite: true(CLI 为 --overwrite)才会覆盖。

| 文件 | 用途 | | --- | --- | | *.html | 独立网页放映:← → 翻页,V 演讲者视图(独立窗口:备注/下一页/计时/进度),S 备注,G 缩略图总览,F 全屏,P 打印,? 快捷键,Esc 关闭 | | *.pptx | 16:9 可编辑演示文稿(OOXML 由插件手写,zip 用 node:zlib,无第三方依赖) | | *.json | 结构化 manifest(版本、主题、语言、每页内容) |

内置主题

| ID | 名称 | 情绪 | 适用 | | --- | --- | --- | --- | | data | 数据漂移(默认) | 未来 / 沉浸 | AI、技术发布、研究 | | swiss | 瑞士脉冲 | 精准 / 理性 | 数据、SaaS、开发者工具 | | velvet | 天鹅绒标准 | 高级 / 克制 | 高管汇报、品牌、融资路演 | | soft | 柔和信号 | 温暖 / 人本 | 品牌故事、培训、个人分享 | | bold | 极繁大字 | 大声 / 动能 | 产品发布、活动、大事件 |

主题灵感来自 hyperframesvisual-styles.md,完整色板见 skills/dsh-ppt/references/themes.md。也可运行 ppt_themes { preview: true, outputDir: "dist" } 生成并排对比页与 SVG 色板卡。

Markdown 输入规则

  • 第一个 # 标题 → 封面标题;其下第一段 → 封面副标题。
  • 每个 ## 小节 → 一页:有列表生成 bullets 页,无内容生成 section 过渡页。
  • 没有标题的纯文本 → 第一段作封面,后续每 5 句一页。
  • 只有一句话 → 自动生成「封面 → 核心观点 → 结束页」三页完整结构。
  • 长表格自动分页:每页重复表头,最多 8 行数据;备注只放第一页。最多 8 列、每格 60 字符,超限会提示拆分。短行补空白,三种产物保留相同数据。
  • maxSlides 计算分页后的总页数;超过限制时先报错,不落盘、不静默删掉中间页。可提高配置上限(最多 120)或拆分文稿。
  • 需要精确控制时用结构化 slidescover | section | bullets | statement | quote | table | closing),表格使用 rows,备注使用 notes

配置

插件无必填配置。可选:

- id: dsh-ppt
  config:
    outputDir: E:\decks   # 可选;默认会话工作目录
    maxSlides: 40         # 可选;默认 60(3–120)
    defaultTheme: data    # 可选;ppt_create 未指定 theme 时使用
    defaultLang: zh       # 可选;ppt_create 未指定 lang 时使用(zh/en/bilingual)

也可用环境变量 DSH_PPT_OUTPUT_DIR 指定默认输出目录;ppt_createoutputDir/theme/lang 参数优先级最高。

输出目录按每次工具调用的 exec.agent.session.header.cwd 解析:不指定目录时写入当前会话工作目录,相对目录(包括插件配置)相对此目录解析,绝对目录保持原意。直接调用工具而未提供会话时,回退到进程工作目录;并行会话不会修改进程 cwd。工具在加载引擎前和加载完成后检查 exec.signal,取消的调用不会继续生成文件;生成和写入阶段为同步操作,开始后会完成本次三件套。

卸载

dsh plugin --profile web remove dsh-ppt

卸载后重启 Web 服务。如需彻底清理,可再手动删除自己 profile cordis.patch.yml 中的对应插件行。

中英双语

  • lang 参数:zh(默认)/ en / bilingual,控制播放器界面、页码与结束页默认文案。
  • 内容语言由你撰写:双语 deck 推荐「中文标题 + 英文副标题」,或同一大纲分别生成中英两份。
  • 插件文档提供中英两版(README.md / README.en.md);CLI 与技能的报错提示为中文。

工程质量

  • 纯 Node,零运行时依赖:HTML 模板、OOXML、zip 全部手写,只用 node:fs / node:path / node:zlib
  • 技能与工具共用一个引擎(skills/dsh-ppt/scripts/deck-core.mjs),不会出现「DSH 一个效果、裸技能另一个效果」。
  • 单元测试覆盖注册契约、JSON Schema、主题解析、Markdown 解析、三件套落盘、PPTX 部件完整性、CLI。
  • eval / child_process / 密钥;产物只写用户指定的本地目录。

开发

pnpm install
pnpm run build      # tsc → lib/
pnpm test           # 构建 + node --test(注册/配置/引擎/CLI)
pnpm run smoke:cli  # 裸 CLI 冒烟,生成 .smoke-deck

已知限制

  • PPTX 采用空白版式 + 文本框实现:PowerPoint / WPS 中可正常编辑文字,但暂不生成智能母版占位符。
  • 一句话输入自动生成三页最小结构;更丰富的内容需要先扩写成 Markdown 大纲再调用 ppt_create
  • bilingual 只双语化播放器界面,不自动翻译内容。
  • 暂不支持图表与图片;演讲者备注及 HTML/PPTX 动效已经支持。

协议

MIT。社区插件,与 DeepSeek 官方无关;@deepseek-ai/* 为官方保留命名空间。

相关项目