# yunzai系统窗口和状态检测 **Repository Path**: wind-trace-typ/sys_status ## Basic Information - **Project Name**: yunzai系统窗口和状态检测 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-07 - **Last Updated**: 2025-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # yunzai系统窗口和状态检测 #### 介绍 本项目主要提供对目标客户端(目前仅支持windows10或11)的状态和当前使用窗口检测(yunzai服务端无系统限制),参考下图(模拟信息仅供参考) ![具体输出](imageimage.png) 客户端会每五秒向目标云崽机器人发送状态信息并更新缓存,当用户向机器人发送指令时自动从缓存中提取出客户端的状态信息,并且两端之间的通信会以随时计算出的access_token通信 如果挂yunzai的服务器拥有公网ip则可以使用公网ip进行连接,若无公网ip则只能通过内网连接 #### 指令介绍 以下所有指令均仅主人可用 | 指令 | 功能描述 | |---|---| | 当前窗口 | 获取客户端当前使用的应用程序和窗口标题并输出 | | 系统状态 | 获取客户端当前使用的应用程序,窗口标题,cpu信息,内存信息,GPU信息并输出 | | 窗口检测状态 | 查看当前是否开启窗口检测还有是否有客户端连接 | | 启动窗口检测 | 开启端口监听,开启后客户端才可以正常连接 | | 停止窗口检测 | 关闭端口监听,关闭后客户端无法继续连接 | #### 安装教程 首先是服务端配置,对挂载yunzai的服务器进行操作: 1. 先进入Yunzai根目录打开终端,执行以下指令将js装入yunzai的js插件目录 ``` curl -o "./plugins/example/系统状态检测.js" "https://gitee.com/wind-trace-typ/sys_status/raw/master/系统状态检测.js" ``` 2. 然后进入以下目录Yunzai/plugins/example找到系统状态检测.js,用记事本或者其他可以打开的编辑器打开找到第47行的this.authConfig,具体如下 ``` this.authConfig = { appid: '自己设置的appid', // 客户端标识 token: '自己设置的token', // 共享密钥 timeout: 300000 // 5分钟有效期(毫秒) } this.isDetectionActive = isDetectionActive this.masterWindowInfo = masterWindowInfo this.app = express() this.server = null this.port = 5502 ``` 请自行配置appid,token,设置完成后才可正常启动,若是想要更换监听的端口,可以更改this.port项(若更改请记住并同步更改客户端端口配置),默认监听5502端口 若是云服务器请在安全组配置放行5502或者自行修改的端口 3. 在云崽根目录打开终端,然后执行 ``` pnpm add body-parser -w ``` 接下来就可以启动yunzai了,若是已经启动则重新启动一次 4. 重启成功后向机器人发送指令 启动窗口检测 ,以后每次重新启动都需要输入此指令才会监听端口,当有以下提示则说明监听成功 ![输入图片说明](image.png) 然后是客户端的配置,对需要监听的客户端进行操作(❗注意仅支持windows10或11系统): 1. 首先先安装python,若是环境中已有python则可以跳过此步骤,可以在以下阿里云镜像中查找自己需要的python版本并安装(如python-3.10.0-amd64.exe) ``` https://mirrors.aliyun.com/python-release/windows ``` 安装python步骤如下,一定要勾选add to path选项 ![输入图片说明](imageQQ_1757177169029.png) 2. 找到一个位置用于放置客户端文件,然后在该位置打开终端,执行以下指令 ``` curl -o "./客户端.py" "https://gitee.com/wind-trace-typ/sys_status/raw/master/客户端.py" curl -o "./requirements.txt" "https://gitee.com/wind-trace-typ/sys_status/raw/master/requirements.txt" ``` 3. 上面步骤执行完成之后继续在终端中输入,等待下载完成 ``` pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip install -r requirements.txt ``` 4. 使用记事本或者其他可以打开的编辑器打开文件夹里的刚刚下载的客户端.py文件,然后找到第十六行AUTH_CONFIG的位置 ``` AUTH_CONFIG = { "appid": "填入上面自己在yunzai服务端设置的appid,一定要确保设置的相同的appid,不然无法正常链接", "token": "填入上面自己在yunzai服务端设置的token,一定要确保设置的相同的token,不然无法正常链接" } #SERVER_URL = f"http://localhost:5502/report" #STATUS_URL = f"http://localhost:5502/status" SERVER_URL = f"如果是本地参考上面两条,如果是yunzai端含有公网ip则为http://yunzai端公网ip:5502/report" STATUS_URL = f"如果是本地参考上面两条,如果是yunzai端含有公网ip则为http://yunzai端公网ip:5502/report" ``` 如果更改了yunzai端的监听端口,这里端口也要改变,将5502改为你自己设置的端口,若没改则可以不动,修改完成保存 5. 在客户端.py目录打开终端,然后执行以下命令 ``` python 客户端.py ``` 运行成功后会输出以下信息 ![输入图片说明](QQ_1757178483140.png) 当成功连接之后会是如下状态 ![输入图片说明](QQ_1757178803585.png) 首先发送状态会是connected,然后会每隔五秒输出 发送窗口信息,如果发送成功则输出 窗口信息已发送 #### 使用说明 1. 本人不保证在公网下完全安全,仅承诺不会通过此插件收集信息且在我理解下对连接方式做得尽量安全,如果使用则代表自己可以承担风险 2. 请设置比较复杂得appid和token以访问保证安全 3. 请勿向别人暴露自己的appid,token还有公网ip,并且请勿将该插件指令权限设置成所有人可使用