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-paper-slides

v0.2.0

Published

Turn a paper into an academic talk for DeepSeek Harness (dsh) — 论文转 PPT / 组会汇报 / 会议报告 / 答辩 / 开题. Reads the real full text, budgets the slot per venue, and builds the deck around the figures with the speaker notes written as the script. Drives dsh-ai4schol

Readme

Paper → academic talk, for DeepSeek Harness

English | 中文

npm CI dsh-plugin license

Give the agent a DOI and a slot length, get a talk: the actual full text read rather than the abstract, the slot budgeted for the venue, the deck built around the figures, and the speaker notes written as the script.

"把这篇 10.1038/s41586-021-03819-2 做成 12 分钟的会议报告"

Install

This pack orchestrates; it reads nothing and renders nothing itself. Install all three:

dsh plugin --profile web add dsh-ai4scholar dsh-slides dsh-paper-slides
dsh web

| Package | Supplies | |---|---| | dsh-ai4scholar | The paper — search, full text, figures, citations | | dsh-slides | Writing the deck to a file | | dsh-paper-slides | The arc between them |

With a companion missing, the guidance says so and names the install command rather than routing around it — a talk drafted from a remembered abstract is exactly what this pack exists to prevent.

What it adds

plan_talk — the part of "turn a paper into a talk" that is not a judgement call. How long a slot runs, how many slides fit, and which beats a venue expects are conventions, so they are data here rather than improvised per call:

| Venue | Typical | The rule that decides the talk | |---|---|---| | seminar 组会汇报 | 15 min | The room knows the field. Skip the background; spend it on what you did and what is stuck | | conference 会议报告 | 12 min | One message. Decide the sentence they remember, make every slide serve it | | defense 答辩 | 25 min | The committee weighs whether the contribution is yours and whether you know its limits | | proposal 开题 | 20 min | No results yet, so the talk is judged on feasibility. Spend the slides there | | journal-club 文献汇报 | 20 min | Someone else's paper. The value you add is judgement, not a summary |

The tool returns a slide budget per beat, plus what belongs on the slide versus in the notes. Beats keep their minimum however short the slot; what is left over goes to the evidence, not the setup.

It also returns the formats the venue expects, to be passed straight to make_slides. A defense, a conference talk and a proposal panel all end with someone else's machine opening the file, so those ask for ["html", "pptx"]; a group meeting and a journal club do not, so those stay ["html"]. Which file a venue wants is a convention too, and getting it wrong means arriving with a deck the room cannot open.

The paper-to-talk skill — the long procedure: read for the four questions a talk has to answer, decide the one message before drafting, title figure slides with the finding rather than "Figure 3", write the notes as what the presenter says, and check the deck against the plan before claiming it is done.

The chain

  1. Read the paper. read_by_doi / read_arxiv_paper / read_semantic_paper, or search_papers first when only the title is known. Never a remembered abstract.
  2. Budget. plan_talk with the venue and slot. Before drafting — drafting first and trimming later produces a compressed paper instead of a talk.
  3. Build. make_slides with the filled-in plan and the plan's delivery.formats — a self-contained HTML deck, plus an editable .pptx where the venue needs one.

Configuration

The bundle inserts one row (id: paper-slides). Override it from your profile's cordis.patch.yml (a patch replaces the whole config, so restate every key you keep):

- id: paper-slides
  config:
    skills: true            # register the paper-to-talk skill
    planTool: true          # register plan_talk
    promptGuidance: true
    promptOrder: 145

Notes

  • The skill body is in English. The model carries the procedure out and reports in whatever language the user is writing in.
  • Output formats come from dsh-slides: a self-contained HTML deck that presents offline and prints to PDF, and an editable .pptx with the speaker notes carried over.

License

MIT