专为职业战队教练和分析师设计的比赛数据分析与管理工具。
- 数据采集: 支持通过 OpenDota API 批量抓取比赛数据,或手动录入训练赛 BP。
- 战术分析:
- 队伍概览: 胜率、阵营偏好、常用英雄统计。
- 英雄池分析: 自动识别 1-5 号位选手的绝活英雄及胜率。
- BP 链路可视化: 直观展示近期比赛的 BP 思路与博弈顺序。
- 系统管理:
- 选手定位: 智能纠正选手位置(解决 API 无法区分 4/5 号位的问题)。
- 版本管理: 支持按游戏版本(7.36, 7.37 等)筛选数据。
- 语言: Python 3.10+
- 框架: Streamlit (前端/交互)
- 数据库: SQLite (轻量级本地存储) / SQLAlchemy (ORM)
- API: OpenDota API
确保已安装 Python 3.10+ 和 Git。
# 克隆项目
git clone https://github.com/dota2-bkb/Oracle.git
cd Oracle
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows:
.\venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 初始化配置
mkdir .streamlit
# Windows
copy secrets.toml.example .streamlit\secrets.toml
# Mac/Linux
cp secrets.toml.example .streamlit/secrets.tomlstreamlit run main.py浏览器将自动打开 http://localhost:8501。
E:\Code\
├── main.py # 程序入口
├── services/ # 核心业务逻辑 (API, 数据处理)
├── views/ # UI 页面组件
├── models.py # 数据库模型定义
├── utils/ # 通用工具 (日志等)
├── logs/ # 运行日志
└── data/ # 静态资源数据
- 日志: 系统日志保存在
logs/oracle.log,开发时请使用utils.logger进行记录。 - 数据库: 修改
models.py后需要重新初始化数据库或进行迁移(目前使用简单的init_db)。
MIT License