Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

dota2-bkb/Oracle

Open more actions menu

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

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.