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

@huanlin/dsh-plugin-auto-blame

v0.2.0

Published

Auto-blame: when a turn closes, asks an LLM for three cynical follow-up prompts and shows them as click-to-send bubbles above the composer. Host-gated master toggle in the settings page.

Readme

dsh-auto-blame

npm version

preview

当模型完成当前轮次对话后,将最后 3 条消息发送给 LLM,生成 3 条批判性跟进请求,显示在输入框上方作为可选项,点击直接发送。生成期间"领导视野"标签带 DeepSeek 蓝色流光扫过(同 Deep diving... 特效),建议到达后气泡依次淡入。

工作原理

[host] agent/turn-stopping 触发
  → fire-and-forget 调 ctx.llm.stream() 生成 3 条毒舌跟进
  → session.append('auto-blame/suggestions', { turn, suggestions })
  → projection unit 折叠该事件 → session/projection 推送帧
  ↓
[client] useProjection('autoBlame') 收到值
  → conversation.composer.dock 渲染 3 个气泡
  → 点击 → inputActions.setDraft(text) + submit()
  • fire-and-forget:LLM 调用不阻塞 turn 关闭,建议晚几百 ms 出现
  • 非 surface 事件:auto-blame/suggestions 不进入 model-visible 历史,不干扰 agent loop
  • 失败静默:LLM 失败 / 解析失败 → 不 append 事件,不显示气泡
  • 点击发送:走 InputBar 同一路径(inputActions.setDraft + submit)
  • 下一轮清空:新 turn 开始时 projection 归零,旧气泡立即消失
  • 适配 v0.1.2-rc.1:事件遍历改 session.snapshotEvents()(rc.1 区分 event seq 与 log offset,移除 session.events 数组)
  • 不发布 ./invariant:本插件没有独立可分歧的运行时观察(turn-stopping 监听是单一确定性路径),按 rc.1 收紧后的 invariant 规则省略其源码与 wiring

开发

pnpm run typecheck    # tsc --noEmit
pnpm test             # vitest run(28 个单测)
pnpm run build        # tsc + tsdown → lib/index.js, lib/client.js
pnpm run bundle:client # 只构建 client bundle

依赖链接(sibling dsh checkout)

本插件依赖 @deepseek-ai/dsh-* workspace 包。开发时需要手动 Junction 链接到 sibling dsh checkout:

$dest = 'node_modules\@deepseek-ai'
New-Item -ItemType Directory -Path $dest -Force
# 参考 dsh-spur 的 node_modules 结构创建 Junction

或从 dsh-spur 复制 node_modules(含 typescript / tsdown / vitest / @types/* / cordis / @deepseek-ai/dsh-client-*),再补建 dsh-agent / dsh-llm / dsh-session / dsh-session-projection 的 Junction。

运行

# 从 npm 安装(推荐)
dsh plugin --profile web add @huanlin/dsh-plugin-auto-blame

# 本地开发(热更新)
dsh plugin --profile web add "link:D:/Projects/deepseek-harness/dsh-auto-blame"

安装后重启 dsh web + 浏览器硬刷新(Ctrl+Shift+R)。

检查

  • [x] 零源码 patch
  • [x] package.json 声明 dsh.bundle.patch
  • [x] cordis.patch.yml insert 行 id/name/config 齐全
  • [x] files 含 lib/ + cordis.patch.yml
  • [x] peerDependencies 含 cordis + @deepseek-ai/*
  • [x] typecheck / test / build script 齐全
  • [x] 预构建策略(lib/ 入库,无 prepare 脚本)
  • [x] 不导出 default
  • [x] 测试分层(Unit)