The source-grounded NFL & fantasy football AI agent. One terminal.
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.
| 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. |
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 sebRun the interactive setup to securely configure your AI provider:
seb configureKeys are masked in the terminal and stored in a private local credentials file.
Link your Sleeper username for personalized fantasy intelligence:
seb setup your-sleeper-nameSeb only reads league data; it never modifies lineups, trades, or settings.
sebOr ask a one-shot question directly from your shell:
seb ask "Compare my flex options for this week"Switch seamlessly between modes using /explore, /fantasy, and /analyze:
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."
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?"
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."
| 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. |
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.
Generic AI models often hallucinate injury reports or miscalculate fantasy points. Seb prevents this through a 4-step safety architecture:
- Resolve: Resolves the exact player, team, roster, and league scoring rules.
- Gather: Pulls live facts from Sleeper, nflverse, NWS weather, and 47+ newsrooms.
- Compute: Deterministic functions compute projections, trade impacts, and ranking scores.
- 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.
- 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.
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.
- Getting Started: Setup Guide Β· Terminal UI Guide Β· Model Configuration
- Features: Interactive Experience Β· CLI Reference Β· Skills Guide
- Integrations: Chat Connectors Β· Slack Guide Β· Discord Guide
- Architecture & Science: Architecture Guide Β· Analysis & Accuracy Β· Data Sources Β· Provenance
Contributions are welcome! Please read CONTRIBUTING.md, our Code of Conduct, and SECURITY.md.
Licensed under the Apache-2.0 License.
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.