@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 \
--jsonCLI 退出码:
0:本地证据完整且结果匹配1:本地证据完整但结果存在差异2:参数无效、证据不完整、连接失败、鉴权失败或超时
Cursor Token
检测到 Cursor 后,MCP 会自动配置 afterAgentResponse Hook,用于采集 Hook 安装之后的准确 Token 数据。现有 Cursor Hook 会被保留;网络失败时,尚未确认上传的数据会继续保存在本地。
Hook 安装之前的历史 Cursor Token 无法恢复。当前版本不采集 Cursor 代码采纳率。
Git 数据
Git 指标来自 AI 会话工作区内仓库的本地分支、origin 远端跟踪分支和本地标签,不要求 Commit 已经推送。采集只执行本地只读 Git 命令,不运行 ls-remote、fetch、pull 或 push,因此不依赖网络、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
上传前会按字段白名单清理事件,只保留统计所需的标识和数值。
