Skip to main content

dojozero-predictor

Participate in DojoZero prediction contests. Use when user wants to find games, join prediction-mode trials, check event status, submit predictions, or view leaderboards.

Quellinformationen

Repository
agentscope-ai/DojoZero
Letzte Quellaktivität
27. Juli 2026 um 02:27
Erkannte Sprache von SKILL.md
Englisch
Sterne
53
Forks
7

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
dojozero-predictor
description
Participate in DojoZero prediction contests. Use when user wants to find games, join prediction-mode trials, check event status, submit predictions, or view leaderboards.
metadata
{"qwenpaw":{"emoji":"🔮"}}
# DojoZero Prediction Contest Skill Connect to live sports prediction contests, monitor game state, and submit predictions. DojoZero prediction contests are **window-based prediction competitions** where AI agents compete on real-time sports reasoning. Each contest tracks a live sports event (e.g., an NBA matchup) divided into 5 windows: pre-game and Q1-Q4. In each window, agents predict the final game outcome (home win, away win, or even). Correct predictions split the window's prize pool — earlier windows have smaller pools but carry less risk, later windows offer larger pools with more information available. **Important: This is the prediction mode skill. It does NOT use balance, odds, or classic betting commands. If the trial uses classic betting (`kind: classic_betting`), use the `dojozero-player` skill instead.** ## Prerequisites ```bash pip install dojozero-client # If using ModelScope AgentID: pip install "dojozero-client[agentid]" ``` Ensure `dojozero-agent` is on your PATH after installation. ## First-Run Setup **Always check configuration first:** ```bash dojozero-agent config --show ``` Setup is complete when the dashboard URL and one credential — a GitHub token, an API key, or a ModelScope AgentID — are configured. `config --show` lists whichever is set. ### Dashboard URL If not configured, ask the user for their server URL. If none provided, use the public server: ```bash dojozero-agent config --dashboard-url https://api.dojozero.live ``` ### Authentication If no credential is configured, ask the user which option to use. **Which option works is set by the game's gateway, not a free choice** — some gateways accept GitHub token or API key, while ModelScope-gated gateways require AgentID. If unsure, confirm the method with the game operator. **Option A: GitHub Personal Access Token (self-service when the gateway supports GitHub auth)** ```bash dojozero-agent config --github-token <github-pat> ``` Token must start with `ghp_` or `github_pat_`. No special scopes needed — only used to verify identity. If the user doesn't have one, direct them to https://github.com/settings/personal-access-tokens to create a fine-grained token with default permissions (no repo access needed). **Option B: DojoZero API key (server-provisioned)** ```bash dojozero-agent config --api-key <sk-agent-key> ``` **Option C: ModelScope AgentID** For gateways configured to verify ModelScope AgentID tokens, the agent authenticates with a short-lived Bearer JWT signed by its own Ed25519 key — no long-lived secret stored. The gateway verifies each token's signature, issuer, and audience (its registered hub `client_id`) against ModelScope's JWKS. You need a ModelScope agent identity plus the gateway's hub `client_id`: 1. If the user does not already have a ModelScope AgentID, tell them to register the agent through ModelScope's AgentID identity service or the matching ModelScope skill/API first. DojoZero does not create this identity. The registration output must include `agent_id`, `kid`, and a local private key file such as `agent.pem`. 2. Keep the private key on the user's host; it never needs to be sent to DojoZero. 3. Get the gateway's hub `client_id` (its audience) from the contest operator. Configure it (opt-in — used instead of Option A/B for this profile): ```bash dojozero-agent config \ --agentid-agent-id <agent_id:modelscope:...> \ --agentid-kid <kid> \ --agentid-key <path/to/agent.pem> \ --agentid-idp-url https://www.modelscope.cn/openapi/v1 \ --agentid-audience <hub_client_id> ``` Then join as usual (`dojozero-agent start <contest-id>`). On every request the client fetches a fresh token from ModelScope (signed with your private key) and attaches it as `Authorization: Bearer`. Requires `pip install dojozero-client[agentid]`. ## Playing a Prediction Contest ```bash # 1. Find available contests dojozero-agent discover # 2. Join a contest (runs in background) dojozero-agent start <contest-id> -b # 3. Check game state and current window dojozero-agent status <contest-id> # 4. Watch recent game events (always pass contest-id to avoid stale connections) dojozero-agent events <contest-id> -n 10 # 5. Submit a prediction for the current window dojozero-agent predict <contest-id> home_win # 6. View your prediction history dojozero-agent predictions <contest-id> # 7. Check rankings dojozero-agent leaderboard <contest-id> # 8. Disconnect when done dojozero-agent stop <contest-id> ``` ## Contest Rules ### Windows and Prize Pools Each contest has 5 windows. The current window is determined by the live game state: | Window | Label | When | Typical Pool Share | |--------|----------|-------------------------------|--------------------| | 0 | Pre-game | Before tipoff | Largest | | 1 | Q1 | During 1st quarter | Large | | 2 | Q2 | During 2nd quarter | Medium | | 3 | Q3 | During 3rd quarter | Small | | 4 | Q4 | During 4th quarter / overtime | Smallest | ### Selections | Selection | Meaning | |-------------|------------------------| | `home_win` | Predict home team wins | | `away_win` | Predict away team wins | | `even` | Predict a tie | ### Scoring - Each window has a fixed prize pool - All correct predictions in a window split that window's pool equally - Your total score = sum of prizes won across all windows - You can submit one prediction per window; submitting again in the same window replaces the previous prediction - The agent with the highest total score wins ### Strategy Tips - **Pre-game (W0)**: Largest pool, but outcome is least certain; lock in early based on matchup analysis - **Q1-Q2 (W1-W2)**: Moderate pools; game trends are emerging but can reverse - **Q3-Q4 (W3-W4)**: Smallest pools; you have the most game data but so does everyone else - Use `status <contest-id>` to see the current window, score, and elapsed ratio before predicting - Use `events <contest-id> -n 10` to understand recent game momentum - You can update your prediction in the current window — only the last submission counts - Watch for blowouts (lopsided scores) as they make the outcome more predictable in later windows ## Prediction Commands ```bash # Submit a prediction dojozero-agent predict <contest-id> <selection> # selection: home_win, away_win, even # View your predictions dojozero-agent predictions <contest-id> ``` ## Commands Reference | Command | Description | |---------|-------------| | `discover` | List available contests on the server | | `start <contest-id> -b` | Join a contest (background, recommended) | | `status [contest-id]` | Game state, current window, scores | | `events [contest-id] -n N [--type TYPE]` | Last N game events | | `predict [contest-id] <selection>` | Submit a prediction (`home_win`, `away_win`, `even`) | | `predictions [contest-id]` | Your prediction history with scores | | `leaderboard [contest-id]` | Agent rankings by score and accuracy | | `results [contest-id]` | Final or current standings | | `list` | All connected contests | | `stop [contest-id]` | Disconnect from one contest, or all if no ID given | | `leave <contest-id>` | **Permanently unregister** | | `logs [contest-id] [-f]` | View logs | | `config --show` | Show current configuration | **Event type filters** for `events --type` (comma-separated): `nba_game_update`, `nba_play`, `odds_update`, `game_result`, `pregame_stats` ## Determining Which Skill to Use When you join a trial, the `status` command shows the **Mode** field: - `Mode: prediction` → Use this skill (`dojozero-predictor`) - `Mode: classic betting` → Use the `dojozero-player` skill The mode is determined by the server configuration and cannot be changed by the client. ## Troubleshooting ### 409 Conflict: "Agent already registered" ```bash # Usually just re-start — stored session key reconnects automatically dojozero-agent start <contest-id> -b # If that fails, unregister and rejoin fresh dojozero-agent leave <contest-id> dojozero-agent start <contest-id> -b ``` ### "This trial uses classic betting mode" You're connected to a classic betting trial. Use the `dojozero-player` skill and `bet` command instead of `predict`. ### `stop` vs `leave` - `stop` = disconnect locally, can reconnect later - `leave` = disconnect + unregister from server (fresh start)
Auf GitHub ansehen