VRC-Notifier 好友状态监控通知系统

屏幕截图 2026-02-28 165201.png

介绍

VRC-Notifier是一个专门为VR chat玩家设计的后台监控工具,它可以持续地在后台监控您所指定的好友的状态变化,比如上线信息,下线信息,状态切换信息,和世界切换信息,并通过邮箱smtp服务或者Gotify等其他开源平台实时通知你

屏幕截图 2026-02-28 174200.png

功能

  • 智能好友监控 - 选择性监控指定好友,而非全部好友列表

  • 仅监控状态模式 - 无限制监控所有好友的在线状态,不监控世界变化

  • 邮件通知 - 支持自定义 SMTP 服务器,实时接收状态变化通知

  • Gotify 推送 - 支持开源推送平台 Gotify,手机实时接收通知

  • NTFY 推送 - 支持开源推送平台 NTFY,支持自托管和官方服务器

  • Webhook 通知 - 支持自定义 Webhook 回调,可对接企业微信、钉钉、Discord 等第三方平台

  • 世界轮询 - 智能轮询机制追踪好友所在世界变化(标准模式)

  • API 保护 - 多层限流保护机制,确保不触发官方 API 限制

  • 防抖动机制 - 避免服务器抖动导致的误判,确保通知准确性

  • 精美界面 - 现代化 Web UI,支持明暗主题切换

  • Docker 支持 - 一键部署,支持 Docker Compose

使用

部署本项目,并启用本项目

在终端会收到访问密钥输入生成的访问密钥即可登录VRchat官方账号(账号不会明文保存相关数据均已加密并保存在本地)

进入好友列表,便会自动的刷新一次好友列表,后面工具将不会主动的自动刷新以降低API的请求频率

刷新完后好友列表会进入六十秒等待期(不会调用任何API),以防止用户在此多次频繁的使用API导致限流问题

用户可选择标准模式,和仅监控状态模式,标准模式会监控好友的世界信息,但最多只能监控五个好友

仅监控状态模式下可以监控所有好友,但无法监控他们的世界变化信息,两种模式均在关于按钮中呈现

接下来用户只要配置smtp服务或者gotify服务或者webhook服务就可以将好友状态及其变化推送到推送平台了

快速开始

环境要求

  • Node.js 18.0 或更高版本

  • 支持的平台:Windows / macOS / Linux

安装步骤

方式一:直接运行

# 克隆仓库
git clone https://github.com/shanyaojinjn/vrc-notifier.git
cd vrc-notifier

# 安装依赖
npm install

# 启动服务
npm start

方式二:Docker 部署(推荐)

  1. 创建项目目录并进入

mkdir vrc-notifier && cd vrc-notifier
  1. 创建 docker-compose.yml 文件

version: '3.8'

services:
  vrc-notifier:
    image: shanyaojinjin/vrc-notifier:latest
    container_name: vrc-notifier
    restart: unless-stopped
    ports:
      - "5270:5270"
    volumes:
      # 数据持久化存储
      - ./data:/app/data
    environment:
      - TZ=Asia/Shanghai
    networks:
      - vrc-network

networks:
  vrc-network:
    driver: bridge
  1. 启动服务

docker-compose up -d
  1. 访问服务

打开浏览器访问 http://localhost:5270 即可使用。

注意事项:

  • 数据将保存在 ./data 目录中,请确保该目录有写入权限

  • 如需停止服务,运行 docker-compose down

  • 查看日志:docker-compose logs -f

机制与解答

简单来说我们有非常灵活的API调用机制

防API请求失误抖动机制纠错系统,有三次防抖动纠错。

自动保护账号机制触发限流之前底层自动保护

世界信息轮询系统,世界信息将会以一个轮盘的形式进行轮询以节省API使用

工具兼容有API冗余可以与其他工具并存vrcx

游戏并上线可能会使得本工具掉线原因是因为ip发生变动等其他原因再次登录即可

如果你先启动游戏再启动本工具即可规避这个问题(或保持IP统一)

如果出现无法加载的情况,请耐心等待或者更换网络环境(查看终端,看是否触发保护)

| API 类型 | 官方建议 | 我们的限制 | 安全余量 |
|---------|---------|-----------|---------|
| 用户资料 | ≤1次/分钟 | 1次/分钟 | 100%合规 |
| 好友状态 | ≤5次/分钟 | 2次/分钟 | 60%余量 |
| 世界信息 | ≤10次/分钟 | 6次/分钟 | 40%余量 |

全局限流保护

当检测到限流触发时,系统会自动进入全局暂停模式

  • 自动暂停所有 API 请求 60 秒

  • 向用户发送警告通知

  • 前端显示实时限流状态

安全与隐私

本项目是一个需要自己部署的项目,请你选择安全的部署环境和平台以保障你的账号安全。相关数据工具以进行严格加密,但如果服务器部署平台发生了问题,那么账号信息还是会有泄露风险,本工具以尽可能保护帐号安全,所以不承担泄露风险。

本项目有着非常严格的API请求规则。如果触发API限流那么本工具会在触发之前便进行限流保护,如果触发次数过多,便自动停止该工具运行,以保障用户帐号安全。如果用户不恶意进行高频次API请求,那么本工具将不会使得用户账号面临封禁危险。如果用户账号发生了封禁现象,与本工具无关。

注意

不要擅自部署到危险的平台上

不要恶意多次请求API

不要拿本工具去恶意监视好友

更新

2026/3/2 修复在使用docker部署时,无法正常调取时间的问题

V1.5 更新日志

当前版本:1.5

新增:

  1. 增添 NTFY 通知平台的支持

  2. 新增 web 端平台识别,修复使用 VRCX 工具时通知重复的问题

  3. 新增 {oldPlatform}{newPlatform} 变量,支持自定义好友平台显示

  4. 新增 web 端上线下线逻辑和防抖机制

  5. 终端新增验证码调试内容,监控验证码输入错误

修复:

  1. 修复部分自定义变量无返回值的问题

  2. 修复首次使用时所有好友初始状态为离线,导致通知大量重复的问题

  3. 修复首次使用时好友世界命名为“未知世界”引发的重复通知问题

  4. 修复 NTFY 中时间格式被手机端识别为电话号码的问题

  5. 修复好友每次上线时自定义状态重复通知的问题

  6. 修复登录时提示错误的问题

  7. 修复账号登出后不返回登录界面的问题

优化:

  1. 优化上下线通知逻辑

  2. 优化默认模板格式

  3. 优化标签页内容与布局

  4. 删除多余文字和未使用的函数/变量

VRC-Notifier 1.6登录修复

紧急修复,用户账号处于登录状态时,重进网页自动跳回到登录界面的问题

使用案例

邮箱端推送案例

ab6eddc85366d3747c8642d29a61cc06.png

Gotify平台推送案例

Screenshot_2026-02-27-23-16-44-61_f78104b9cb08305.jpg

Gotify+手环推送案例

IMG20260228195951-EYOt.jpg

致谢


相关链接

本人技术不精,我承认只是个玩具项目,可以适当体验,或者是作为参考

Made with ❤️ for VRChat Community


VRC-Notifier 好友状态监控通知系统
https://blog.shany.cc/archives/vrc-notifier
作者
Shany Jin
更新于
2026年03月08日
许可协议