galbook:让 agent 像人一样玩 galgame 的 DeepSeek Harness 插件

前言

给 agent 接视觉小说或 galgame 时,常见做法是把整段剧本塞进上下文,或只暴露「选 1/2/3」这类粗接口。剧情推进、存档回溯、多周目和选项理由很难和真实游玩节奏对齐。galbook 把「逐句读、自己选并写理由、存档读档、看画面」收成一套库,并同时提供 HTTP、JSON API、MCP 和 CLI,方便挂到 DeepSeek Harness(DSH)或其他能发请求、能调工具的 agent 上。下面介绍它是什么、能做什么,以及在 DSH 里怎么装、怎么用。

这是什么

galbook 由维护者 CHET-LI 维护,仓库为 DSH-galgame-galbook。在 SkillHub 插件目录 中归类为工作流。

核心定位:让 agent 像人一样玩 galgame / 视觉小说——一句一句读剧情,遇到选项自己选并写理由,支持存档、读档、回到上个选项、多周目解锁隐藏线。换场景时会描述背景和立绘;第一次见到某张 CG 时,图可与文字一并返回;可用 galbook_look 查看当前画面。多个 agent 可同时玩同一本书,进度互不干扰。

实现侧:运行时以 Python 标准库 为主(README 写明无额外依赖);npm 包 galbook 当前版本 1.2.6(见 package.json),许可证 MIT。演示故事与图在 galbook/demo/ 下为 CC0。

核心功能

游玩与 agent 行为

  • 文本推进:next 逐句读;choose 带选项编号与 reason 记录选择理由;自动存档等机制见 HTTP 返回说明。
  • 多元玩法(通过 URL 参数或等价接口开启):H 场景折叠/全文/跳过、铁人模式(不可存读档回溯)、全收集提示、英文界面、人设 persona、随机选项、画廊 gallery、行为画像 profile、二周目 skip 已读、画面描述与 look 等。完整字段见仓库 docs/AGENTS.md。

四种接入方式

方式 适合 怎么起
纯文本 HTTP 任何能发请求的 agent,省 token python3 -m galbook serve --books books,再 GET /play/t?agent=名字 读,?do=next / ?do=choose&i=2 推进
JSON API 需要结构化字段 同上,/play/?format=json
MCP Claude Desktop、Codex 类、DeepSeek Harness stdio:python3 -m galbook mcp;也支持 Streamable HTTP
命令行 只有 shell 的 agent python3 -m galbook do next n=20,输出最后一行即下一步命令

OpenAI function-calling 工具定义可导出:python3 -m galbook tools。

网页观战与剧本导入

  • 启动 serve 后可在网页查看每个 agent 进度、选项与理由;人也可以自己玩。
  • 导入器支持 QLIE、吉里吉里 KAG / TyranoScript、Ren’Py、NScripter、自带 .gal 等(分支与路线);另支持 VNTextPatch 等导出的文本(20 多种引擎,线性读)。封包需先用 GARbro 等工具自行解开。详见 docs/IMPORTERS.md、docs/ENGINES.md。

与 DSH 的组合包

根目录 package.json 声明了 DSH 组合包(cordis.patch.yml),安装后多出 16 个 galbook_* 工具。仓库还提供 Anthropic Skill 格式技能文件、dsh 适配示例(integrations/deepseek-harness/)、verify_claims.py 自检脚本。

版权:仓库仅含代码与自写演示故事。游戏剧本、图片、音乐归原作者/厂商;请只导入自己合法拥有的内容,勿上传或分发导出的剧本与图片。galbook 不带解包/解密工具,也不运行游戏 exe。

安装与启用

DSH 侧任选其一(以 README 原文为准):

  1. 插件面板:安装 → 来源填 github:CHET-LI/DSH-galgame-galbook,重启 Harness。
  2. 一条命令安装(自动找 profile、备份、填路径):
python dsh-plugin/install.py

细节与卸载见仓库 dsh-plugin/README.md。

连不上 GitHub 时,可用本地目录或 Release 中的离线包 galbook-1.2.6.tgz(Releases latest);npm 包装完即用。Node 要求 >= 18(package.json engines)。

安装前请自行查看仓库源码与 MIT 许可证;插件在当前 dsh 进程权限下运行,勿在未审计的情况下安装不可信来源。

典型用法

本地试玩演示书

README 中的 30 秒试玩流程(需已有仓库源码目录;正文任务禁止引导 git clone,请从 Release 源码包或已下载目录执行):

python3 -m galbook demo --books books
python3 -m galbook serve --books books

服务默认 http://127.0.0.1:8765/play/。让 agent 用 HTTP GET 推进,例如:

GET http://127.0.0.1:8765/play/t
GET http://127.0.0.1:8765/play/t/fog-harbor/alice?do=new
GET http://127.0.0.1:8765/play/t/fog-harbor/alice?do=next
GET http://127.0.0.1:8765/play/t/fog-harbor/alice?do=choose&i=2&reason=她看起来很累

玩法说明页 /play/t(英文加 ?lang=en)可直接放进 system prompt。

MCP(含 DSH)

stdio 示例:

python3 -m galbook mcp --books books --data play-data --book fog-harbor --agent alice

配置可参考 examples/mcp_config.example.json。serve 自带 POST /mcp?book=…&agent=…,可多 agent 共用一个服务;对外部署需 --token 或 --tokens tokens.json(默认仅监听 127.0.0.1)。

导入自有剧本

python3 -m galbook detect 解包目录
python3 -m galbook build --src 解包目录 --out books/我的书/story --assets-dir books/我的书

适用场景与注意

适合:要在 agent / DSH 工作流里评测「会不会读剧情、会不会写选项理由」;要多 agent 并行玩同一本书做对照;要用 MCP 或 HTTP 把视觉小说接进 Harness 而不自写解析器。

注意:

  • 插件与 serve/mcp 子进程共享本机权限;公开服务务必配置令牌。
  • 线性引擎依赖外部文本导出,真机验证程度因引擎而异(README 已说明部分格式尚未用真游戏导出验证)。
  • 单元测试:python3 -m unittest discover -s tests -v;维护者注明在 Python 3.9 / 3.12 / 3.13(Linux)等环境跑过。

结尾

galbook 把视觉小说的「读—选—存—回溯—看 CG」收成统一协议,并用 DSH 组合包把 galbook_* 工具直接挂进 Harness。需要目录元信息可打开 SkillHub 插件页;源码与文档以 GitHub 仓库 为准。DSH 生态强调「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye