English | 中文
ZZZ模拟器是一款《绝区零》的伤害计算器。
本工具支持全自动模拟,无需手动设置技能释放序列(如需序列模式可以提issue)
您只需配置代理人装备,选择合适的APL(行动优先级列表),点击运行即可。
该工具提供友好的用户界面,可计算队伍整体伤害输出。基于预设的APL自动模拟队伍行动,触发buff,记录并分析结果,最终生成可视化图表报告。
- 基于队伍配置计算总伤害
- 生成可视化图表
- 提供各角色详细伤害数据
- 编辑代理人装备
- 编写APL代码
从发布页面下载最新打包源码或使用 git clone
在任意终端中执行:
# 使用pip安装:
pip install uv# macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh# Windows11 24H2及以上:
winget install --id=astral-sh.uv -e# 旧版Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"或参考官方安装指南:https://docs.astral.sh/uv/getting-started/installation/
在项目目录中执行:
uv sync
uv run zsim run- 模拟引擎 -
zsim/simulator/中的核心逻辑处理战斗模拟 - Web API -
zsim/api_src/中基于FastAPI的REST API,提供程序化访问 - Web UI -
zsim/webui.py中基于Streamlit的界面以及electron-app/中的Vue.js + Electron桌面应用 - CLI - 通过
zsim/run.py的命令行接口 - 数据库 - 基于SQLite的角色/敌人配置存储
- Electron应用 - 使用Vue.js和Electron构建的桌面应用,与FastAPI后端通信
项目使用基于 Make 的综合构建系统来管理开发、构建和发布流程。
# 构建组件
make build # 完整构建(清理 + 后端 + Electron)
make backend # 仅构建后端API
make electron-build # 仅构建Electron桌面应用
# 开发
make dev # 启动前端开发服务器
make clean # 清理所有构建文件
make check # 检查依赖
# 工具
make help # 显示帮助信息# 首先安装UV包管理器
uv sync
# WebUI开发
uv run zsim run
# FastAPI后端
uv run zsim api
# Electron应用开发,还需安装Node.js依赖
cd electron-app
pnpm install# 一键启动开发服务器,包含前端和后端
cd electron-app
pnpm dev# Streamlit WebUI
uv run zsim run
# FastAPI后端
uv run zsim api
# Electron桌面应用(生产构建)
cd electron-app
pnpm build注意:pnpm dev 命令提供了最便捷的开发体验:
- 自动启动Vue.js前端和FastAPI后端
- 将所有后端控制台输出转发到开发终端
- 提供前端热重载功能
- 启用完整的调试能力
- 单元测试位于
tests/目录 - API测试位于
tests/api/ - 测试固件在
tests/conftest.py中定义 - 使用pytest并支持asyncio
# 运行测试
uv run pytest
# 运行测试并生成覆盖率报告
uv run pytest -v --cov=zsim --cov-report=html详见贡献指南获取最新开发计划。
ZSIM_DISABLE_ROUTES- 设置为"1"以禁用API路由(默认:启用)ZSIM_IPC_MODE- IPC通信模式:"auto"、"uds"或"http"(默认:"auto")ZSIM_UDS_PATH- 使用UDS模式时的socket文件路径(默认:"/tmp/zsim_api.sock")ZSIM_API_PORT- API服务器端口,设置为0可自动选择端口(默认:0)ZSIM_API_HOST- API服务器主机地址(默认:"127.0.0.1")
- auto:在类Unix操作系统上使用uds,在Windows上使用http
- uds:使用Unix域套接字进行本地通信(仅适用于类Unix系统)
- http:使用HTTP/TCP进行通信(默认模式)