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 / 幻方無官方從屬關係。

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

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

小夜