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

@mtop-devtools/native-host

v1.42.0

Published

Native Messaging Host for Mtop DevTools — bridges Chrome Extension and local socket server

Readme

@mtop-devtools/native-host

Mtop DevTools 的 Native Messaging Host —— 桥接 Chrome 扩展与本地 socket 服务。

浏览器扩展通过 chrome.runtime.connectNative() 拉起本进程;进程对内通过 CDP(Chrome DevTools Protocol)与浏览器交互,对外通过 Unix Socket 暴露给 @mtop-devtools/client 等本地调用方,并可作为云端链路的本地落点。

安装与注册

注册 Native Messaging Host manifest(让浏览器能够拉起本进程):

# 同时注册 Skills 与 MCP 两种集成模式(默认)
mtop-devtools-native-host --init

# 仅注册某一种模式
mtop-devtools-native-host --init --mode skills
mtop-devtools-native-host --init --mode mcp

# 指定自定义扩展 ID(开发版)
mtop-devtools-native-host --init --extension-id <your-extension-id>

Skills 与 MCP 两个 host 运行同一份二进制、共享同一个 Unix socket,因此可同时启用。

也可在代码中调用安装入口:

import { installNativeHost } from '@mtop-devtools/native-host';

await installNativeHost(); // 默认注册两种模式

运行时入口(被浏览器拉起、或手动启动)通过子路径导出:

import '@mtop-devtools/native-host/runtime';

CLI 选项

mtop-devtools-native-host [options]

  --init [--mode <skills|mcp|both>] [--extension-id <id>]   注册 host manifest
  --daemon                                                   独立 CDP daemon
  --cdp-port <port>                                          指定 CDP 端口
  --cdp-user-data-dir <dir>                                  指定 Chrome Profile
  --browser-id <id>                                          指定浏览器注册 ID
  --browser-name <name>                                      指定浏览器显示名称
  --version, -v                                             查看版本
  --help, -h                                               查看帮助

架构

Chrome Extension
  ↓ (Native Messaging)
@mtop-devtools/native-host  ← CDP →  Chrome
  ↓ (Unix Socket)
@mtop-devtools/client  /  @mtop-devtools/cloud-connector

browser_launch 会为每个托管 Chrome 启动一个带独立 CDP 配置的 native-host 子进程,使多个 headless/Profile/TDBank 账号实例可以同时被现有浏览器注册表寻址。设计细节见 托管浏览器与 TDBank 多账号设计

构建

pnpm build      # esbuild 打包到 dist/(内联 browser-core / daemon-core)
pnpm typecheck  # 仅类型检查

License

ISC