mcpField
C
create-all-cg-save

create-all-cg-save

本地服务
github.com/xixi048游戏娱乐02 天前更新

关于 create-all-cg-save

面向修改自有离线单人游戏存档的 Agent 技能与 Python 工具包,可定位存档并推断 CG 解锁标记。支持已知引擎解析和未知二进制差分,并提供备份、验证与回滚。

主要功能

  1. 01扫描并识别游戏存档
  2. 02解析已知引擎的解锁标记
  3. 03通过存档差分推断标记布局
  4. 04生成可读解锁计划
  5. 05备份、验证与回滚修改

适用场景

  1. 01解锁离线单人游戏的 CG 图库
  2. 02检查 RPG Maker 存档中的开关
  3. 03为未知格式存档推断标记位置

MCP 相关

通过 stdio 暴露存档扫描、引擎检查、计划生成、差分推断及应用等工具;应用操作支持试运行、验证和回滚。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbcreate-all-cg-save-1.3.0.mcpb1.3.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

create-all-cg-save

License: MIT Python

创建全 CG 存档 — 解锁你自己的离线单人游戏存档中的所有 CG、画廊和回忆室。

一个 Agent 技能(加上一个小巧、零依赖的 Python 工具包),能将“我想解锁所有 CG” 转化为精确、可逆的字节补丁,而不是下载陌生人的存档文件。

中文说明见 README.zh-CN.md。

