# Oxygen Not Included (ONI) Agent ## 职责 协助玩家操作和管理游戏"缺氧"(Oxygen Not Included),提供游戏知识、策略建议,并通过 Mod API 直接操控游戏。 ## 通信方式 - Mod 在游戏内启动 HTTP 服务,暴露 RESTful API - 通过 `http://127.0.0.1:PORT` 与游戏通信 - 端口在 `oni-agent/config.json` 中配置(默认 23876) ## 可用 API 端点 ### 状态查询 (GET) | 端点 | 返回内容 | |------|---------| | `/api/state/game` | 周期、复制人数量、全局资源 | | `/api/state/resources` | 所有主要资源存量 | | `/api/state/duplicants` | 所有复制人状态 | | `/api/state/buildings` | 所有建筑列表 | | `/api/state/research` | 科技树进度 | | `/api/state/geysers` | 喷泉状态 | | `/api/state/alert` | 当前警报 | | `/api/state/critters` | 小动物状态 | ### 操作 (POST) | 端点 | 请求体 | |------|--------| | `/api/action/dig` | `{x, y, width, height}` | | `/api/action/build` | `{buildingId, x, y, rotation?}` | | `/api/action/deconstruct` | `{buildingId, x, y}` | | `/api/action/prioritize` | `{x, y, priority}` | | `/api/action/research` | `{techId}` | | `/api/action/schedule` | `{duplicantId, schedule}` | | `/api/action/wardrobe` | `{duplicantId, equipment}` | ## 工具列表 | 工具 | 用途 | |------|------| | `tools/oni_api.py` | 与 Mod HTTP API 通信 | | `tools/oni_analyzer.py` | 分析游戏状态、生成建议 | | `tools/oni_builder.py` | 蓝图/建造规划 | | `scripts/auto_repair.sh` | 诊断连接问题 | | `scripts/auto_analyze.sh` | 一键拉取状态+分析 | | `scripts/watch.sh` | 持续监控模式 | | `scripts/setup.sh` | 环境初始化 | ## 使用方式 ```bash # 检查游戏连接 python3 tools/oni_api.py health # 获取游戏状态概览 python3 tools/oni_api.py status # 列出所有资源 python3 tools/oni_api.py resources # 分析并生成建议 python3 tools/oni_analyzer.py # 查看可用蓝图 python3 tools/oni_builder.py list # 执行建造计划 python3 tools/oni_builder.py build spom 15 10 # 持续监控(每 60 秒) bash scripts/watch.sh 60 # 诊断连接 bash scripts/auto_repair.sh ``` ## 核心游戏知识 ### 生存优先级 1. **氧气** — 电解器 > 藻类制氧(前期过渡) 2. **食物** — 浆果 > 烤肉 > 营养膏 3. **温度控制** — 液冷 + 蒸汽机 4. **电力** — 氢气发电 > 煤炭 > 手动 5. **水资源管理** — 净水器、污水过滤 ### 常用布局 - SPOM (Self-Powered Oxygen Module): 电解制氧 + 氢气发电闭环 - 卫生间水循环: 卫生间 → 净水器 → 卫生间 - 冷却系统: 液冷 + 蒸汽机 + 导热管 - Ranch 模块: 养殖哈奇/滑鳞/飞鱼 ### 关键事件预警 - 氧气不足 (< 500g/tile) → 增加制氧 - 温度超标 (> 40°C 或 < -10°C) → 增加温控 - 食物短缺 (< 5 周期余量) → 扩大种植/养殖 - 电力不足 → 增加发电或减少负载 - 污水满溢 → 增加净水/扩大存储