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

@bd-gongfu-ai/engineering-nexus

v0.1.22

Published

Gongfu AI Engineering Nexus for privacy-safe engineering insights

Readme

Engineering Nexus MCP

@bd-gongfu-ai/engineering-nexus 是一个本地 MCP 服务,用于采集 AI 开发工具和 Git 的聚合使用指标,并将结果上传到已配置的数据服务。

它只处理统计所需的元数据,不上传对话内容、代码内容或 Diff。

支持范围

支持以下数据来源:

  • Codex
  • Claude Code
  • Cursor GUI
  • Cursor CLI
  • Git

可采集的聚合指标包括:

  • AI 会话、AI 对话和 AI 交互数量
  • Token 使用量和模型分布
  • Skill 调用数量
  • AI 代码新增与删除行数
  • Git Commit 数量、代码新增与删除行数

AI 代码变更和 Git 代码变更是两个独立指标,不会将 AI 代码行与具体 Commit 进行关联。

运行要求

  • Node.js 20 或更高版本
  • PATH 中可以使用 git
  • Cursor SQLite 优先使用 Node.js 22.5 及以上版本内置的 node:sqlite;较低版本由包内可选依赖 better-sqlite3 兼容,无需额外安装系统 sqlite3
  • 由服务提供方获取 API URL 和 Access Token

快速安装

通用 MCP JSON 配置:

{
  "mcpServers": {
    "engineering-nexus": {
      "command": "npx",
      "args": ["-y", "@bd-gongfu-ai/engineering-nexus@latest"],
      "env": {
        "ENGINEERING_NEXUS_API_BASE_URL": "https://example.com/api",
        "ENGINEERING_NEXUS_ACCESS_TOKEN": "your_access_token"
      }
    }
  }
}

Codex TOML 配置:

[mcp_servers.engineering-nexus]
command = "npx"
args = ["-y", "@bd-gongfu-ai/engineering-nexus@latest"]

[mcp_servers.engineering-nexus.env]
ENGINEERING_NEXUS_API_BASE_URL = "https://example.com/api"
ENGINEERING_NEXUS_ACCESS_TOKEN = "your_access_token"

安装后建议先调用 check_connection,确认服务地址和 Access Token 可用,再调用 sync_now 执行一次同步。

MCP 工具

  • check_connection:检查服务连接和 Access Token 是否有效
  • nexus_status:查看本地采集状态、来源可用性、待上传数量和最近错误
  • sync_now:立即请求执行一次采集与上传
  • preview_cursor:只在本地预览 Cursor 聚合数据,不上传、不推进正式采集进度
  • verify_local:扫描本地证据、完成正常同步,并与服务端聚合结果进行比较
  • prepare_recollection:创建当前用户数据的重新采集准备请求,不直接删除数据

Cursor 本地预览

无需配置服务地址和 Access Token,即可预览本地 Cursor 数据:

npx -y @bd-gongfu-ai/engineering-nexus@latest preview-cursor \
  --start-date 2026-08-01 \
  --max-sessions 500 \
  --max-ms 30000

预览仅返回会话、对话、交互、Token、Skill 和代码行数等聚合结果,不修改正式采集状态。

本地数据核验

可以通过 CLI 核验指定时间范围内的本地数据与服务端聚合结果:

npx -y @bd-gongfu-ai/engineering-nexus@latest verify-local \
  --start-date 2026-08-01 \
  --end-date 2026-08-07 \
  --timeout-ms 120000 \
  --json

CLI 退出码:

  • 0:本地证据完整且结果匹配
  • 1:本地证据完整但结果存在差异
  • 2:参数无效、证据不完整、连接失败、鉴权失败或超时

Cursor Token

检测到 Cursor 后,MCP 会自动配置 afterAgentResponse Hook,用于采集 Hook 安装之后的准确 Token 数据。现有 Cursor Hook 会被保留;网络失败时,尚未确认上传的数据会继续保存在本地。

Hook 安装之前的历史 Cursor Token 无法恢复。当前版本不采集 Cursor 代码采纳率。

Git 数据

Git 指标来自 AI 会话工作区内仓库的本地分支、origin 远端跟踪分支和本地标签,不要求 Commit 已经推送。采集只执行本地只读 Git 命令,不运行 ls-remotefetchpullpush,因此不依赖网络、VPN 或远端凭据。

采集器保存每个仓库已经确认处理的 ref tip,并用 Git 图差集发现后续新可达 Commit。大历史按固定快照有界分页,只有当前页被服务端接收或判重后才推进进度;分支删除、rebase 或 force-push 不会回删已经观察到的历史 Commit。

checkpoint 还绑定不可逆的作者指纹。修正仓库本地 user.email / user.name 后,即使 ref 未变化也会从固定起点重扫;本地状态不会保存姓名或邮箱明文。修改 origin URL 不触发历史重扫,避免同一物理历史按新旧仓库标识重复累计。

作者配置允许只设置一项:user.email 非空时优先按 email 匹配,否则按 user.name 精确匹配。两项都未配置时跳过该仓库,不报失败;后续补充任一身份后会从固定起点扫描。

浅克隆的边界也会写入进度。仓库 deepen、unshallow,或已保存的 ref 对象被 Git GC 后,旧分页位置会失效,采集器将从当前本地 refs 幂等重扫;已经上传的 Commit 由服务端去重。本地对象库中已经删除且此前未处理的 Commit 无法恢复,也不会补造。

partial clone 不会触发 Git 的隐式 lazy fetch。Commit 已存在但行数所需 blob 尚未落地时,该 Commit 暂不上传伪造零值,也不阻塞其他 Commit;采集器保留本地修复项,待对象由正常 Git 操作补齐后自动补发。verify_local 在修复项未清空时会报告本地证据不完整。

每个仓库共享固定墙钟预算。单个 Commit 先读取准确的新增、删除和文件总数;文件数量、结构化 Diff 字节或剩余时间超限时,只省略文件明细,不丢失该 Commit 的总量,也不会无界读取 Diff。

只上传 Commit 数量、代码新增与删除行数和必要的文件级统计,不上传 Commit message、Patch 或文件内容。

离线与恢复

服务暂时不可访问时,待上传事件会保留在本地。网络恢复后,MCP 会在后续采集周期继续上传,不需要重新安装。

可以调用 nexus_status 查看待上传数量和最近错误,调用 sync_now 请求立即重试。

升级

配置使用 @latest 时,MCP 宿主会在下次启动时解析 npm 最新版本。运行中的进程不会自动替换;新版本发布后需要重启 Codex、Cursor、Claude Code 或对应的 MCP 宿主。

升级不会删除本地原始日志或已保存的待上传队列。

隐私边界

上传数据不包含:

  • 提示词、回复或其他对话正文
  • 文件内容、代码内容、Diff 或 Patch
  • 绝对路径
  • 工具参数或工具执行结果
  • Commit message
  • Access Token、Git 凭据或包含凭据的 URL

上传前会按字段白名单清理事件,只保留统计所需的标识和数值。