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

@omni-probe/browser

v0.1.0

Published

Lightweight browser monitoring runtime for omni-probe

Readme

@omni-probe/browser

轻量 Browser 监控 Runtime,提供页面访问、路由、JavaScript 错误、Promise 拒绝、fetch、XHR、点击摘要和 Breadcrumb 自动采集。

npm install @omni-probe/browser
import { createBrowserProbe } from '@omni-probe/browser'

const probe = createBrowserProbe({
  appId: 'admin-web',
  ignoreUrls: ['/report-events'],
  clickTargetMode: 'actionable',
  emitClickEvents: false,
  clickTextEnabled: false,
  onEvent(events) {
    console.log('[omni-probe]', events)
  },
})

probe.track('login_success')
probe.setUser({ id: 'user-1' })

await probe.destroy()

默认启用 autoPageView、autoRoute、autoError、autoHttp 和 autoClick。同一 JavaScript Realm 只允许一个活动 Browser Runtime;销毁后可以重新创建。

自动点击默认采用 clickTargetMode: 'actionable':只匹配 data-probe-name、原生可交互控件和允许列表中的交互 ARIA role。普通 body、div、span、p 和纯文本区域不采集。目标或祖先带 data-probe-ignore 时整次点击被忽略。

有效点击默认只写入 Breadcrumb,不占用独立事件队列。只有显式设置 emitClickEvents: true 时才额外上报 click 事件。可选目标模式:

  • annotated:仅采集带非空 data-probe-name 的目标;
  • actionable:默认模式,采集显式标记和语义可交互元素;
  • all:采集普通元素,仅建议临时调试。

自动点击用于诊断用户操作意图;订单创建、支付成功、业务失败等结果应使用稳定命名的 track() 手动埋点。

URL query 中的常见敏感字段会替换为 [Filtered]。默认不采集输入值、请求体、响应体、Header、Cookie、Token、完整 DOM 或 CSS Selector。clickTextEnabled 默认关闭,即使开启也不会采集输入控件或 contenteditable 内容。

Vue 适配器会接管路由和首次 PV。与 @omni-probe/vue3 或 @omni-probe/vue2 配合时,创建 Browser Probe 必须显式设置:

{
  autoRoute: false,
  autoPageView: false,
}

完整浏览器示例见仓库 examples/browser-demo。

License: MIT