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

@iroha1145/dsh-modern-ui

v0.1.20

Published

Modern UI browser extension for the unmodified official DSH release

Readme

DSH Modern UI

A modern Web interface for the official, unmodified DeepSeek Harness (DSH): redesigned chat flow, reasoning folds, tool cards, model selection, themes and eight interface languages.

Install

dsh plugin --profile web add @iroha1145/dsh-modern-ui

Then refresh the browser. dsh plugin forwards to pnpm, so pnpm must be on PATH. If you have never started the web profile, run dsh web once first.

Model-visible behavior

Modern UI does not change the model prompt by default. It renders openui-lang (OpenUI) and followups code fences a model already wrote. Turning on Settings → General → Answer visual components appends about 30 KB (roughly 7,000 tokens) of presentation guidance to the system prompt. Deliver results in stages, a separate switch on the same page, appends about 3 KB of guidance that has the model hand over each finished part of a multi-stage answer before it researches the next. The same switches live in the entry config:

presentation:
  prompt: false    # model-visible guidance
  progressive: false  # model-visible progressive result delivery guidance
  openui: true     # render openui-lang fences as OpenUI components
  followups: true  # render followups fences as suggestion chips
jev:               # optional TypeSafe Jev presentation advice tool
  enabled: true                    # offered only with the presentation prompt on and a key present
  credential: TYPESAFE_API_KEY     # environment-variable name the DSH credentials service resolves
  model: jev-latest
  endpoint: https://api.typesafe.ai/v1/systemone
  timeout: 4000                    # ms; past it the tool answers that no suggestion is available

Settings → General has a "Jev presentation advice" row under the presentation switch: it saves the key through the official credentials Remote (credentials/set) into the DSH credentials file under the jev.credential name, shows only whether a key is configured and from which layer, and offers the enabled switch once a key exists. It refuses a key with spaces, line breaks or non-ASCII characters, which no request header could carry. A Host without the credentials Remote shows no row.

With a usable key, the main agent of each main session gets a jev_presentation_advice tool; a key from the environment or a .env file that no request header could carry keeps the tool hidden and logs one warning without the key. It is registered in that agent's own tool scope and follows presentation.prompt, jev.enabled and the key as they change, so it appears and disappears without a restart; subagents join the preset composition rather than the parent's scope and never see it. Nothing calls Jev on its own. When the model calls the tool, the plugin sends the user messages admitted in the turn being processed (at most four, 6,000 characters each) and the model's content_summary, a description of the structure of the planned answer of at most 600 characters (a longer one is refused, not cut), to TypeSafe. Jev is asked once per turn: the same summary again repeats the reply, and a different summary after that gets no new judgement. The reply is an ordinary tool result: "plain text" reads as no additional suggestion and any other choice as a partial candidate the model may ignore, replace or combine; the Tool row shows the title "Ask Jev about presentation" and the outcome (for example "Possible: table") from the result metadata, while the confidence stays in that metadata and is shown neither to the model nor on the card. The tool description says calling it is not a prerequisite for components, and no prompt asks the model to call it. A missing key, an error, an invalid answer, a timeout or a cancelled turn returns "no suggestion available" and never fails a turn.

Switch back to the official UI

Deselect the whole @iroha1145/dsh-modern-ui bundle in Plugin Management and refresh, or remove the plugin:

dsh plugin --profile web remove @iroha1145/dsh-modern-ui

Deselecting only the inner modern-ui entry is not enough: the bundle disables seven official UI owners and returns them only when the bundle itself is off.

Official Desktop

The DeepSeek Harness Desktop app renders the same Web Client over its own embedded host and keeps plugins in the reserved desktop profile:

  1. Open Desktop once, then quit it completely so it initializes the profile.
  2. Install with Desktop's own dsh command (menu App → Manage dsh command… puts it on the terminal PATH; on Windows it is %LOCALAPPDATA%\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd). The npm dsh refuses --profile desktop.
    dsh plugin --profile desktop add @iroha1145/dsh-modern-ui
  3. Quit and reopen Desktop. Desktop has no page reload, so switching the bundle means restarting the app.

To switch back, run dsh plugin --profile desktop remove @iroha1145/dsh-modern-ui with the same command and restart Desktop. While Modern UI is selected, Desktop's first-run onboarding is recorded as skipped because its last step writes the official Chat settings this bundle replaces; adjust work details and usage display under Settings → General. Native bridges (dragging files out to the OS, multiple windows, Open In…, the native directory picker) are not verified yet; see the Desktop acceptance record.

Compatibility

Supported host versions are declared in dsh.compatibleHost and listed in the compatibility matrix.

Known limitations

  • Changing the bundle selection requires a browser refresh (an app restart in Desktop).
  • Git-hosted installs (dsh plugin add github:...) are not supported; use this npm package or the modern-ui.tgz attached to each GitHub Release.
  • Session-level web switches (/web on|off) are retired; web tools follow the official plugin configuration.

License

MIT. Portions derived from DeepSeek Harness and other projects keep their notices in THIRD_PARTY_NOTICES.md and licenses/.