SuperAPI AI 工具集

simulation

智能体与模型

查看项目

更新于 10-16 04:42

技能介绍

用途

Simulation 是 moollm 项目中的抽象基类,用于管理模拟运行时的状态。它本身不直接使用,而是作为具体模拟类型(如冒险 adventure、城市模拟 city-sim、生态系统 ecosystem)的基础。其格言是:“模拟即世界,世界即模拟。”

具体模拟文件(如 ADVENTURE.yml)会包含 Simulation 的全部属性,并附加类型特有的属性。因此不应直接创建 SIMULATION.yml,而应使用 ADVENTURE.yml 或自行创建具体类型。

主要能力

状态记录

SIMULATION.yml 是模拟“现在”的唯一真实来源,记录回合数、暂停状态、全局参数、玩家角色与位置、队伍成员、选择目标、激活增益、世界状态与标志等。

全局参数

参数可通过聊天命令配置,分为以下几类:

时间控制

  • paused:默认 false,命令 PAUSE / RESUME
  • advancement:默认 normal,命令 SET TIME ADVANCEMENT [none|slow|normal|fast]
  • turn:默认 0,命令 TICK [n] / REWIND [n]

Git 自动化

  • auto_commit:默认 false,命令 SET AUTO COMMIT [on|off]
  • auto_push:默认 false,命令 SET AUTO PUSH [on|off]
  • git_remote:默认 origin,命令 SET GIT REMOTE [name]
  • git_branch:默认 main,命令 SET GIT BRANCH [name]

显示

  • narration_level:默认 normal,命令 SET NARRATION [minimal|normal|verbose]
  • show_mechanics:默认 false,命令 SET SHOW MECHANICS [on|off]
  • debug_mode:默认 false,命令 DEBUG [on|off]

输出(默认全部开启)

  • write_to_chat:默认 true,命令 SET CHAT OUTPUT [on|off]
  • write_to_transcript:默认 true,命令 SET TRANSCRIPT [on|off]
  • transcript_path:默认 ./README.md,命令 SET TRANSCRIPT PATH [path]
  • include_yaml_islands:默认 true,命令 SET YAML ISLANDS [on|off]
  • include_links:默认 true,命令 SET LINKS [on|off]
  • link_format:默认 markdown,命令 SET LINK FORMAT [markdown|plain|none]

转录路径相对于冒险目录,例如 ./README.md、./logs/session-log.md、./narrative/chapter-1.md。

游戏玩法

  • difficulty:默认 normal,命令 SET DIFFICULTY [easy|normal|hard]

SIMULATION.yml 结构

simulation:
  turn: 47
  paused: false
  
parameters:
  git:
    auto_commit: true
    auto_push: false
    
  gameplay:
    difficulty: normal
    permadeath: false
    
  display:
    show_mechanics: false
    
player:
  character: characters/don-hopkins/
  location: pub/
  
party:
  members: [characters/don-hopkins/, pub/cat-cave/terpie.yml]
  
selection:
  targets: []
  
active_buffs: []
world_state: {}
flags: {}

命令

  • STATUS:查看当前模拟状态
  • SHOW SETTINGS:列出所有参数
  • SET [param] [value]:配置参数
  • GET [param]:查询参数值
  • PAUSE / RESUME:时间控制
  • TICK [n]:强制推进回合
  • SAVE / LOAD:持久化

Git 时间机器

当 auto_commit 为 true 时,每个回合都会产生一次 Git 提交,例如:

Turn 47: Entered pub
Turn 48: Ordered Monkey's Blessing
Turn 49: Pet Terpie (+Serenity buff)

时间旅行命令:

  • REWIND [n]:回退 n 个回合
  • BRANCH [name]:创建替代时间线
  • TIMELINES:列出所有分支
  • MERGE TIMELINE [branch]:合并叙事

使用方式

通过聊天命令与模拟交互,使用 SET 配置参数,使用 TICK 推进回合,使用 SAVE / LOAD 持久化,使用 Git 时间机器命令进行回溯与分支。具体模拟类型继承该基类后,会在此基础上扩展类型特有的属性与行为。

适用场景

适用于需要运行时状态管理的各类模拟,包括叙事探索(冒险)、城市模拟、生态系统模拟等。也适用于需要确定性回退与多时间线管理的场景。

限制

这是抽象基类,不应直接创建 SIMULATION.yml。具体模拟需使用 ADVENTURE.yml 或自行创建具体类型。其他具体功能、收费、价格、平台、效果等资料暂未提供。