{"id":19303243,"url":"https://github.com/pboymt/wfnodejs","last_synced_at":"2026-05-17T10:32:55.698Z","repository":{"id":57309111,"uuid":"518092789","full_name":"pboymt/WFNodejs","owner":"pboymt","description":"世界弹射物语 / 弹射世界 自动值守脚本，基于 Node.js，可适用于手机分辨率。","archived":false,"fork":false,"pushed_at":"2024-03-27T06:12:25.000Z","size":847,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-05T23:40:12.869Z","etag":null,"topics":["automation","game-automation","world-flipper"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pboymt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-26T14:22:43.000Z","updated_at":"2024-11-13T17:23:37.000Z","dependencies_parsed_at":"2024-11-09T23:26:03.093Z","dependency_job_id":"ae79b1b8-0159-4788-af85-80a1af3c1267","html_url":"https://github.com/pboymt/WFNodejs","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pboymt%2FWFNodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pboymt%2FWFNodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pboymt%2FWFNodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pboymt%2FWFNodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pboymt","download_url":"https://codeload.github.com/pboymt/WFNodejs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240404688,"owners_count":19796062,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","game-automation","world-flipper"],"created_at":"2024-11-09T23:25:40.391Z","updated_at":"2026-05-17T10:32:50.677Z","avatar_url":"https://github.com/pboymt.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WFNodejs 运行于 Node.js 的游戏自动化脚本\n\n## 介绍\n\nWFNodejs 是一个运行于 Node.js 的游戏自动化脚本，目前可用于 **世界弹射物语**（国服） 。\n\n### 开发目的\n\n目前的 Python 版本的脚本已经能够满足部分玩家的需求，但是比较常用的 repo 对分辨率的支持不够友好（支持多开模拟器挂机，但是不支持直接在物理机上进行代理），并且开源等于没有开源，扩展性不足，因此我决定开发一个 Node.js 版本的脚本，以便于更多的玩家扩展使用。\n\n## 目录\n\n- [WFNodejs 运行于 Node.js 的游戏自动化脚本](#wfnodejs-运行于-nodejs-的游戏自动化脚本)\n  - [介绍](#介绍)\n    - [开发目的](#开发目的)\n  - [目录](#目录)\n  - [说明](#说明)\n    - [运行环境说明](#运行环境说明)\n      - [操作系统](#操作系统)\n      - [Node.js](#nodejs)\n    - [分辨率支持](#分辨率支持)\n  - [安装](#安装)\n    - [下载项目源码](#下载项目源码)\n    - [安装前准备](#安装前准备)\n    - [安装依赖](#安装依赖)\n      - [外部依赖](#外部依赖)\n      - [项目依赖](#项目依赖)\n  - [使用](#使用)\n  - [例子](#例子)\n\n## 说明\n\n### 运行环境说明\n\n本脚本**目前**只能运行于 Windows 系统，且**需要安装 Node.js 环境**。其他系统的环境并未进行测试，但理论上也可以运行。\n\n#### 操作系统\n\n目前测试过的操作系统有：\n\n- Windows 11 22H1\n- Windows 11 21H2\n\n#### Node.js\n\n本脚本需要 Node.js 环境，目前测试过的 Node.js 版本有：\n\n- Node.js 18.7.0\n\n据各个依赖包分析，Node.js 14.0.0 及以上的 LTS 版本应该都可以运行。\n\n### 分辨率支持\n\n本脚本目前只支持 1080×1920+ 的分辨率，可以直接在各种 Android 手机上使用，其他分辨率的支持正在开发中（会很慢），预计使用缩放模板的方式进行支持。\n\n## 安装\n\n### 下载项目源码\n\n- 使用 git 命令下载源代码\n\n```pwsh\nPS 父目录\u003e git clone https://github.com/pboymt/WFNodejs.git\n```\n\n- 切换到项目目录\n\n```pwsh\nPS 父目录\u003e cd WFNodejs\n# 后续指令均在此目录下执行\nPS WFNodejs\u003e\n```\n\n### 安装前准备\n\n本项目需要你单独安装的外部依赖有（**加粗为必须自行配置**）：\n\n- **ADB**（[Google](https://developer.android.com/studio/releases/platform-tools)，[国内官方镜像](https://developer.android.google.cn/studio/releases/platform-tools)）\n  - ADB 用于连接模拟器和手机，是获取屏幕截图和对手机进行手势操作的必要依赖。\n  - 如果你安装过 Android Studio，那么你可以在 Android Studio 的安装目录下找到 ADB，请确保能够在命令行中使用 `adb` 命令。\n  - 如果你没有安装过 Android Studio，那么你可以在链接中下载 Platform Tools 压缩包并解压。\n  - 配置环境变量：将 ADB 的安装目录（包含 `adb.exe` 的文件夹）添加到环境变量 `PATH` 中。\n- [OpenCV](https://opencv.org/releases/) \n  - 本项目开发时同时使用了 4.5.5 和 4.6.0 版本，均能够运行正常。\n  - 可以不用自行配置，使用 `npm install` 安装依赖时会自动下载（网络不好请在命令行中设置代理环境）。\n  - 如果你选择自动下载 OpenCV ，默认下载的版本为 4.6.0 版本，会下载到项目根目录下的 `opencv` 目录中，解压目录为 `opencv/opencv` 。\n  - 如果你选择手动下载 OpenCV ，可以将 OpenCV 解压到项目根目录下的 `opencv` 目录中。\n  - 如果你将 OpenCV 安装到了其他目录，那么你需要在环境变量中添加 OPENCV_INCLUDE_DIR 、 OPENCV_LIB_DIR 和 OPENCV_BIN_DIR 三个环境变量，分别指向 OpenCV安装目录下的 `build/include` 、 `build/x64/vc15/lib` 和 `build/x64/vc15/bin` 目录，并且设置为绝对路径（如：`C:\\opencv\\build\\include` 、 `C:\\opencv\\build\\x64\\vc15\\lib` 和 `C:\\opencv\\build\\x64\\vc15\\bin`）。\n  - 经测试，将 `vc15` 替换为 `vc14` 目录同样可以使用。\n  - 项目的安装脚本能够自行探测项目根目录下的 OpenCV 的安装目录和环境变量，如果探测到了，那么就不会自动下载 OpenCV ，探测的优先级为：\n    - 环境变量\n    - 项目根目录下的 `opencv` 目录\n    - 项目根目录下的 `opencv/opencv` 目录\n  - 上述路径安装的 OpenCV 都会被自动探测并将绝对路径配置到 `.env` 文件中。\n\n### 安装依赖\n\n#### 外部依赖\n\n参考[上一节](#安装前准备)的内容，确保你已经安装了 ADB 和 OpenCV（可选） 。\n\n#### 项目依赖\n\n在项目根目录下执行 `npm install` 安装项目依赖。\n\n```pwsh\nPS WFNodejs\u003e npm install\n```\n\n## 使用\n\n可以直接运行脚本\n\n```pwsh\nPS WFNodejs\u003e node .\n```\n\n或者使用 `npm link` 将项目链接到全局，然后在任意目录下执行 `wfa` 命令即可。\n\n```pwsh\nPS WFNodejs\u003e npm link\n# 链接后可以在任意目录下执行 wfa 命令。\nPS WFNodejs\u003e wfa\n```\n\n输出：\n```\nUsage: wfa [options] [command]\n\nWFNodejs 是一个运行于 Node.js 的游戏自动化脚本，目前可用于世界弹射物语（国服）。\n\nOptions:\n  -V, --version              output the version number\n  -h, --help                 display help for command\n\nCommands:\n  play [options]             运行脚本\n  ……\n```\n\n## 例子\n\n目前支持铃铛和单人挑战，使用 `wfa play --list` 命令可查看所有支持脚本。\n\n```pwsh\nPS WFNodejs\u003e wfa play\n[2022-08-07 19:14:33][INFO][wfa] 没有找到指定设备，请选择一个设备：\n? 请选择一个设备：（使用方向键选择，回车键确认）\n……\n```\n\n选择一个设备后，脚本会自动运行。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpboymt%2Fwfnodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpboymt%2Fwfnodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpboymt%2Fwfnodejs/lists"}