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

@dan-uni/dan-any-plugin-detaolu

v2.2.3-2

Published

A filter, dedupe and anti-spam plugin of dan-any, a danmaku transformer lib, based on pakku.js.

Readme

@dan-uni/dan-any-plugin-detaolu

@dan-uni/dan-any-plugin-detaolu 基于 pakku.js 的思路实现了一套弹幕去重 / 反套路(反“taolu”)合并插件,用于在 dan-any 数据流中把相似或重复的弹幕聚合为代表弹幕。

主要功能

  • 使用相似度算法(编辑距离、2-gram 词频向量、拼音归一化等)识别并合并相近弹幕
  • 提供 DetaoluPluginConfigurator 作为 dan-any plugin,直接用于 chunk.plugin(...)
  • 暴露可配置项(参见 src/pakku.js/index.ts 中的 DEFAULT_CONFIG)以调节合并策略

快速开始

vp install
vp test
vp pack

使用示例

import { DetaoluPluginConfigurator } from "@dan-uni/dan-any-plugin-detaolu";

// 在 dan-any 的处理链中使用:
const mergedChunk = await chunk.plugin(DetaoluPluginConfigurator({ THRESHOLD: 30 }));
// mergedChunk 包含合并/聚合后的弹幕

配置

  • 默认配置项位于 src/pakku.js/index.ts 中的 DEFAULT_CONFIG,包含合并阈值、编辑距离阈值、词频相似度阈值、白名单/黑名单与若干文本预处理选项。

许可与致谢

  • 本包采用 GPL-3.0-or-later 许可(详见 package.json)。
  • 相似度与合并逻辑源自并改编自开源项目 pakku.js(参见源码注释),请注意原作者许可约束。

贡献

  • 欢迎提交 issue 与 PR。提交前请运行 vp checkvp test 并确保遵守 GPL 兼容要求。
  • 打包使用了wasm插件,会自动处理wasm文件;构建时的import { readFile } from "node:fs/promises";无法解析报错可以忽略,其会自动被wasm插件构建产出自动运行时检出。
  • 测试前须先运行 vp pack 以生成测试所需的构建产物(由于wasm构建路径与项目src内路径不同,直接导入src文件进行测试会找不到路径)。

更多

  • 源码主要位于 src/pakku.js(实现合并算法与 wasm 加载)和 src/index.ts(提供 DetaoluPluginConfigurator 集成点)。