前言¶
给 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 原文为准):
- 插件面板:安装 → 来源填
github:CHET-LI/DSH-galgame-galbook,重启 Harness。 - 一条命令安装(自动找 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 / 幻方无官方从属关系。