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-conversation-exporter

v0.3.0

Published

Local clean-Markdown full or selective-turn export for the current DeepSeek Harness Web conversation.

Readme

DSH Conversation Exporter

DSH Conversation Exporter adds an Export Chat action to DeepSeek Harness (DSH) Web. It downloads the current conversation as a clean Markdown file containing the human-authored messages and final assistant answers, ready for reading, notes, Git, or handoff to another AI assistant. Select turns… optionally exports only chosen whole conversation turns while preserving the one-click full export.

Demo

Export directly from DSH Web

Export Chat in DeepSeek Harness

Clean Markdown output

Exported DSH conversation as Markdown

Export Chat vs. Session Log

Export Chat is an additive action; it does not replace or modify DSH's official Session Log export.

| | Export Chat | Official Session Log | |---|---|---| | Purpose | Reading and AI handoff | Debugging, recovery, and replay | | Contents | Human messages and final assistant answers | Raw events, chunks, tool activity, metadata, and attachments | | Format | One Markdown file | ZIP of JSONL artifacts and media |

Use Export Chat when you want the conversation. Use Session Log when you need a lossless record of how DSH produced it.

Install and activate

For DSH installations run through npx @deepseek-ai/dsh, add the plugin to the web profile:

npx @deepseek-ai/dsh plugin --profile web add dsh-conversation-exporter

Adding the package to the web profile activates its host and browser components. If DSH Web is already running, stop it and restart it so the profile is recomposed:

npx @deepseek-ai/dsh web

Use

  1. Open a conversation in DSH Web.
  2. Select Export Chat for the whole conversation, or Select turns… to choose whole Human-plus-final-Assistant turns from a chronological list.
  3. If using the selector, all turns start selected. Use Select all or Clear as needed, then choose Export selected turns. Export remains disabled when none are selected.
  4. Your browser downloads <session-title>--<short-session-id>.md, for example Project-Architecture-Guide--2002da4d.md.

The export starts with the final DSH session title as a Markdown H1, uses blockquoted Human and Assistant labels, and preserves message Markdown. If one message leaves a fenced code block open, the exporter closes that fence before the next transcript section. DSH internals such as reasoning, tool calls and results, runtime metadata, paths, and token accounting remain omitted. An unanswered turn is marked with > Response incomplete., and an image-only human message is retained as [Image omitted].

Privacy

Exporting is local-only. The plugin reads the selected DSH session through the local DSH runtime and returns the Markdown to the same local Web application. It has no upload, cloud storage, telemetry, or analytics path. The repository contains only hand-written, sanitized test conversations. The selector receives only short previews derived from the already-filtered conversation—not raw events, reasoning, tools, injected context, DSH turn ids, or runtime metadata.

Limitations

  • Exports the current session only, in Markdown only.
  • Selects whole conversation turns only; Human and Assistant bubbles cannot be selected independently.
  • Keeps human-authored text and the final assistant answer; attachments, images, reasoning, tool activity, injected context, subagent logs, and intermediate responses are omitted.
  • Preserves message Markdown verbatim except for a deterministic closing fence added when a message otherwise ends inside a fenced code block.
  • An image-only human message is represented by [Image omitted]; image data is not embedded.

Compatibility

DSH is developer-preview software and its plugin APIs may change. V0.3 targets @deepseek-ai/[email protected]; a later DSH version may require an exporter update.

Development

Requires Node.js 20 or newer.

To install the plugin from a local checkout for contributor or development testing:

npx @deepseek-ai/dsh plugin --profile web add .

Run the project verification locally:

npm run verify

This runs the complete test suite, JavaScript syntax checks, and an npm package dry-run.

Licensed under the MIT License.