LIghtJUNction

oni-mcp-opening-setup

当开始新的 Oxygen Not Included 殖民地,或用户要求开局设置/bootstrap 配置时使用。涵盖思考前暂停、错峰日程、按属性重命名复制人并由用户确认命名风格、禁用自动消毒、侦察起始星体,以及规划早期双侧扩张和打印舱实验室。

LIghtJUNction 21 11 Actualitzat fa 3 mesos
GitHub

Instal·la

npx skillscat add lightjunction/onimods/oni-mcp-opening-setup

Instal·la des del registre de SkillsCat.

SKILL.md

ONI MCP 开局设置

触发

新游戏或早期周期设置使用本技能:

  • 开局配置
  • 开局 bootstrap
  • 日程设置
  • 按属性重命名复制人
  • 初始星体概览
  • 打印舱附近第一轮挖掘/地基/实验室计划

硬规则

分析或规划前先暂停游戏:

game_control domain=speed action=pause

读取状态、规划、提问和下达设置命令时保持暂停。只有计划完成且满足以下任一条件后才恢复:

  • 用户明确要求继续
  • 当前任务明确包含“设置后恢复”

如果用户要求思考、检查、规划或配置,先暂停。

必问用户问题

重命名复制人前,询问用户命名风格。独立的“批量重命名复制人”请求走重命名快路径,不执行完整开局快照、日程、消毒或环境侦察。

只简短询问一次。示例:

  • 职业前缀: Dig-Ada, Build-Meep
  • 中文岗位: 挖掘-艾达, 建造-米普
  • 短标签: Digger, Builder, Cook
  • 用户自定义风格

用户回答前,不要执行 dupes_control domain=command action=auto_rename apply=true。允许预览:

dupes_control domain=command action=auto_rename style=<candidate> apply=false

工具调用纪律

  • 同一个只读工具不要用同一参数连续调用两次。第二次前必须说明缺失了什么,并改用更合适的工具或停止询问用户。
  • 不要用 dupes_control domain=info action=status_check 代替名单、属性或重命名工具;它只用于健康/可达性分诊。
  • 如果当前工具列表里没有看到目标工具,先用 server_control domain=catalog action=search query=<tool or action> 或 server_control domain=catalog action=manifest group=<group> 发现 schema,再调用;不要猜旧工具名。
  • 简单配置任务只读取完成该任务必需的信息。不要为了重命名读取地图、截图、食物、电力或环境。

开局流程

1. 暂停并快照

game_control domain=speed action=pause
colony_control domain=snapshot action=get profile=standard includeAtmosphere=false
colony_control domain=read action=worlds
navigation_control action=get_view

除非缺少细节,否则使用 colony_control domain=snapshot action=get,不要拆成单独的 status/dupe/food/research 调用。

2. 配置错峰日程

读取当前日程:

colony_control domain=management kind=schedule action=list

预览错峰班次:

colony_control domain=management kind=schedule action=optimize apply=false

只有当任务明确是设置/配置,或用户确认后才应用:

colony_control domain=management kind=schedule action=optimize apply=true prefix="AI轮班"
colony_control domain=management kind=schedule action=list

目标是早期开局错峰,减少厕所、床位和娱乐拥堵。除非用户要求具体数量,否则保持默认自动班次数。

3. 按属性重命名复制人

独立批量重命名请求使用快路径:

game_control domain=speed action=pause
# 如果用户还没选风格,先问一次并停止等待回答。
dupes_control domain=command action=auto_rename style=<user style> apply=false
# 用户确认预览后:
dupes_control domain=command action=auto_rename style=<user style> apply=true
colony_control domain=read action=dupes

默认不先调用 colony_control domain=read action=dupes、dupes_control domain=info action=attributes 或 dupes_control domain=skill action=list,因为 dupes_control domain=command action=auto_rename apply=false 会给出预览。只有这些情况才补读上下文:

  • 用户要求解释每个岗位判断。
  • 预览结果明显不合理或缺少复制人。
  • 用户要求手动指定某些复制人的名字。

需要解释岗位或手动命名时,读取足够的复制人上下文:

colony_control domain=read action=dupes
dupes_control domain=info action=attributes
dupes_control domain=skill action=list

根据属性/兴趣推断岗位:

  • 挖掘/建造:excavation、construction、strength
  • 研究/操作:science、machinery
  • 农业/畜牧/烹饪:agriculture、ranching、cuisine
  • 供应/整理:athletics、strength、低专精

应用前先询问命名风格。然后使用:

dupes_control domain=command action=auto_rename style=<user style> apply=false
dupes_control domain=command action=auto_rename style=<user style> apply=true

或显式重命名:

