dota-draft / README.md
asusevski's picture
Include Hugging Face Space scaffold metadata
575cb24
|
Raw
History Blame Contribute Delete
1.72 kB
---
title: Dota Draft
emoji: ⚔️
colorFrom: red
colorTo: gray
sdk: gradio
sdk_version: 6.18.0
python_version: '3.13'
app_file: app.py
pinned: false
tags:
- track:wood
- sponsor:openai
- achievement:agent
---
# Dota Draft
Dota Draft is an AI-assisted drafting workbench for Dota 2 Captains Mode. It lets a player walk through the full pick/ban sequence, record both teams' drafts, and generate draft recommendations from a small-model chat-completions agent backed by OpenDota MCP context.
## Build Small submission
- Track: Thousand Token Wood (`track:wood`)
- Sponsor prize: Best Use of Codex (`sponsor:openai`)
- Bonus badge: Best Agent (`achievement:agent`)
- Demo video: https://www.youtube.com/shorts/VIB_FRXADg8?feature=share
- Social post: https://x.com/asusevski/status/2066671518193532979
## What it does
- Initialize the draft with side selection and first drafting team.
- Step through the full 20-action Captains Mode pick/ban order.
- Record picks and bans for both teams.
- Generate a structured backend payload containing the current picks, bans, sides, player IDs, and unavailable heroes after each draft event.
- When it is your turn, call an OpenAI-compatible small model through the Hugging Face Router and combine that with OpenDota MCP data to recommend a pick or ban.
## Tech
The app is a Gradio Space. The draft UI is implemented in `app.py`, the recommendation agent lives in `agent.py`, and the OpenDota MCP connection is defined in `mcp.py`.
The default model is `Qwen/Qwen3.6-27B:featherless-ai`, which is under the Build Small 32B parameter cap. Runtime configuration is provided through environment variables such as `OPENAI_API_KEY`, `OPENAI_MODEL`, and `OPENDOTA_API_KEY`.