中文文档 (Chinese) | English
A powerful visualization tool for your Steam library, generating an interactive force-directed graph connecting games and their tags.
(Overview of the Steam Tag Graph)
- Interactive Graph: Visualize relationships between your games and Steam tags.
- Filtering:
- Toggle Games/Tags visibility.
- Quick filters for Singleplayer, Multiplayer, Indie, etc.
- Advanced Search: SQL-like grammar support (e.g.,
show game > 20h and hide tag < 100m).
- Localization: Full support for English and Chinese (including game names fetched from Steam Store).
- Details Panel: Click on any tag to see a sorted list of games associated with it.
(Filtered view showing 'Sandbox' tag details)
-
Clone the repository.
-
Install dependencies (Recommendation using
uv):# Install uv if you haven't (https://github.com/astral-sh/uv) pip install uv # Create virtualenv and install dependencies uv venv source .venv/bin/activate uv pip install -r requirements.txt
Or using standard pip:
pip install -r requirements.txt
-
Configuration (Required): You must provide your
STEAM_API_KEYandSTEAM_USER_ID. You can do this by:- Setting environment variables:
export STEAM_API_KEY="your_api_key" export STEAM_USER_ID="your_steam_id_64"
- Or editing
config.pydirectly.
How to get them:
- Steam API Key: Get it from https://steamcommunity.com/dev/apikey (Domain name can be anything).
- Steam User ID: Your 17-digit 64-bit ID. You can find it on your Account Details page (under your username), or use tools like steamid.io.
- Setting environment variables:
-
Fetch Data & Generate Graph:
python3 main.py # Or override ID via CLI python3 main.py --steam_id <YOUR_STEAM_ID>
Note: First run may take longer to fetch Chinese game names due to rate limiting.
-
View Graph:
- Open
web/index.htmlin your browser. - No local server required (data is injected via JS).
- Open
config.py: Set your Steam API Key and default User ID.web/tags_mapping.json: Customizable tag translations.
MIT