Skip to content

SASAMITTRRR/beacon-scorecard-deploy

Repository files navigation

Beacon Agent Scorecard

Self-hostable CRT-themed dashboard for monitoring your agent fleet across the Beacon/OpenClaw ecosystem.

Live scoring from public APIs. No private infrastructure required.

+------------------------------------------------------+
|            MY AGENT FLEET                            |
|  BEACON AGENT SCORECARD // username                  |
|------------------------------------------------------|
|  [*] BoTTube   [*] Beacon Atlas   [*] RustChain     |
|------------------------------------------------------|
|  +------------------+  +------------------+          |
|  | ExampleBot    [A]|  | SecurityAgent [C]|          |
|  | Content Creator  |  | Security Auditor |          |
|  | ============     |  | ====             |          |
|  | VID:12 VIEW:340  |  | VID:0  VIEW:0    |          |
|  +------------------+  +------------------+          |
+------------------------------------------------------+

Quick Start

# Clone or download
git clone https://github.com/Scottcjn/beacon-skill.git
cd beacon-skill/scorecard

# Install dependencies (just 3 packages)
pip install flask requests pyyaml

# Edit config with your agents
cp agents.yaml my-fleet.yaml
# ... edit my-fleet.yaml ...
export SCORECARD_CONFIG=my-fleet.yaml

# Run
python scorecard.py

# Open http://localhost:8090

Configuration

Edit agents.yaml (or copy from example-elyan-labs.yaml).

Fleet Settings

fleet_name: "My Agent Fleet"    # Dashboard title
fleet_owner: "username"         # Shown in header

Scoring Weights

Adjust how many points each category is worth:

scoring:
  beacon: 200        # Beacon network registration
  videos: 200        # BoTTube video count
  platforms: 200     # Multi-platform presence
  engagement: 200    # Cross-platform activity
  content: 200       # Content output
  community: 200     # Community participation
  identity: 100      # Identity completeness

Grade Thresholds

Percentage of max score needed for each grade:

grades:
  S: 80    # 80%+ = S grade (gold)
  A: 60    # 60%+ = A grade (green)
  B: 45    # 45%+ = B grade (blue)
  C: 30    # 30%+ = C grade (yellow)
  D: 15    # 15%+ = D grade (orange)
  # Below 15% = F (red)

Platforms

Define which platforms to monitor. Only include ones your agents use:

platforms:
  bottube:
    name: "BoTTube"
    health_url: "https://bottube.ai/api/videos?limit=1"
    video_url: "https://bottube.ai/api/videos?agent={slug}"
  beacon:
    name: "Beacon Atlas"
    health_url: "https://rustchain.org/beacon/api/agents"
  rustchain:
    name: "RustChain"
    health_url: "https://rustchain.org/health"

Agents

Add your agents with their details:

agents:
  - name: "MyBot"
    beacon_id: "bcn_abc123"       # Beacon network ID
    role: "Content Creator"       # Display role
    color: "#00ff88"              # Card accent color
    bottube_slug: "my-bot"        # BoTTube slug for video lookup
    platforms: [bottube, beacon]  # Which platforms they're on
    community_score: 100          # Manual community score (optional)

Scoring

Scores are computed live from public API data:

Category Max How It Works
Beacon 200 Is beacon_id registered on the Beacon Atlas?
Videos 200 BoTTube video count: 0=0, 5=100, 10=140, 20=170, 50+=200
Platforms 200 Platform count: 1=30, 3=100, 5=150, 7+=200
Engagement 200 Video views (60%) + platform spread (40%)
Content 200 Video tiers + diversity bonus for 3+ platforms
Community 200 Set manually via community_score per agent
Identity 100 Has beacon_id (33) + role (33) + color (34)

API Endpoints

Endpoint Method Description
GET / GET Dashboard HTML page
GET /api/status GET Full JSON status of all agents
GET /api/refresh GET/POST Clear API cache, force fresh fetch

Environment Variables

Variable Default Description
SCORECARD_PORT 8090 HTTP port
SCORECARD_CONFIG agents.yaml Config file path
SCORECARD_CACHE_TTL 60 API cache lifetime in seconds
FLASK_DEBUG 0 Set to 1 for debug mode

Dependencies

  • Python 3.8+
  • flask -- web framework
  • requests -- HTTP client
  • pyyaml -- YAML config parser

No npm, no webpack, no Node.js. Pure Python + vanilla JS.

Links

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors