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-vscode-selection

v0.1.1

Published

DeepSeek Harness 插件:接收 VS Code 扩展发送的代码选中内容,并插入到对话输入框(适配 dsh 0.2.0-rc.2)。

Downloads

44

Readme

dsh-vscode-selection

A DeepSeek Harness plugin that receives the code selection sent by a VS Code extension and inserts it into the conversation composer as a Markdown code block.

Behaviour

The VS Code extension posts a message to the dsh web page:

window.postMessage({
  type: 'insert-selection',
  filePath: 'src/app.py',
  startLine: 12,
  endLine: 18,
  language: 'python',
  content: '…',
}, '*')

The plugin turns it into:

src/app.py:12-18
```python
…
```

and appends it to the draft of the currently selected session, then reloads the composer so the text is visible before you press Send.

Compatibility

Built for dsh 0.2.0-rc.2. Declared peers: @deepseek-ai/dsh-api-session-controller, @deepseek-ai/dsh-client-ui-session and @deepseek-ai/dsh-client-ui-conversation at ^0.2.0-rc.2.

Version 0.1.0 targeted dsh 0.1.x and is both gate-blocked and non-functional on 0.2.0-rc.2:

  • it declared @deepseek-ai/dsh-client-runtime@^0.1.0-rc, and that package was removed in 0.2.0 (its role split into dsh-client-ui-slots / dsh-client-store). dsh 0.2.0's peerDependency gate silently skips a plugin whose @deepseek-ai/dsh* peer ranges do not satisfy dsh --version.
  • it resolved the current session through ISessions.active() and inserted text by emitting slash/input-insert-text from a ctx.get('input') handle. Both are gone in 0.2.0-rc.2.

0.1.1 is ported to the public 0.2.0-rc.2 surface only:

| purpose | API used | | --- | --- | | current session | ctx.uiSession.adapter.current.getSnapshot().key, falling back to scanning ctx.sessions.list for a row with retainedBy.mainView > 0 (the same rule ui-session uses) | | session context | ctx.sessions.scope(sessionId) | | composer write | ctx.conversation.input.for(actx) → SessionInput.setDraft(...), reading the live draft from SessionInput.state |

Because the old caret/draftRev API no longer exists, the insertion point is the end of the draft (with a separating newline when the draft is non-empty) instead of the caret position.

0.1.1 also fixes a bug present since 0.1.0: the Markdown fence was built with '\\n', which inserts a literal backslash-n instead of a line break, so the code block never actually formed.

Install

dsh plugin --profile web add dsh-vscode-selection
# restart dsh web to activate

Structure

lib/index.js      host half — marker row (all logic is browser-side)
lib/client.js     browser half — window message listener + composer write
cordis.patch.yml  dsh.bundle.patch — inserts the vscode-selection row

License

MIT