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-irc-dock

v0.1.0

Published

DSH 右侧栏的 IRC 客户端:宿主用 node tls/net 直连 IRC(也可选走本机代理的 HTTP CONNECT 隧道),右侧栏收发消息,Agent 也能读和发(irc_panel 工具)。

Readme

dsh-irc-dock 💬

DSH 右侧栏的 IRC 客户端:宿主用 node net/tls 直连(也可走本机代理的 HTTP CONNECT 隧道),右侧栏收发消息。

这是给 DSH(DeepSeek Harness) 右侧栏做的一排日常插件之一。 右侧栏本来就是 DSH 的「apps 入口」—— 官方的文件/终端/浏览器和第三方插件走的是完全同一套机制。

效果

面板

(截图只裁了右侧栏面板。想换订阅源/分类/时长这些,改配置就行,不用碰代码。)

它能干什么

  • 自己写的薄协议层:NICK/USER → PING/PONG → JOIN → PRIVMSG,不引 irc 库
  • 两种连接方式:直连,或先跟本机 Clash 做 HTTP CONNECT 建隧道再套 TLS
  • SASL PLAIN 认证(Libera 从某些网络出口连必须它)、允许自签证书(EFnet 就是自签)
  • 限次自动重连(最多 3 次)—— 认证被拒这类问题重连一万次也没用
  • 消息只在内存(环形缓冲),不落盘;irc_panel 工具能读能发

装

plugin_manager  install_bundle  target=link:E:\development\dsh-irc-dock

或从 npm:

dsh plugin --profile <你的 profile> add dsh-irc-dock

装好之后:右侧栏点「+」→ 选「IRC 聊天」。

⚠️ 客户端半边改动要重启一次应用;宿主半边热生效 —— 但新增宿主路由要重启(实测,别指望热重载)。

它是怎么work的

lib/index.js    宿主半:路由 + irc_panel 工具(Agent 侧读写同一份状态)
lib/state.js    本地状态(原子写:临时文件 + rename,读的人不会撞上写了一半的文件)
lib/client.js   右侧栏 tab(整个模块包在 IIFE 里 —— DSH 把所有客户端插件拼成一个脚本,
                顶层 const 会跨插件撞名,实测撞过一次直接把应用挡在启动之外)

双向通道:状态存在宿主,客户端 2 秒轮询。所以你在面板里点一下,Agent 调工具就能读到; Agent 写一次,面板自己会跟着变。这不是"一个只读的看板"。

已知限制

  • 凭据只从 $DSH_HOME/dsh-irc-dock/secret.json 读({saslUser, saslPass}),绝不进 git
  • 不支持 DCC、文件传输、多服务器并发
  • 消息不持久化,关掉就没了(这是有意的:聊天记录没必要写盘)

License

MIT