← 返回
未分类

MarkDown 驱动的LLM文字冒险引擎。严格格式→命令保证,联想构思→AI自由

LLM文字冒险引擎。严格格式→命令保证,联想构思→AI自由。
LLM文字冒险引擎。严格格式→命令保证,联想构思→AI自由。
user_b591212e
未分类 community v1.0.2 2 版本 99152.5 Key: 无需
★ 1
Stars
📥 97
下载
💾 0
安装
2
版本
#latest

概述

严格铁律

  1. 游戏开始必须执行 # 游戏开局 玩家必须回复(不可忽略,可反复询问)
  2. 每回合回复必须执行 # 游戏回合,必须先 read --hot — 读state.md后才叙事,绝不凭记忆猜测
  3. 必须用引擎命令操作文件 — init/setup/turn/write/compress,绝不手动编造数据,绝不跳过命令直接口头说"状态变了"
  4. 判定必须遵守规则 — 查属性→定难度→查判定表→结果融入叙事,绝不跳过判定直接给结果
  5. 状态变更必须用turn命令 — 精力/耐力/位置/NPC好感等绝不口头说变,必须执行turn命令写入state.md才生效。口头叙述≠状态生效,turn命令是唯一的状态修改途径
  6. 不替玩家决定 — 第二人称叙述,给选项不替选,不替玩家说话行动
  7. 叙事之后必须执行turn — 先叙事给玩家看,然后立即执行turn命令写入状态和日志,绝不能只叙事不写文件
  8. setup时必须传--npcs — 至少1个NPC,每个NPC单独1行
  9. 每10回合必须生成里程碑 — 回合数为10的倍数时,必须执行compress命令压缩日志,用--story总结至今剧情走向、关键事件、人物关系变化
  10. 必须维护主线和支线任务 — 开局生成主线1条+支线1-2条;目标为空时立即补充;每5回合检查任务进度;玩家迷茫时主动抛出线索;通过turn --goals写入state.md

文件架构

scripts/
├── engine.py 引擎脚本
{game_dir}/
├── game.md   世界+规则+NPC+角色(区块标记,按需读取)
├── state.md  快照(唯一真相源,每回合必读必写)
└── log.md    日志(倒序,>10条压缩)

游戏开局(按顺序执行)

  1. 必须询问玩家想要什么世界和角色
  2. 必须生成骨架
  3. python3 scripts/engine.py init {游戏名}
    
  4. 必须一键填充
  5. python3 scripts/engine.py setup {游戏名} \
      --world '时代:宋朝\n地理:...' \
      --hero '姓名:赵二狗|种族:人|职业:商人|背景:...' \
      --attrs '力3敏5体4智6魅7' \
      --start '兰陵城西市' \
      --atmosphere '喧闹市井' \
      --npcs '王掌柜|西市|正常|15|商会执事
    张屠户|西市|正常|5|肉铺老板
    刘寡妇|城南||10|茶馆东家
    孙道人|城外|神秘|0|道士'
    
  6. 必须生成初始任务线(主线1条+支线1-2条,融入开场叙事)
  7. 输出开场叙事(100-1000字)
  8. 必须执行首次turn(不可跳过!)
  9. python3 scripts/engine.py turn {游戏名} --action '开场:来到起始地' --recent '开场叙事'
    

setup参数(内容支持@file从文件读取):

  • --world 世界设定 | --hero 角色(属性/物品自动补全) | --attrs 属性如力3敏5体4智6魅7(合计25,耐力=体质×2)
  • --start 起始位置 | --atmosphere 起始氛围 | --npcs NPC列表(必须,至少1个)
  • --npcs格式: 每行1个NPC,字段用|分隔,缺省可省略: 名字|位置|状态|好感|职业

游戏回合(严格遵守,按顺序执行)

每回合必须按以下4步顺序执行,不可跳过任何一步:

第1步: 读取状态(必须)

python3 scripts/engine.py read {游戏名} --hot

第2步: 叙事+判定(必须在read之后)

  • 根据state.md当前状态叙事
  • 需要判定时查属性→定难度→查判定表→结果融入叙事
  • 任务检查:若state.md目标为空或只剩模糊目标→根据角色背景/当前处境/NPC关系生成主线+支线,通过turn --goals写入

第3步: 执行turn写入状态(必须在叙事之后,不可跳过!)

python3 scripts/engine.py turn {游戏名} --action '行动摘要' [增量参数]

turn参数(只传变化的,不传的保持原值):

  • --action 行动摘要(必填) | --location 新位置 | --atmosphere 新氛围 | --weather 新天气
  • --time-advance 时间推进分钟数(短15/长30/移动15-30/事件30-60,默认15)
  • --items 物品 | --npc-relations 关键NPC | --conflicts 冲突 | --goals 目标 | --recent 近3事
  • --tense 紧张回合(精力-2) | --phase 新阶段
  • 自动计算:回合+1|精力-1|时间推进|天气变天|10倍数提示compress

第4步: 输出回复格式(必须在turn之后)

1.🎬叙事(100-800字) 判定融入叙事

2.📜任务 主线进度+支线状态(目标为空时必须补充)

3.🎭动态 NPC行动/对话

4.💡建议 2-3个方向(关联当前任务线)

5.⚙️状态变更 属性:旧→新(原因) | 含回合+精力

6.📍场景 位置+天气+即时情境

常用读取

python scripts/engine.py read {游戏名} --hot          # 热路径(每回合):state+scene+log前3条
python scripts/engine.py read {游戏名} --npc 老陈      # 读指定NPC
python scripts/engine.py read {游戏名} --section 世界设定 # 读任意区块
python scripts/engine.py read {游戏名} --file game.md   # 读整文件
python scripts/engine.py read {游戏名} --log-n 5        # 读最近5条日志

常用更新

python scripts/engine.py write {游戏名} -c 世界状态 --section-content "NPC:..."
python scripts/engine.py write {游戏名} -n 老陈 --npc-content "年龄:..."
# 规则/角色区块不可覆盖(用setup填充角色,规则永远不动)
# state/scene/日志不要用write,用turn命令

压缩

python scripts/engine.py compress {游戏名} --story '故事概要:从西市小贩起步,受王屠户指引去刘员外家当账房,目前正熟悉工作...'   # 里程碑压缩(10倍数回合)

区块标记(game.md内)

<!--§区块名§-->内容<!--§/区块名§-->
NPC用: <!--§npc:名字§-->内容<!--§/npc:名字§-->

引擎协议

  • 回合: 有效行动→turn+1|闲聊/查询不消耗
  • 矫正: 状态矛盾→state.md硬修正标[矫正]|漂移→文档>叙述
  • 更新: turn命令自动处理(state/日志/scene);game.md区块更新用write -c/-n

状态查询

精简数据视图(来源state.md)+检查清单

版本历史

共 2 个版本

  • v1.0.2 严格化主线 支线任务不要出现 游走的情况 当前
    2026-04-18 17:45 安全 安全
  • v1.0.0 Initial release
    2026-04-18 16:47 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,362 📥 318,770
ai-intelligence

ontology

oswalpalash
类型化知识图谱,用于结构化智能体记忆与可组合技能。支持创建/查询实体(人员、项目、任务、事件、文档)及关联...
★ 714 📥 244,006
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 671 📥 324,345