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

@hmilyld/dsh-beacon

v0.3.0

Published

DSH (DeepSeek Harness) webhook beacon: POST a JSON payload with variable substitution when a task completes or the agent needs user questions, plan confirmation, or approval.

Readme

@hmilyld/dsh-beacon

English | 中文

npm license CI

DeepSeek Harness (DSH) notification plugin: POST a JSON webhook when a task completes, or when the agent needs a question answered, a plan confirmed, or a tool approved. Works with WeCom, DingTalk, Slack, Bark, ntfy, or any HTTP receiver.

  • Four event types: task_completed, user_question, plan_confirmation, approval_request.
  • Fire-and-forget: receiver failures never affect the agent.
  • Settings save live; no restart required.

Events

| eventType | When | | --- | --- | | task_completed | A turn finishes and the agent goes idle. | | user_question | The agent asks the user to choose or answer. | | plan_confirmation | The agent submits a plan for confirmation. | | approval_request | A tool call needs human approval. |

Requirements

  • DSH >=0.2.0-rc.2 <0.3.0
  • Node ^22.19.0 || >=24.0.0 when building from source

Install

# npm
dsh plugin --profile web add @hmilyld/dsh-beacon

# local monorepo (build first)
pnpm --filter @hmilyld/dsh-beacon run build
dsh plugin --profile web add /absolute/path/to/DSHPlugins/packages/dsh-beacon

Restart dsh web once after install. Remove with dsh plugin --profile web remove @hmilyld/dsh-beacon.

Configure

Open Plugins → @hmilyld/dsh-beacon. Settings are staged and written only when you press Save.

| Field | Meaning | | --- | --- | | Webhook URL | POST target. Leave blank to disable sending. | | Payload template | JSON template with {{eventType}}, {{summary}}, {{sessionId}}, {{time}}. | | Headers | JSON object of extra request headers. | | Notify on questions | Send for user_question; plan confirmation and approvals are unaffected. | | Skip subagents | Do not send completion/tool fallbacks for subagent sessions. | | Dedup window (ms) | One send per session and event type inside the window. |

The default payload is:

{"event":"{{eventType}}","success":true,"msg":"{{summary}}","sessionId":"{{sessionId}}","time":"{{time}}"}

Update detection

The settings page checks npm's latest dist-tag through @hmilyld/dsh-plugin-kit (six-hour cache, silent failure). When a newer release exists it shows the version comparison and a View release notes link. Release notes live in CHANGELOG.md and are generated by Changesets.

Troubleshooting

No notification arrives

  • Check that the webhook URL is non-empty and saved.
  • Check the DSH log for dsh-beacon warnings.
  • Confirm the receiver accepts a JSON POST.

The settings page is unavailable

The Host must be running and serving the dsh-beacon namespace. Check that the plugin entry is active under Plugins → Included components.

Templates are skipped

The rendered template must be valid JSON. Invalid templates are skipped and logged without affecting the agent.

Development

pnpm install
pnpm --filter @hmilyld/dsh-beacon run build
pnpm --filter @hmilyld/dsh-beacon run test

See the repository engineering standard.

License

MIT