功能

  • 扫描这台机器上常见的存档位置,并查找游戏的候选存档文件
  • 识别游戏引擎(RPG Maker、Ren'Py、Kirikiri、Unity、Siglus、BGI 等)
  • 对于可解析的格式(例如 RPG Maker 的 Ruby Marshal),计算每个解锁标志的精确字节偏移
  • 对于不透明的私有二进制格式,通过比较“解锁前”和“解锁后”的存档还原解锁标志,拟合 start + stride 数组,并推算整个画廊
  • 生成易读的解锁计划,支持试运行、验证、自动备份和一键回滚

它绝不会下载游戏,不会触碰 CG 图片或游戏资源,也不会用别人的存档替换你的存档——它只会对你已有的存档进行最小化的精确修改。

两种方式

方式适用情况机制
引擎快速路径存档格式已知且可解析语义解析——直接定位到 switch[N] / variable[N]
通用差异路径私有二进制、结构未知字节差异 → 拟合 start + stride 数组 → 推算

决策树位于 skills/create-all-cg-save/SKILL.md。

快速开始

# 1. Find the save file
python skills/create-all-cg-save/scripts/save_scout.py --game <game name>

# 2. RPG Maker VX / VX Ace / XP: inspect structure and current switch state
python skills/create-all-cg-save/scripts/engines/rgss_save.py inspect "Save01.rvdata2"

# 3. Build an unlock plan (flip the given switches ON)
python skills/create-all-cg-save/scripts/engines/rgss_save.py plan-switches \
    "Save01.rvdata2" --ids 1,3,5-40 --out plan.json

# 4. Dry-run → apply → verify (apply backs up automatically)
python skills/create-all-cg-save/scripts/apply_plan.py plan.json --dry-run
python skills/create-all-cg-save/scripts/apply_plan.py plan.json
python skills/create-all-cg-save/scripts/apply_plan.py plan.json verify

# Roll back if anything looks wrong
python skills/create-all-cg-save/scripts/apply_plan.py plan.json rollback

不知道是什么引擎?请使用差异路径:

python skills/create-all-cg-save/scripts/save_diff.py A.save B.save --json ab.diff.json
python skills/create-all-cg-save/scripts/infer_plan.py ab.diff.json \
    --target A.save --stride 4 --count 128 --out unlock-plan.json

--stride / --start 很重要。只有一两个已观察到的标志位置时,拟合出的步长可能有歧义(步长为 4 的数组中,若解锁了槽位 0 和 5,GCD 会报告 20)。脚本会发出醒目警告;条件允许时,请明确指定布局。

已验证目标

RPG Maker VX Ace(RGSS3) — 例如 Save0X.rvdata2:

  • 存档是 Ruby Marshal,包含两个串联的 Marshal 数据流(数据流 1 是用于读取菜单的 make_save_header,数据流 2 是包含 11 个键的 make_save_contents 哈希)
  • :switches → @data 是一个布尔数组;'T' / 'F' / '0'(nil)各占一个字节,因此 补丁是等长替换——文件大小不会有一字节的变化
  • 结果:59 个开关槽位被切换为 ON,大小为 617,987 → 617,987 字节,重新解析后确认为 true, 且 rollback 逐字节恢复了文件

仓库结构

create-all-cg-save/                  # repository
├── .claude-plugin/
│   └── marketplace.json            plugin-marketplace manifest (`/plugin marketplace add`)
└── skills/
    └── create-all-cg-save/         the skill itself (auto-indexed by skills.sh & friends)
        ├── SKILL.md                skill entry point (the workflow an agent reads)
        ├── scripts/
        │   ├── save_scout.py       locate candidate saves + engine fingerprinting
        │   ├── save_diff.py        byte-level diff of two saves
        │   ├── infer_plan.py       infer the flag array → unlock plan
        │   ├── apply_plan.py       apply / verify / roll back
        │   ├── common.py           backup, atomic write, hashing
        │   └── engines/
        │       ├── ruby_marshal.py dependency-free Ruby Marshal parser + encoders
        │       └── rgss_save.py    RPG Maker RGSS save adapter
        └── references/
            ├── engines.md          per-engine save locations and formats
            ├── diff-method.md      the full diff-method manual
            ├── unlock-plan-schema.md  diff / plan JSON schemas
            └── safety.md           backup, integrity, and compliance red lines

安装为技能

直接从公开仓库安装(无需克隆):

npx skills add xixi048/create-all-cg-save           # skills.sh / `npx skills` CLI
/plugin marketplace add xixi048/create-all-cg-save  # Claude Code plugin marketplace

或者将文件夹复制到你的 Agent 技能目录:

将整个 skills/create-all-cg-save/ 目录放入你的 Agent 技能目录:

  • 用户级:~/.workbuddy/skills/create-all-cg-save/
  • 项目级:<repo>/.workbuddy/skills/create-all-cg-save/

目录名称必须与 SKILL.md frontmatter 中的 name 字段一致(create-all-cg-save)。 frontmatter 遵循标准的 Agent 技能结构:name、description(说明功能和适用场景,包含 中文和英文触发关键词)、license 和 metadata。

为什么多出一层 skills/?爬取 GitHub 的目录网站(skills.sh、SkillsMP、 npx skills 和 Claude Code 的插件市场)只会查找 skills/<name>/SKILL.md。 位于仓库根目录的技能文件夹永远不会被发现,无论它有多好。

注意:SKILL.md 中的所有相对路径都相对于技能目录,而不是你的 工作目录。请先 cd 进入该目录,或者在命令前加上技能目录的绝对路径。

用作 MCP 服务

整个工具包也通过 MCP(stdio,无依赖)提供,因此任何支持 MCP 的 Agent 都可以使用它,而无需了解仓库布局:

{
  "mcpServers": {
    "create-all-cg-save": {
      "command": "python",
      "args": ["C:/path/to/create-all-cg-save/mcp/server.py"]
    }
  }
}

工具:save_scout · engine_inspect · plan_unlock_switches · diff_saves · infer_unlock_plan · apply_plan (apply_plan 接受 action: dry_run | apply | verify | rollback;apply 始终会先备份。)

可供机器发现的索引:

https://xixi048.github.io/create-all-cg-save/.well-known/agent-skills/index.json

要求

Python 3.8+,零第三方依赖(仅使用标准库)。

在使用旧代码页的 Windows 控制台中,可能需要运行 chcp 65001(或设置 PYTHONIOENCODING=utf-8),才能正确显示中文进度信息。

安全模型

  • 每次写入前都会先备份为 <save>.allcg-bak-<timestamp>——绝不直接覆盖原文件
  • 修补前会验证 sha256_before;如果计划是针对其他存档生成的,则会拒绝执行
  • 除非传入 --allow-resize,否则会拒绝会改变文件长度的修补
  • 应用前务必先进行 dry-run,之后务必加载游戏进行确认

完整列表请参阅 references/safety.md。

已知限制

  • RPG Maker XP / VX / VX Ace 支持完整自动化;当 MV / MZ 的存档为纯 JSON 时也很容易处理
  • Ren'Py、Kirikiri、Unity、Siglus、BGI 等通常需要使用差异比较方法;有些存档采用端到端压缩或加密,无法直接进行差异比较
  • 仅限云端的存档必须先同步到本地
  • 解锁所有开关也可能触发剧情分支或游戏结束条件——请从已在游戏中验证过的 ID 开始

免责声明

此工具仅用于个人研究和修改您合法拥有的离线单人游戏。 请勿将其用于在线/多人游戏、排行榜,或任何可能影响他人的场景。您需自行承担存档发生的一切后果——不过每次写入都会先备份。

许可证

MIT——请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。