Skip to content

dota2-bkb/Oracle

Repository files navigation

Oracle: DOTA2 战队数据分析平台

专为职业战队教练和分析师设计的比赛数据分析与管理工具。

🌟 核心功能

  • 数据采集: 支持通过 OpenDota API 批量抓取比赛数据,或手动录入训练赛 BP。
  • 战术分析:
    • 队伍概览: 胜率、阵营偏好、常用英雄统计。
    • 英雄池分析: 自动识别 1-5 号位选手的绝活英雄及胜率。
    • BP 链路可视化: 直观展示近期比赛的 BP 思路与博弈顺序。
  • 系统管理:
    • 选手定位: 智能纠正选手位置(解决 API 无法区分 4/5 号位的问题)。
    • 版本管理: 支持按游戏版本(7.36, 7.37 等)筛选数据。

🛠️ 技术栈

  • 语言: Python 3.10+
  • 框架: Streamlit (前端/交互)
  • 数据库: SQLite (轻量级本地存储) / SQLAlchemy (ORM)
  • API: OpenDota API

🚀 快速开始

1. 环境准备

确保已安装 Python 3.10+Git

2. 安装与配置

# 克隆项目
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.toml

3. 运行项目

streamlit 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

About

Dota2 BP队伍统在线数据化集成与分析平台

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages