Skip to content
arvarikPublic

About

Sleeper fantasy football agent

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Seb

The source-grounded NFL & fantasy football AI agent. One terminal.

CI License Node.js Version

Seb unifies real-time NFL news, live Sleeper leagues, nflverse statistics, and kickoff weather into a single conversational agent.

Unlike generic chatbots that guess player stats or hallucinate lineups, Seb uses deterministic math for projections and rankings, safeguarding your start-sit, trade, and waiver decisions with verified evidence.

Show Derrick Henry's recent production and latest verified news.
Look deeper into his usage.
Compare him with Saquon Barkley for this week's matchup and weather.

Why Seb?

Feature What Seb Delivers
🏈 47+ Built-In Newsrooms Direct reporting from all 32 NFL team beat sources, official NFL feeds, transaction wires, and fantasy analysts.
πŸ† Instant Sleeper Sync Discovers your leagues, rosters, scoring settings, and weekly matchup needs automatically.
πŸ›‘οΈ Grounded Decisions Deterministic projections, legal trade validation, FAAB waiver tiers, and playoff simulations.
πŸ“ˆ Weekly Learning Learns local player performance trends and forecast accuracy after completed games.
🌦️ Kickoff Weather Live game-day forecasts and active severe weather alerts from the National Weather Service.
πŸ€– Multi-Provider AI Bring your own model: Google Gemini, Anthropic Claude, OpenAI, or local/compatible LLMs.
πŸ”’ Privacy First Read-only league access. Local usage records exclude prompts and answers. Remote Judgment tracing is optional and off by default.

Quick Start

1. Install

Requires Node.js 22+:

# Clone the repository
git clone https://github.com/arvarik/seb.git
cd seb
npm ci

# Option A: Run directly from source
npm run seb

# Option B: Install globally from source (available anywhere as `seb`)
npm install -g .
🐳 Run with Docker (no local Node.js required)
docker build -t seb .
docker run -it --rm -v ~/.seb:/root/.seb seb

2. Configure

Run the interactive setup to securely configure your AI provider:

seb configure

Keys are masked in the terminal and stored in a private local credentials file.

3. Connect Sleeper

Link your Sleeper username for personalized fantasy intelligence:

seb setup your-sleeper-name

Seb only reads league data; it never modifies lineups, trades, or settings.

4. Launch

seb

Or ask a one-shot question directly from your shell:

seb ask "Compare my flex options for this week"

Three Connected Modes

Switch seamlessly between modes using /explore, /fantasy, and /analyze:

πŸ” Explore (NFL Intelligence)

Deep NFL research without needing a fantasy account.

  • "Show Baltimore's recent offensive trends and red zone usage."
  • "What changed in the latest verified Seahawks injury report?"
  • "Compare rushing usage and snap share for these two running backs."

πŸ† My Fantasy (Multi-League Overview)

Connect your Sleeper account to monitor all your leagues in one view.

  • "What needs my attention across my leagues this week?"
  • "Show urgent news for players across my active rosters."
  • "Which of my leagues has the weakest running back depth?"

πŸ“Š Analyze (Protected Decisions)

Turn research into winning start-sit, trade, and waiver actions.

  • "Compare my flex options for Week 2 in full PPR."
  • "Rank these waiver targets and recommend FAAB bid ranges."
  • "Review this trade proposal for my Dynasty league."

CLI & Bot Connectors

Command-Line Tools

Command Description
seb Launch the full interactive terminal interface.
seb ask "..." Ask one-shot questions from scripts or shell (supports --json).
/about [topic] Inside chat, inspect Seb's architecture, projection formulas, storage schemas, and design principles.
seb doctor Validate active model provider, local cache, and public APIs.
seb usage / stats Inspect local token usage, response latency, and run success rates.
seb learn Review adaptive forecast accuracy and completed-week parameter updates.
seb cache clear Manage or prune the local SQLite cache.

League Chat Bots

Deploy Seb directly into your league's group chat! Seb includes built-in read-only connectors for:

  • Slack (Socket Mode & Webhooks)
  • Discord (Bot client & Interactions)
  • Telegram (Bot polling & Webhooks)
  • GroupMe (Bot webhooks)

See the Chat Connectors Guide for step-by-step bot setup.


How Seb Protects Your Decisions

Generic AI models often hallucinate injury reports or miscalculate fantasy points. Seb prevents this through a 4-step safety architecture:

  1. Resolve: Resolves the exact player, team, roster, and league scoring rules.
  2. Gather: Pulls live facts from Sleeper, nflverse, NWS weather, and 47+ newsrooms.
  3. Compute: Deterministic functions compute projections, trade impacts, and ranking scores.
  4. Validate: A safety gate verifies that all facts match the requested player and league. If facts are missing or conflicting, Seb withholds the action rather than guessing.

Transparent Limits

  • Supported Positions: Projections and lineup comparisons support offensive skill positions (QB, RB, WR, TE, K) and team D/ST (with individual special-teams return scoring).
  • Public Latency: News and nflverse game logs rely on public feeds and can lag breaking live game events.
  • Weather Coverage: NWS weather forecasts cover United States venues only.

Documentation

Optional Judgment tracing

Seb works without a Judgment account. Tracing stays off unless you explicitly enable it. When tracing is off, Seb does not load the Judgment SDK or send data to Judgment. Adding credentials alone does not enable tracing.

To enable tracing, add these values to a dotenv file for explicit import, or to your service environment:

SEB_JUDGMENT_TRACING=true
JUDGMENT_API_KEY=<your saved Judgment API key>
JUDGMENT_ORG_ID=<your Judgment organization ID>

Git ignores .env and its variants, such as .env.local. The repository tracks only .env.example.

Import the file once with seb configure --import-env /absolute/path/to/.env. Review the setting names and confirm the import. Seb masks secrets in the preview. Saved settings apply from any directory. Seb does not load a current-directory .env automatically. Use seb configure to edit Gemini credentials, models, Judgment settings, and other supported settings. See Persistent configuration for storage, security, and override rules. Use your own organization ID. Seb sends traces to the seb project in that organization. Seb loads the environment before it initializes tracing once per process. Every span in a traced request carries the same judgment.session_id, including model calls, tool calls, and streaming work. Missing credentials or initialization failures produce a warning, and Seb continues without tracing.

Enabling tracing exports conversation content. Judgment receives prompts, answers, model calls, tool inputs and outputs, and error information. This content can include league data and personal information that appears in a conversation or tool result. Seb does not pass its environment or credential configuration to trace wrappers. Local usage records keep their existing metadata-only format.

Tracing covers CLI questions, structured answers, interactive agent turns, and connector replies. Each interactive conversation and connector thread groups related traces into a session. Model and tool spans come from the AI SDK integration. Stream roots remain open until consumption ends or the consumer cancels. Seb records up to 128,000 characters of final text on each root. Child spans can contain additional content. Seb flushes completed roots and shuts down tracing when the CLI or connector service stops normally. An immediate forced exit, including a broken output pipe, can lose queued traces.

Set SEB_JUDGMENT_TRACING=false or remove it, then restart Seb, to disable tracing. JUDGMENT_MONITORING=false also disables tracing at startup.

After installing dependencies, verify one normal request and one cancelled request in Judgment. Check the seb project, session grouping, model and tool children, final output, and trace health results. An initialization message alone does not prove that export works. See the Judgment tracing guide and AI SDK integration.

Guides


Contributing & License

Contributions are welcome! Please read CONTRIBUTING.md, our Code of Conduct, and SECURITY.md.

Licensed under the Apache-2.0 License.

Saved conversations and tool details

After /exit, Seb prints seb resume <session-id>. Run seb sessions to list saved conversations. Resume restores questions, answers, completed tool details, and answer evidence. It refreshes the current NFL calendar. Click a purple tool row to inspect its input and result. Click a grouped row to list its calls, then click a call for details.

Seb now projects team D/ST with league scoring and opponent history. See the model and benchmark.

About

Sleeper fantasy football agent

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages