Files
Gacy-Srtool/docs/README_ZH.md
T
CAtlas0784 7508970716
Deploy GaC-Srtool to GitHub Pages / deploy (push) Canceled after 0s
docs: add license & attribution notice (Apache-2.0 / GPL-3.0)
2026-11-01 20:12:11 +07:00

181 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# GaCy-Srtool 🌌
<div align="center">
**专为 GaCy GO 及 FreeSR 生态打造的现代化高性能 Web 仪表盘与管理工具**
[English](README_EN.md) | [ภาษาไทย](../README.md) | [简体中文](README_ZH.md)
</div>
---
网页端在线访问:[Vercel 部署版 GaCy Srtool](https://gacy-srtool.vercel.app/)。打开设置页面即可连接正在运行的本地或远程服务端 SDK。
在 GaCy 模式下的 **角色设置 / 特殊系统开关** 页面,可选择开启 Freecam(自由视角)或 FaceCam(面部跟随视角),并预设 FaceCam 的初始视距。保存后在游戏内按下 `Tab` 键即可开启或关闭镜头;鼠标滚轮可临时调节视距,重新开启时将恢复设定值。
## Unstuck / 紧急解卡(解除转圈卡死)
连接 GaCy GO 服务端后,可直接在 GM 命令控制台点击 **Unstuck** 按钮或输入 `/unstuck` 指令。网页端会等待客户端响应确认后提示成功。此操作需在游戏运行且连接服务端时生效。该指令通过心跳机制安全清除等待网络数据包的全屏 UI 阻断,不重置 CW 进度、不切换地图,也不会伪造通关状态;主要用于解救协议等待导致的 UI 卡死。服务端需支持 `/api/client/unstuck` 接口。
本工具为 100% 纯客户端运行的 Web 应用,可直接通过浏览器访问,无需在本地安装额外的复杂依赖环境。支持管理角色数据、配队编排、遗器/光锥属性定制、实战伤害分析,以及深度编辑管理 **GaCy GO**(及标准 FreeSR)的存档文件(`freesr-data.json`, `persistent`)。
---
## ⚡ 核心功能 (Features)
### 📊 1. 实时仪表盘与编队管理 (Live Dashboard & Lineup)
- **实时连接状态监测:** 实时检测与服务端的连通状态,并展示低延迟 Ping 监控指示条。
- **4 人队伍编排管理:** 直观展示当前队伍成员的星魂阶数、专属武器、等级及在大世界场景中的坐标位置。
- **动态 Git 分支显示:** 在页面顶栏与浏览器标头中准确展示当前运行的服务端/前端分支名称(如 `main`, `test-gay`)。
- **资产概览统计:** 统计并展示仓库内的角色总数、光锥储备及遗器收藏规模。
### ⚔️ 2. 实战伤害分析系统 (Real-time Damage Analyst)
- **实时拉取战斗报告:** 从服务端直接获取最新一轮战斗统计日志 (`/api/battle_report`)。
- **核心伤害维度统揽:** 全队总伤害 (Total DMG)、每秒平均伤害 (DPS)、总行动轮次与行动频次 (Action Count)。
- **伤害流派深度解析:**
- 常规伤害 (Normal DMG)
- 弱点击破伤害 (Break DMG)
- 超击破伤害 (Super Break DMG)
- 持续伤害 (DoT / Damage over Time)
- **暴击与期望分析:** 统计单角色的实际暴击率 (CRIT Rate) 与暴击伤害 (CRIT DMG) 表现。
- **可视化图表与队员贡献比:** 柱状图直观呈现各角色的伤害占比。
### 👤 3. 角色全属性检视 (Character Inspector)
- **真实面板属性计算:** 计算并展示基础属性与遗器/光锥加成后的综合面板(生命上限、攻击力、防御力、速度、双暴、效果命中、击破特攻等)。
- **行迹与技能等级调整:** 完整支持普攻、战技、终结技、天赋以及额外能力分支等级的检视与调节。
- **一键极品配置:** 提供一键满级、满命座 (E6) 及满行迹的便捷配装通道。
### 🛡️ 4. 遗器与光锥深度定制 (Relic & Light Cone Customizer)
- **遗器属性自选打造:** 自由选择遗器套装、主词条与副词条组合,并支持自定义副词条强化点数。
- **光锥叠影与等级配置:** 自由设定光锥等级与叠影等阶 (S1–S5)。
### 🌌 5. 差分宇宙 / 模拟宇宙系统扩展
- 祝福图鉴与奇物库检视,支持直接为当前存档写入特定玩法增益。
### 🎒 6. 背包材料与怪物配置 (Monster Setting & Materials)
- **背包道具批量调整:** 支持直接从服务端提取的客户端道具目录中搜索物品 ID,批量设定数量后单次提交保存。
- **数据安全隔离:** 仅修改 `freesr-data.json` 中的 `materials` 字段,不破坏或覆盖已有的角色、光锥、遗器与战斗配置。
- **怪物场景与波次自选 (Monster Setting):**
- 支持分别查看混沌回忆 (MoC)、虚构叙事 (PF)、末日幻影 (AS) 与幽影歧路 / 裁决之巅 (AA) 的关卡/怪物图鉴与数据。
- 支持在黄金之茧与赤红之茧 (Calyx) 中自定义敌人波次。
- 历战余响、凝滞虚影、侵蚀隧洞及常规高难本保持官方资源配置,避免非法波次导致逻辑紊乱。
### 💾 7. GaCy 专属持久化与存档管理 (Persistent & FreeSR Data)
- **主角开拓者定制:** 自由切换性别(星 Stelle / 穹 Caelus)与命途属性(物理、火、虚数、记忆)。
- **三月七命途切换:** 随时切换存护(冰)与巡猎(虚数)形态。
- **EX 星魂特权开关:** 管理特定角色(如景元 [1204]、丹恒·饮月 [1213]、黄泉 [1308])的专属 EX 扩展星魂能力。
- **原始 JSON 在线编辑器:** 实时查看、格式化校验、修改并导出 `freesr-data.json` 及 `persistent` 存档。
### 💻 8. GM 调试控制台 (GM Command Console)
- 网页内集成交互式 GM 指令输入框,支持直接向服务端发送管理调试命令并查看实时响应回执。
### 🌐 9. 全球 13 种语言国际化支持 (Multi-Language Support)
- 无需刷新页面即可即时切换语言:中文(简体/繁体)、英语、泰语、日语、韩语、越南语、印尼语、西班牙语、法语、德语、俄语、葡萄牙语。
---
# THERES ONLY DARK MODE IF U ASK FOR LIGHT GO AWAY FROM ME
## 💻 本地运行指南 (Local Usage)
1. **直接双击运行:** 直接使用现代浏览器打开项目根目录下的 `index.html` 即可。
2. **或通过本地静态服务器启动:**
```bash
npx serve .
```
或使用 Python 内置 HTTP 服务:
```bash
python -m http.server 3000
```
---
## 🔗 与 GaCy GO 服务端连接机制
GaCy-Srtool 通过 REST API 与 GaCy GO 服务端保持通讯:
| 接口端点 (Endpoint) | 请求方法 | 作用说明 |
| --- | --- | --- |
| `/api/status` | GET | 获取服务状态、当前队伍、角色信息及场景坐标 |
| `/api/freesr` | GET, POST | 读取或完整写入更新 `freesr-data.json` |
| `/api/inventory/materials` | GET, POST | 读取客户端物品清单并指定更新材料数量(不覆盖其他字段) |
| `/api/freesr/avatars` | GET, POST | 查询或保存角色数据与养成状态 |
| `/api/persistent` | GET, POST | 读取或持久化写入 `persistent` 扩展存档 |
| `/api/battle_report` | GET, POST | 获取实时战斗伤害报告与历史战斗结果 |
| `/api/battle_report/reset` | POST | 清空当前已记录的战斗数据统计 |
| `/api/exrank/toggle` | POST | 开启或关闭 EX-Rank 特权扩展状态 |
| `/api/avatar/rank` | POST | 变更指定角色的星魂阶数 |
| `/api/avatar/max_all` | POST | 一键将全角色设为满命 (E6) 及全技能满级 |
| `/api/command` | POST | 派发 GM 调试指令至游戏服务器 |
### 角色与行迹数据保存机制
伤害分析模块根据真实战斗回执中的 `report.avatars[].slot` 对角色卡片进行排序,不跟随大世界预设队伍顺序变动。包含欢愉伤害、真实伤害等细分维度的统计需配合服务端 SDK 及注入了 `StatisticsComponent` 的 `damage_analyst_live.lua` 探针脚本共同使用。
在角色详情页面进行保存时,会通过 `/api/freesr` 单次请求打包提交整套角色数据,包括行迹树对应的 `data.skills` 与 `data.skills_by_anchor_type`,避免行迹数据写入中途被服务端的星魂同步打断。
### 配装推荐与数据来源说明
角色详情中的 **配装指南 / 推荐方案** 展示了基于 Prydwen 统计的当期深渊实战高频配装、遗器主副词条取向,并标注了样本采集日期。该数值代表高难环境中的实用占比统计,并非绝对强度的官方定义。
`js/build-guides-data.js` 内置数据基于 MIT 协议引用自 [LvlUrArti/MocDataProcessed](https://huggingface.co/datasets/LvlUrArti/MocDataProcessed)。使用或二次分发时请保留对 LvlUrArti 的致谢。可通过执行 `npm run sync-build-guides` 自动拉取上游最新发布版本并与本地 `js/avatars-data.js` 的角色 ID 进行索引对齐。
---
## 📖 物品图鉴 (Item Book)
**Item Book** 深度扫描了固定游戏数据版本中所有带 `ItemConfig` 命名的定义数据表。在当前版本中,扫描了 26 个候选表并成功解析出 18 个包含物品定义的表:共计 5,472 行数据对应 5,414 个独立物品 ID。带有 **GaCy supported** 徽标的物品直接与 Go 服务端的 `InventoryItemConfig.json` 保持联动;其余条目仅供图鉴浏览。
点击物品图标可唤起详情弹窗,查看其专属 ID、来源数据表、类别分类、游戏内原版文本描述以及数量选择器。在图鉴弹窗内选择的数量属于本地交互,不会自动调用服务端或直接增发物品。若原版数据表定义了 `PileLimit`(堆叠上限),选择器将严格受限于该上限值。
物品的名称与描述文本覆盖了 Srtool 支持的全部 13 种本地化语言。图标资产直接引用自对齐版本的 StarRailRes 索引库。
可通过以下命令根据 Go 服务端的库存配置重新生成 `assets/item-catalog.json`:
```bash
python tools/build-item-catalog.py --inventory-config <path-to-GaC-hkrpg-go>/resources/InventoryItemConfig.json
```
---
## ⚔️ 货币战争 (CW) GM 调试指令
在已连接的 GM 控制台中,支持输入:`/cw status`, `/cw gold <总额>`, `/cw hp <总额>`。
修改值仅对当前正在进行的 CW 局内生效。指令会被放入队列并在 Preparation(备战)阶段统一消费执行;战斗期间将保持等待。金币指令会直接设定当前总额,而非循环递增。HP 设定值不得超出当局关卡上限。可在服务端日志中确认 `CW_GM applied` 确认下发状态,或通过控制台输入 `/help` 与联想提示进行查看。
---
## ⌨️ GM 智能命令助手 (Command Assistant)
控制台输入框内置了指令实时语法预览与参数即时提示功能。完整支持官方 GM 命令、`/unstuck`、`/faketime` 以及当前 SDK 支持的所有 `/cw` 子命令:
- 使用 ↑ / ↓ 键可在候选联想列表中导航。
- 按 `Tab` 键可自动补全当前高亮参数并跳转至下一参数位。
- 按 `Shift + Tab` 可回退列表选择,按 `Esc` 键可快速关闭补全提示。
- 也可直接使用鼠标点击补全项填充。
- `Tab` 仅用于补全,需按下 `Enter` 回车键或点击 `Run` 按钮发送命令。
输入角色名称或数字 ID 即可模糊检索对应角色。物品清单、大地图 Plane 与 Floor 索引以及 CW 专属数据均实时拉取自 SDK 的 `GET /api/command-completions` 接口。CW 角色星级也会根据已选定的 Role 动态收窄过滤范围。
无游戏运行时单元测试命令:`node --test tools/command-assistant.test.mjs`
---
## 📜 许可证与修改声明要求 (License & Attribution Notice)
本项目遵循 **Apache License 2.0** 与 **GNU General Public License v3 (GPL-3.0)** 许可证规范,严格执行 **原始出处署名 (Attribution)** 与 **修改内容声明 (State Changes Notice)** 要求。
任何个人或组织若引用、Fork、修改、二次开发或重新分发本项目的任何代码、脚本或工具组件,**必须严格遵守以下条款**:
1. **强制保留原作者署名与原始出处 (Attribution):**
- 必须在项目显著位置明确注明本项目名称,并附带指向本原始仓库的有效链接。
- 必须在源码及所有副本中完整保留原有的版权声明、作者名单及原始许可证声明文件。
2. **必须明确注明修改内容与变更记录 (State Changes Notice):**
- 依照 Apache-2.0 第 4(b) 条及 GPL-3.0 第 5(a) 条之规定,**凡对原有文件或代码进行过任何修改、增删、重构或补充的部分,必须在相关文件中附带显著的修改通知(Prominent Notice),明确说明修改了哪些内容及修改时间**。
- 严禁隐瞒原作者出处、抹除原作者信息或谎称修改后的衍生版本为独立原创作品。
3. **非商业用途与免责声明 (Non-Commercial Purpose):**
- 本项目仅供网络协议逆向、学术研究与个人学习交流使用,严禁用于任何商业牟利、付费打包或转售行为。