ワンクリックで
oni-mcp-testing
当用户要求测试、验证或审计 ONI MCP 服务器功能、连接状态、工具可用性,或评估 MCP 操作体验和易用性时使用。指导 agent 执行系统化的功能测试流程,覆盖连接、查询、地图、建造、相机、订单等核心能力,并生成测试报告。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
当用户要求测试、验证或审计 ONI MCP 服务器功能、连接状态、工具可用性,或评估 MCP 操作体验和易用性时使用。指导 agent 执行系统化的功能测试流程,覆盖连接、查询、地图、建造、相机、订单等核心能力,并生成测试报告。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
MCP control skill for Oxygen Not Included. Defines the control loop (sense → analyze → decide → act → verify), tool calling strategies, parameter selection, batch patterns, and error recovery. Use when controlling ONI through MCP tools.
当开始新的 Oxygen Not Included 殖民地,或用户要求开局设置/bootstrap 配置时使用。涵盖思考前暂停、错峰日程、按属性重命名复制人并由用户确认命名风格、禁用自动消毒、侦察起始星体,以及规划早期双侧扩张和打印舱实验室。
当用户要求 agent 通过 MCP 循环游玩 Oxygen Not Included、自动玩一段时间、继续殖民地,或运行暂停-规划-恢复循环时使用。强制执行严格的 pause -> observe -> plan -> execute -> resume briefly -> pause -> verify 循环,读取 game_control domain=ui uiDomain=edit_mark action=list,限制运行窗口,并在风险或歧义决策前停下等待用户确认。
当用户要求检查 ONI 复制人状态、怀疑复制人卡住/被困/不可达、报告复制人在错误地点发呆或睡觉、要求救援分诊,或需要快速复制人健康/导航审计时使用。指导 agent 先用 dupes_control domain=info action=status_check,只检查被标记区域,除非用户明确授权,否则不要下达救援动作。
当用户要求快速总结 ONI 附近环境/资源、开局区域概览、周围资源、附近危险、扩张方向,或问“我周围有什么”时使用。指导 agent 使用低 token 的只读 MCP 工具,尤其是 read_control domain=world action=area_snapshot,并返回简洁、可执行的环境/资源摘要,不执行游戏动作。
当用户询问 ONI 游戏机制、建筑/资源/元素/动植物用途、策略建议,或在未授权控制游戏时问“我该做什么”时使用。事实性答案优先依据可验证的外部文档或静态仓库资料;仅当建议依赖当前存档时读取只读殖民地、世界和资源状态,不调用已禁用的游戏内 knowledge/database/guide 查询。
| name | oni-mcp-testing |
| description | 当用户要求测试、验证或审计 ONI MCP 服务器功能、连接状态、工具可用性,或评估 MCP 操作体验和易用性时使用。指导 agent 执行系统化的功能测试流程,覆盖连接、查询、地图、建造、相机、订单等核心能力,并生成测试报告。 |
验证服务器连接和游戏基本状态:
server_control domain=diagnostics action=status → 服务器加载状态、端口、工具数量
game_control domain=speed action=time → 游戏时间、周期、暂停状态
colony_control domain=snapshot action=get → 殖民地完整快照(替代 6 个独立调用)
检查项:
server_control domain=diagnostics action=status 返回的 loaded 为 truetoolCount 为核心公开工具数量,正常应为 8game_control domain=speed action=time 返回有效周期和时间colony_control domain=snapshot action=get 返回复制人、食物、建筑、研究、告警并行测试对规划决策最关键的信息工具,跳过非核心查询:
read_control domain=infrastructure action=power_summary includeDetails=true → 重点检测未接入电路的设备
dupes_control domain=info action=status_check → 复制人导航可达性、被困风险
building_control domain=planning action=search_defs query=厕所 → 中文查询 + 材料可用性
检查项:
read_control domain=infrastructure action=power_summary 发现未连接设备(如 circuitId=-1)为加分项dupes_control domain=info action=status_check 无被困风险,导航样本合理building_control domain=planning action=search_defs 中文关键词可用,返回 placement.anchor 规则这是测试核心。重点验证地图输出是否真正「可读、可规划、可决策」:
read_control domain=world action=text_map
view=base, includeBuildings=true, includeItems=true, format=markdown
→ 测试连续区段地图的可读性、图例完整性、对象标注精度
read_control domain=world action=text_map
view=temperature, format=markdown
→ 测试温度视图是否能快速识别 hot/mild/cold 区域
read_control domain=world action=area_snapshot
preset=utilities, overlays=[power,gas_conduits,liquid_conduits,logic]
compact=true
→ 测试多 overlay 信息密度、紧凑模式实用性、冲突诊断输出
检查项(地图可读性):
bld/dup/itm/tile/sol/bp/bp_a 等全部标记anchor/footprint/size,多格建筑边界明确hot/mild/cold,无大面积混淆compact=true 下对象表省略空字段,信息密度高但不丢失关键数据检查项(诊断价值):
unsupported 建筑(缺失支撑格坐标列出)overlap 冲突(列出具体冲突对象,如 tile@x,y 或 building:Door@x,y)w(电线) / p(电力设备) / .(空)测试 MCP 是否能有效降低殖民地规划的认知负担:
read_control domain=world action=layout_candidates purpose=barracks limit=5
→ 评分、分类、需挖掘/铺砖量、危险格、可达性
read_control domain=world action=layout_candidates purpose=bathroom limit=5
→ 不同用途的候选推荐是否差异化
building_control domain=planning action=preview prefabId=Outhouse x=... y=... dryRun=true
→ 应拒绝 raw coordinates,并提示使用 operation-file 路由
world_editor command=read path=/active/ops/tools.md
→ 只选择当前公开 typed files/tools,忽略 hidden coordinate_control 和 /active/ops/coordinate.md
world_editor command=read path=/active/map/viewport.md
→ 把目标空格 token 改为 `建筑名:优先级[#材料字]`,以外层 dryRun=true/confirm=false 预览
检查项(候选规划):
read_control domain=world action=layout_candidates 返回 score 和 scoreExplanation,扣分逻辑透明open_ready/mixed_platform 等)能帮助快速决策requiredDig/requiredTiles/existingSupportCells 量化改造工作量hazardCells 标注液体/危险元素坐标,避免盲目挖掘检查项(建造预检复杂度):
building_control 对 raw x/y 返回明确拒绝和 operation-file 引导allowPartial=true 允许且无法事务回滚material=auto 自动选择当前星球可用材料测试大范围规划的基础设施:
read_control domain=area action=define x1=... y1=... x2=... y2=... label=plan_zone
read_control domain=area action=blocks blockWidth=20 blockHeight=20 label=plan_blocks
read_control domain=area action=merge areaIds=[blk1,blk2]
→ 区域定义、切块、合并的连贯性
building_control domain=planning action=build_area prefabId=Tile anchors=[[x1,y1],[x2,y2],[x3,y3]] dryRun=true
→ 验证普通工具拒绝 raw anchors
world_editor command=read path=/active/ops/orders.md
→ 以 `挖 x1=... y1=... x2=... y2=... priority=7 dryRun=true` 验证精确矩形 dry-run 路由
orders_control domain=area action=dig areaId=... dryRun=true detail=true
orders_control domain=area action=sweep areaId=... dryRun=true detail=true
→ 区域级订单预览,检测风险与 previewToken 复用
检查项:
read_control domain=area action=define / read_control domain=area action=blocks / read_control domain=area action=merge 生成的 areaId 可在后续工具复用building_control 对 raw anchors 拒绝,不残留部分蓝图dryRun=true 且 confirm=false/省略;独立执行 edit 用 dryRun=false 且 confirm=true,内外标志不冲突orders_control domain=area action=dig 返回目标元素、质量、温度、风险列表previewToken 支持复用,避免重复扫描合并为少量调用,验证可用即可:
navigation_control action=get_view
navigation_control action=focus_cell x=... y=...
navigation_control action=switch_view view=power screenshot=false
navigation_control action=coordinate_screenshot areaId=... focusCamera=true
检查项:
server_control domain=batch action=call_many responseMode=summary
items:
- { t: navigation_control, a: { action: get_view } }
- { t: building_control, a: { domain: planning, action: search_defs, query: 梯子, limit: 3 } }
检查项:
requireAllValid=true 正确工作如果前 7 阶段全部通过,可选执行一次小规模建造验证:
world_editor command=read path=/active/map/viewport.md
# replace target empty tokens with Ladder:5 using outer dryRun=true and confirm=false/omitted
# after reviewing the preview, make a new edit with outer dryRun=false and confirm=true
read_control domain=world action=text_map x1=... y1=... x2=... y2=...
→ 验证直线建造后地图是否正确显示 bp 标记
规则:
bp / bp_a 标记每轮测试后返回简洁报告,重点评价「地图易于理解性」和「规划难度」:
## ONI MCP 测试报告
### 连接状态
| 项目 | 结果 |
|------|------|
| 服务器加载 | ✅/❌ |
| 工具数量 | N 个 |
| 游戏状态 | 第 X 周期,暂停/运行 |
### 功能测试结果
| 类别 | 状态 | 备注 |
|------|------|------|
| 基础查询 | ✅/❌ | |
| 地图可读性 | ✅/❌ | |
| 地图诊断价值 | ✅/❌ | unsupported/overlap/overlay |
| 规划候选质量 | ✅/❌ | read_control domain=world action=layout_candidates 评分与分类 |
| 建造预检复杂度 | ✅/❌ | 多格/支撑/阻碍检测 |
| 批量与区域 | ✅/❌ | 原子性、areaId 复用 |
| 相机/视图 | ✅/❌ | |
| 实际建造 | ✅/❌/跳过 | |
### 发现的问题
- (如有)
### 总体评价
| 维度 | 评分 | 说明 |
|------|------|------|
| 易用性 | ⭐x/5 | |
| 安全性 | ⭐x/5 | |
| 地图可读性 | ⭐x/5 | 连续区段、图例、overlay 清晰度 |
| 规划难度 | ⭐x/5 | 候选评分、预检诊断、批量原子性 |
| 现象 | 可能原因 | 排查步骤 |
|---|---|---|
server_control domain=diagnostics action=status 返回 loaded=false | 游戏未运行或模组未加载 | 确认游戏已启动,检查模组是否启用 |
工具调用返回 not found | 工具名拼写错误或不在核心列表 | 使用 server_control domain=catalog action=search 查找正确工具名 |
普通 building_control preview 传 raw x/y | 当前公开运行时拒绝 raw coordinates | 将返回拒绝视为预期成功,改测 /active/map/viewport.md token dry-run |
| 普通订单工具拒绝 raw coordinates | 当前公开运行时要求 operation-file 路由 | 读 /active/ops/tools.md,忽略 hidden coordinate 入口,使用 /active/ops/orders.md |
colony_control domain=snapshot action=get 告警未更新 | 建筑只是蓝图,未完工 | 蓝图不等于完工建筑;等复制人建造后重新读取 |
| 中文查询无结果 | 查询词不在本地化数据中 | 尝试英文关键词或 category 过滤 |
orders_control domain=area action=dig 风险提示不全 | 只检测明显风险,不保证全面 | 结合 read_control domain=world action=text_map 人工确认液体/高温/真空相邻 |
read_control domain=world action=layout_candidates 评分偏低 | 区域含大量危险格或需大量挖掘 | 检查 hazardCells 和 requiredDig,更换 purpose 或扩大区域 |
如果时间有限,只测核心链路:
server_control domain=diagnostics action=status
game_control domain=speed action=time
colony_control domain=snapshot action=get profile=brief
read_control domain=world action=text_map x1=... y1=... x2=... y2=... format=markdown
read_control domain=world action=layout_candidates purpose=barracks limit=3
building_control domain=planning action=preview prefabId=Outhouse x=... y=... dryRun=true # 应拒绝 raw coordinates
world_editor command=read path=/active/ops/tools.md
# only current public typed files/tools; ignore hidden coordinate_control and /active/ops/coordinate.md
world_editor command=read path=/active/map/viewport.md
8 个调用即可验证连接、查询、地图可读性、规划候选、raw-coordinate 拒绝和 map-edit 路由。