本目录提供:
- SQLite 建库脚本(完整库 / Lite 库统一入口)
- 按模块拆分数据库脚本
- 本地查询服务和前端页面
数据库文件默认放在仓库内 hsrdb/database/。
请先下载资源仓库(任选其一):
- https://github.com/DimbreathBot/TurnBasedGameData
- https://gitlab.com/Dimbreath/turnbasedgamedata
并确保目录结构中包含 ExcelOutput/、Story/、Config/、TextMap/。
服务端动态语言加载使用 hsrdb/TextMap/。
使用 build_db.py,通过 --profile 切换模式。
python hsrdb/build_db.py --profile full --force常用参数:
--db-path hsrdb/database/hsr_resources.db--langs CHS,EN--skip-level-config(只扫描Story/,更快)
python hsrdb/build_db.py --profile lite --force默认输出:hsrdb/database/hsr_resources_lite.db
默认来源:hsrdb/database/hsr_resources.db
Lite 默认策略:
- 只保留任务相关
story_reference - 只保留被引用到的
talk_sentence text_map仅保留查询与展示需要的哈希- 默认语言:
CHS,EN,JP,KR
Lite 常用参数:
--source-db hsrdb/database/hsr_resources.db--db-path hsrdb/database/hsr_resources_lite.db--langs CHS,EN--keep-all-story-refs--keep-all-talk--exclude-monster-text--no-vacuum
python hsrdb/build_module_dbs.py --force默认会压缩大模块体积:dialogue 和 mission 不内置 text_map(运行时按需加载)。
如需所有模块都内置 text_map:
python hsrdb/build_module_dbs.py --text-map-modules avatar,dialogue,mission,item,monster --force可选:手动指定源库(full 或 lite):
python hsrdb/build_module_dbs.py --source-db hsrdb/database/hsr_resources.db --forcepython hsrdb/build_module_dbs.py --source-db hsrdb/database/hsr_resources_lite.db --force默认输出:
hsrdb/database/hsr_resources_avatar.dbhsrdb/database/hsr_resources_dialogue.dbhsrdb/database/hsr_resources_mission.dbhsrdb/database/hsr_resources_item.dbhsrdb/database/hsr_resources_monster.db
使用完整库:
python hsrdb/serve.py --db-path hsrdb/database/hsr_resources.db使用 Lite 库:
python hsrdb/serve.py --db-path hsrdb/database/hsr_resources_lite.db使用分模块库:
python hsrdb/serve.py `
--db-path hsrdb/database/hsr_resources.db `
--db-avatar hsrdb/database/hsr_resources_avatar.db `
--db-dialogue hsrdb/database/hsr_resources_dialogue.db `
--db-mission hsrdb/database/hsr_resources_mission.db `
--db-item hsrdb/database/hsr_resources_item.db `
--db-monster hsrdb/database/hsr_resources_monster.db访问:
http://127.0.0.1:8787
GET /api/statsGET /api/search/dialogue?q=...&lang=CHS&page=1&page_size=20GET /api/dialogue/<TalkSentenceID>/refs?page=1&page_size=20GET /api/search/mission?q=...&lang=CHS&page=1&page_size=20GET /api/mission/<MainMissionID>?lang=CHSGET /api/search/avatar?q=...&lang=CHS&page=1&page_size=20GET /api/avatar/<AvatarID>?lang=CHSGET /api/search/item?q=...&lang=CHS&page=1&page_size=20&rarity=&item_main_type=&item_sub_type=GET /api/item/<ItemID>?lang=CHSGET /api/item/facetsGET /api/search/monster?q=...&lang=CHS&page=1&page_size=20GET /api/monster/<MonsterID>?lang=CHSGET /api/monster/facetsGET /api/term/explain?term=...&lang=CHS&limit=5GET /api/search/text?q=...&lang=CHS&page=1&page_size=20