# 先用 server_control domain=catalog action=search 确认可用工具名;当前常见名称是 dupes_control domain=command action=rename 或 rename_dupe。
dupes_control domain=command action=rename id=<dupeId> newName=<name>

用 colony_control domain=read action=dupes 验证。

4. 禁用自动消毒

开局不要下达大范围消毒命令。

使用全局策略工具,不要逐对象按用户菜单:

colony_control domain=diagnostic action=set_auto_disinfect disabled=true applyNow=true confirm=true

开局设置时绝不要遍历 AutoDisinfectable 对象并调用 building_control domain=side_surface surface=user_menu action=batch。目标是全局关闭自动消毒,让当前和新发现对象都保持关闭。

5. 侦察起始区域和星体概览

获取当前相机/打印舱区域地图上下文:

read_control domain=world action=area_snapshot preset=utilities encoding=plain includeScreenshot=false

如果区域太小或打印舱不可见,围绕观察到的起始坐标扩大到 40x30 到 60x40 格,并保持低于 maxCells。

为用户总结:

  • active world / 星体类型
  • 起始生态区信号
  • 附近固体/液体/气体
  • 直接危险
  • 食物/植物/资源线索
  • 可用扩张方向
  • 早期氧气、水或温度是否紧急

坐标结论使用文本地图,不用截图。

6. 第一轮建造/扩张计划

默认开局建议:

  • 从打印舱向左和向右扩张。
  • 两侧排入小型保守挖掘矩形,避开液体和危险空腔。
  • 精确地基、平台、砖块和梯子先读 /active/map/viewport.md(需要时 zoom 或读 symbols/glyphs.md),再把目标空格 token 改为 建筑名:优先级,可选加 #材料字。
  • 保留打印舱附近区域作为早期实验室。
  • 研究/电力设置必须先有地板/支撑,再放人力发电机、电池、研究站和连接电线。

第一波保持小规模。普通 Cycle 1 开局工作优先使用一次紧凑快照,然后用 building_control / orders_control 的语义动作执行。不要为了挖一小块材料或放短平台创建正式计划。

放置:

building_control domain=planning action=placement_candidates prefabId=<PrefabId> areaId=<area> limit=8
world_editor command=read path=/active/map/viewport.md
# edit the map markdown: prefer one SEARCH/REPLACE block replacing empty tokens with 建筑名:优先级[#材料字]
# preview: outer dryRun=true, confirm=false/omitted
# execute: a new edit with outer dryRun=false, confirm=true; then re-read the map

普通聚合工具拒绝 raw coordinates,不要直接传 points/anchors/x/y。/active/ops/build.md 只用于无 raw coordinates 的语义 plan/auto_connect;精确路线使用可编辑地图 token。多 block 仅在外层 allowPartial=true 时允许且不可事务回滚。

挖掘:

orders_control domain=area action=dig confirm=true ...

绝不要用 orders_control domain=designation action=attack 挖掘。

7. 快速路径与正式计划

简单低风险开局动作默认走快速路径:

server_control domain=batch action=call_many dryRun=true responseMode=summary requireAllValid=true stopOnError=true items=[...]
server_control domain=batch action=call_many dryRun=false responseMode=summary requireAllValid=true stopOnError=true items=[...]

适用于日程设置、全局自动消毒、小型安全挖掘矩形、短支撑/地板线,以及 dry-run 通过的第一间实验室/电力蓝图。

只有当开局计划范围大、多阶段、有风险、来自用户计划,或需要以后恢复时才用 plan_harness:

plan_harness_create objective="Opening setup and Cycle 1 expansion" riskTolerance=low requireVerification=true
plan_harness_record stage=plan summary="Opening setup plan" payload={...}
plan_harness_validate id=<planId>

如果执行了动作,用 colony_control domain=snapshot action=get profile=brief 和 read_control domain=world action=area_snapshot preset=construction encoding=plain 等可读地图验证。只有存在 harness 时才记录 harness 验证。

执行策略

当用户要求开局设置/配置时,本技能允许执行设置动作:

  • game_control domain=speed action=pause
  • colony_control domain=management kind=schedule action=optimize apply=true
  • 用户回答命名风格后才允许 dupes_control domain=command action=auto_rename apply=true
  • colony_control domain=diagnostic action=set_auto_disinfect disabled=true applyNow=true confirm=true
  • orders_control domain=area action=dig
  • building_control domain=planning action=placement_candidates 以及 /active/map/viewport.md token edit

建造放置前仍要检查 prefab、材料和支撑。

规划/配置完成且用户允许继续前,不要恢复游戏。

最终回复格式

保持简洁:

  • 暂停状态
  • 日程设置结果
  • 重命名状态或待确认的命名风格问题
  • 自动消毒结果
  • 星体概览
  • 扩张/实验室计划摘要
  • 游戏是否保持暂停,或是否按明确请求恢复