neko_wows 是 N.E.K.O 的《战舰世界》陪玩插件。它读取本机 8111_for_wows 提供的战局遥测,将连续快照整理成战斗事件,再交给当前猫娘进行有优先级的主动播报。
- 读取自身状态、已加载舰船、伤害、地图等本地战局遥测。
- 识别低血量、短时高额受伤、近距离威胁、以少打多等事件,并控制播报优先级与频率。
- 默认可复用 N.E.K.O 宿主已发送给模型的近期共享屏幕帧;该帧总线由多个插件共享,并非插件隔离。可在插件设置中关闭。
- 支持战术文档、提示词、播报偏好、诊断和 dry-run 预览。
- 不读取游戏内存,不修改网络封包,不控制键鼠,也不会自动操作游戏。
本插件目前配合 WG 国际服《战舰世界》和 8111_for_wows 使用。完整链路由三部分组成:
游戏内 WowsExtractor Mod → 本机 8111_for_wows Server → N.E.K.O 插件
请先准备:
- 已安装并能正常运行的 N.E.K.O;
- WG 国际服
World_of_Warships游戏客户端; - Windows 上可用的
uv; PnFModsLoader.py。如果游戏的res_mods目录中已经有该文件,可直接复用。
- 打开 N.E.K.O 的插件管理/插件市场。
- 搜索“战舰世界猫娘陪玩”或插件 ID
neko_wows。 - 安装插件,并在插件管理中启用、启动它。
插件本体安装完成后仍不会立即获得战局数据;还需要继续安装下面的游戏内 Mod 和本地 Server。
用 Git 克隆仓库:
git clone https://github.com/Tz-WIND/8111_for_wows.git
cd 8111_for_wows
uv sync --no-dev也可以在 8111_for_wows 仓库页面 选择 Code → Download ZIP,解压后进入仓库根目录执行:
uv sync --no-dev建议将仓库放在固定位置,例如 D:\Tools\8111_for_wows;插件自动启动 Server 时会使用这个目录。
-
打开游戏安装目录,进入当前最新版本的:
World_of_Warships\bin\<最新 build 数字>\res_mods\ -
确认
res_mods下存在PnFModsLoader.py。如果没有,请从现成的 Unbound2 Mod 包(如 TTaroTeamPanel、StreamerMode)或 Wargaming ModsSDK 中取得一份。 -
将
8111_for_wows仓库中的整个目录:mod\PnFMods\WowsExtractor\复制到:
World_of_Warships\bin\<最新 build 数字>\res_mods\PnFMods\WowsExtractor\ -
不要只复制
Main.py,也不要把整个8111_for_wows仓库塞进res_mods。完成后的关键结构应为:res_mods\ ├─ PnFModsLoader.py └─ PnFMods\ └─ WowsExtractor\ ├─ Main.py ├─ battle_identity.py ├─ emit_guard.py └─ config.example.ini -
可选:在游戏内的
WowsExtractor目录中,将config.example.ini复制为config.ini。默认约每0.1秒写入一次;若想降低频率,可把state_interval调为0.15或0.2。
启动游戏并进入任意战斗(训练房即可)。在游戏目录的 python.log 中搜索:
[WowsExtractor] writing telemetry to:
对应目录中应出现开局生成的 meta.json,以及持续更新的 state.json。
游戏更新后,
bin下的最新 build 数字通常会变化。届时需要把PnFModsLoader.py和WowsExtractor重新复制到新的res_mods目录。
推荐让插件托管 Server:
- 打开“战舰世界猫娘陪玩”面板的“概览”页。
- “地址”保持
http://127.0.0.1:8111。 - “服务源码目录”选择
8111_for_wows的仓库根目录,例如D:/Tools/8111_for_wows。 - “游戏目录”选择
World_of_Warships的安装根目录,不要选择某个具体的bin/<build>目录。 - 点击“保存并重连”。插件会自动启动本地 Server,并在插件停止时只关闭自己启动的进程。
也可以手动启动 Server:
-
在
8111_for_wows仓库根目录将config.example.ini复制为config.ini。 -
编辑
config.ini,把game_dir指向World_of_Warships安装根目录。 -
双击
run_server.bat,或在仓库根目录执行:uv run --no-dev python server/server.py
-
在插件“概览”页只填写地址
http://127.0.0.1:8111,将“服务源码目录”留空,然后保存并重连。插件会复用外部 Server,不会将它关闭。
- 浏览器打开 http://127.0.0.1:8111/healthz。响应中的
serviceId应为8111_for_wows。 - 进入一场战斗,确认
state.json持续更新。 - 回到插件“概览”页,确认数据源已连接、战局状态为实时,并能看到不断增长的帧数与事件数。
- 确认复制目标是最新 build 下的
res_mods/PnFMods/WowsExtractor/。 - 确认
res_mods根目录存在PnFModsLoader.py。 - 检查
python.log中是否出现[WowsExtractor] loaded或报错信息。 - 游戏更新后重新复制 Mod。
- “游戏目录”或 Server 配置中的
game_dir应指向World_of_Warships安装根目录。 - 以
python.log中writing telemetry to:后显示的绝对路径为准。 - 确认已经进入战斗;港口中没有实时战局文件是正常的。
War Thunder 的遥测也会使用 8111。先确认占用端口的进程;需要换端口时,同时修改 8111_for_wows Server 和插件“概览”页中的地址,例如改为 http://127.0.0.1:8125。
- 在命令行执行
uv --version,确认uv已安装并加入PATH。 - 确认“服务源码目录”中存在
server/server.py。 - 在
8111_for_wows根目录重新执行uv sync --no-dev。 - 如果连续启动失败触发自动暂停,请先修正错误,再在插件面板中恢复或手动重连。
更多采集器配置、接口和排障信息见 8111_for_wows 文档。
- 遥测来自游戏官方 ModsAPI,只包含玩家本来可以在游戏界面中看到或已经加载的数据,不提供隐藏敌情。
live_vision_enabled默认开启时,插件可读取 N.E.K.O 宿主全局共享帧总线中近期的屏幕帧;该总线跨插件共享,不是按插件隔离。此复用路径本身不会截图或保存帧,可在插件设置中关闭。- 主动截图功能默认关闭。若手动开启,屏幕图像会写入插件数据目录并发送给所配置的模型服务商。
- Mod 与第三方工具的使用请遵守所在服务器的规则,相关风险由使用者自行承担。
建议将本仓库与 N.E.K.O 主仓库放在同一目录下:
workspace/
├─ N.E.K.O/
└─ N.E.K.O_plugin_neko_wows/
在本仓库根目录运行测试:
uv run --project ../N.E.K.O pytest -q校验并构建插件包:
uv run --project ../N.E.K.O neko-plugin check -r .
uv run --project ../N.E.K.O neko-plugin build .发布由版本标签或手动触发的 GitHub Actions 工作流完成。
neko_wows/:插件运行时代码、界面和本地化资源;tests/:单元测试与回放测试;scripts/:离线舰船目录构建工具;plugin.toml:N.E.K.O 插件清单与默认配置。
本项目采用 Apache License 2.0。