BaseClaw
你的梦幻棒球队,由人工智能管理。
用简单的英语问克劳德你的雅虎梦幻棒球联盟。根据您的实际联赛数据,获取有关交易、阵容、弃权和策略的即时建议。

   ](https://www.docker.com/products/docker-desktop/) 
______________________________________________________________________
你能问什么?
| 提示 | 发生了什么 |
|---|---|
| “给我看看我的名单” | 列出你的完整名单,包括位置、资格、今天的比赛、伤病标志和情报覆盖 |
| “我应该接受这笔交易吗——我的索托换他的伯恩斯和塔克?” | 进行剩余价值分析,包括类别匹配、阵容影响和字母评分 |
| “目前SS的最佳得分” | 根据z-score值、类别拟合和回归信号对每个自由球员游击手进行评分 |
| “我的球队与联盟其他球队相比如何?” | 所有20项统计数据的完整赛季类别排名、位置实力等级、调整z分数的力量排名和交易适合度分析-所有这些都来自一个复合API调用 |
| “一夜之间发生了什么?” | 受伤、交易、趋势回升、潜在客户征召和未决交易——一次机会 |
| “本周侦察我的对手” | 优势、劣势、可流式分类以及击败他们的游戏计划 |
30+ more prompts by category
日常管理
- “设定我今天的阵容——让任何没有比赛的人坐在替补席上”
- “我的名单上有谁受伤了?我应该采取什么行动?”
- “本周最好的直播投手是谁?”
- “给我看看我的周计划——谁有休息日?”
- “检查今天比赛的天气风险”
豁免线
- “本周我应该找谁来提高我的击球率?”
- “电线上最好的闭合器”
- “运行豁免优化器——对我的团队来说,最好的添加/删除顺序是什么?”
- “我应该为这位球员出价多少FAAB?”
- “目前,雅虎的新增用户最多的是谁?”
- “让我看看明天豁免的球员”
交易
- “为我的过度推销找一个贸易伙伴”
- “评估一下这笔交易——我放弃得太多了吗?”
- “其他团队中谁会填补我的人力资源空白?”
- “运行完整的贸易管道——在联盟中找到互补的交易”
- “显示我的待定交易报价”
策略
- “我应该下注哪些类别?”
- “我在整个赛季的每个统计类别中排名在哪里?”
- “我现在季后赛的概率是多少?”
- “给我一个本周比赛的分类游戏计划”
- “我能进入季后赛吗?”
高级分析
- “谁在退出速度方面领先联盟?” *(任何高级指标的Statcast排行榜)*
- “本赛季哪些击球手正在获得球速?给我看看球速追踪突破”
- “有投手对投球组合做出重大改变吗?”
- “今天哪些球队正在应对旅行疲劳?”
- “我现在应该对这位球员的预测有多大信心?”
- “我应该为这位球员出价多少FAAB?” *(现在使用凯利标准数学)*
前景与情报
- “最接近征召的20位潜在客户”
- “深入了解这一前景——MiLB统计数据、侦察成绩、征召概率”
- “藏在其他球队身上的哪些前景值得交易?”
- “\[球员\]的最新消息是什么?”
- “给我看看回归候选者——谁应该进行修正?”
- “关于\[玩家\]的完整Statcast报告”
- “Reddit今天对梦幻棒球有什么看法?”
季节检查点
- “给我周一上午的简报”
- “周末回顾——我的比赛进行得怎么样?”
- “每月检查点——我站在哪里,我该怎么办?”
- “显示上个月的类别趋势”
- “与每位经理的正面交锋记录”
快速启动(10分钟)
先决条件: 和一个 雅虎开发者应用 拥有Fantasy Sports的阅读权限。
curl -fsSL https://raw.githubusercontent.com/jweingardt12/baseclaw/main/scripts/install.sh | bash安装程序获取Docker映像,提示输入Yahoo API凭据,启动容器,运行OAuth发现,并配置MCP客户端。
第一个查询: 打开克劳德问 "Show me my roster"如果你看到你的球员,你就准备好了。
Manual setup
1.获取雅虎API证书 首选 developer.yahoo.com/apps/create,创建一个应用程序 梦幻体育 读取权限和 oob 作为重定向URI。
2.配置并运行:
git clone https://github.com/jweingardt12/baseclaw.git
cd baseclaw
cp docker-compose.example.yml docker-compose.yml
cp .env.example .env
# Edit .env — set YAHOO_CONSUMER_KEY and YAHOO_CONSUMER_SECRET
mkdir -p config data
docker compose up -d3.发现你的联赛 --触发Yahoo OAuth并查找您的联盟/球队ID:
./yf discover复制打印件 LEAGUE_ID 和 TEAM_ID 进入 .env那么 docker compose up -d 重新启动。
4.联系克劳德 --请参阅下一节了解您的AI客户端的配置。
连接到您的AI客户端
使用一个JSON块将BaseClaw添加到您的AI客户端。复制下面客户端的配置。
Claude Desktop
编辑 claude_desktop_config.json (macOS ~/Library/Application Support/Claude/claude_desktop_config.json | 视窗 %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"baseclaw": {
"command": "docker",
"args": ["exec", "-i", "baseclaw", "node", "/app/mcp-apps/dist/main.js", "--stdio"]
}
}
}Claude Code
添加 .mcp.json 在项目根目录中(或 ~/.claude/.mcp.json 全球):
{
"mcpServers": {
"baseclaw": {
"command": "docker",
"args": ["exec", "-i", "baseclaw", "node", "/app/mcp-apps/dist/main.js", "--stdio"]
}
}
}VS Code Copilot
添加 .vscode/mcp.json 在您的工作空间中:
{
"servers": {
"baseclaw": {
"command": "docker",
"args": ["exec", "-i", "baseclaw", "node", "/app/mcp-apps/dist/main.js", "--stdio"]
}
}
}Cursor
添加 .cursor/mcp.json 在项目根目录中:
{
"mcpServers": {
"baseclaw": {
"command": "docker",
"args": ["exec", "-i", "baseclaw", "node", "/app/mcp-apps/dist/main.js", "--stdio"]
}
}
}注: Cursor每个MCP服务器有40个工具限制。BaseClaw公开了130个工具,因此Cursor将只加载前40个。核心阵容、排名和估值工具首先加载。高级分析、潜在客户和工作流工具可能不可用。
Cline
打开临床设置>MCP服务器>添加,然后粘贴:
{
"mcpServers": {
"baseclaw": {
"command": "docker",
"args": ["exec", "-i", "baseclaw", "node", "/app/mcp-apps/dist/main.js", "--stdio"]
}
}
}Windsurf
添加 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"baseclaw": {
"command": "docker",
"args": ["exec", "-i", "baseclaw", "node", "/app/mcp-apps/dist/main.js", "--stdio"]
}
}
}Claude.ai (remote access)
Claude.ai需要可以通过HTTPS访问的服务器。集 MCP_SERVER_URL 和 MCP_AUTH_PASSWORD 在 .env,在4951端口前放置一个反向代理(Caddy、nginx、Cloudflare Tunnel、Tailscale Funnel、Pangolin),并用 docker compose up -d.
在Claude.ai中:设置>集成>添加MCP服务器>输入 https://your-domain.com/mcp。系统将提示您输入密码。MCP服务器实现了OAuth 2.1,不需要第三方身份验证提供者。身份验证令牌在容器重启过程中持续存在(存储在已挂载的 config/ 容量)和访问令牌持续7天,30天刷新令牌,因此Claude.ai通过部署和重置保持连接。
使用OpenClaw实现自动化
将BaseClaw连接到 开爪 它自主地管理你的团队。每天早上都会安排阵容,监控伤病情况,侦察对手,找到弃权票。你想什么时候入住就什么时候入住。
cd openclaw && bash install.sh安装程序复制工作区文件,配置OpenClaw网关,注册8个cron作业,安装3个事件挂钩,并设置4个带有人工循环审批门的Lobster工作流。
安装什么
| 组件 | 它的作用 |
|---|---|
| 工作区文件 | AGENTS.md, SOUL.md, TOOLS.md, HEARTBEAT.md, MEMORY.md, USER.md --代理角色、工具约定、记忆系统 |
| 时钟守护作业 (8) | 晨会、赛前检查、比赛计划、弃权截止日期、流媒体、名单审核、每周摘要、赛季检查点 |
| 龙虾工作流程 (4) | waiver-claim.lobster, trade-proposal.lobster, roster-cleanup.lobster, morning-routine.lobster --带审批门的多级管道 |
| 事件挂钩 (3) | 名册警报(伤害/交易推送通知)、内存刷新(在压缩之前持久化上下文)、健康检查(在启动时验证BaseClaw) |
| 配置 | openclaw.json (网关配置), mcporter.json (MCP服务器注册) |
Cron时间表
所有时间东部,可配置 openclaw/cron/jobs.json:
| 计划 | 任务 | 会话 | 调用的工具 |
|---|---|---|---|
| 每日上午9点 | 排队+简报 | baseclaw-daily | yahoo_morning_briefing + yahoo_auto_lineup |
| 每日上午10:30 | 预锁检查 | baseclaw-daily | yahoo_game_day_manager |
| 周一上午8点 | 配对计划 | baseclaw-weekly | yahoo_league_landscape + yahoo_matchup_strategy |
| 周二晚上8点 | 豁免截止日期准备 | baseclaw-weekly | yahoo_waiver_deadline_prep |
| 周四上午9点 | 流媒体检查 | baseclaw-daily | yahoo_streaming |
| 周六上午9点 | 名册审核 | baseclaw-weekly | yahoo_roster_health_check |
| 周日晚上9点 | 每周摘要 | baseclaw-weekly | yahoo_weekly_digest |
| 每月1日上午10点 | 季节检查点 | baseclaw-season | yahoo_season_checkpoint |
共享会话的作业(baseclaw-daily, baseclaw-weekly)跨运行保留上下文——上午的简报会知道预锁定检查发现了什么。
龙虾工作流程
带有人在环审批门的多级管道。从聊天中运行:“运行豁免索赔工作流。”
| 工作流 | 步骤 | 审批门 |
|---|---|---|
waiver-claim.lobster | 分析豁免,用FAAB出价对目标进行排名,批准,提交索赔 | 在提交索赔之前 |
trade-proposal.lobster | 扫描交易流程,评估z-score影响,批准,发送提案 | 发送交易前 |
roster-cleanup.lobster | 审核排班健康状况,计划IL/删除移动,批准、执行更改 | 在做出更改之前 |
morning-routine.lobster | 运行简报,优化阵容,总结 | 无(安全操作) |
Webhook端点
BaseClaw为外部事件触发器公开了与OpenClaw兼容的webhook端点。集 WEBHOOK_TOKEN 在 .env 以启用。
| 终点 | 目的 |
|---|---|
POST /hooks/wake | 轻量级事件微调--接受 {text, mode} |
POST /hooks/agent | 孤立代理转向--接受 {message, name?, sessionKey?} |
通过验证 Authorization: Bearer 或 x-openclaw-token: 头球5次尝试失败后,速率受到限制。
自治级别
| 级别 | 它做什么 | 最适合 |
|---|---|---|
| 全自动 | 执行所有建议的操作,然后报告 | 信任代理的经理放手 |
| 半自动 (默认) | 执行安全移动(排队、IL),推荐其他所有内容以供批准 | 大多数用户——带护栏的自动化 |
| 手册 | 从不执行写入,只报告建议 | 想要完全控制的用户 |
集 AGENT_AUTONOMY 在 .env代理会自动检测你的联盟配置——FAAB与优先级豁免、评分格式、统计类别——并跳过不相关的工具。
Agent persona
这 AGENTS.md 文件定义了代理的身份和行为:
- 联盟意识 --在第一节课上学习你的格式、球队人数、得分类别和名单规则
- 战略原则 --目标接近类别,承认失败的原因,用多因素得分流投手,监控关闭者,从盈余中交易
- 回归意识 --在任何加/减/交易之前检查回归分数;买入低信号,防止恐慌情绪下降,卖出高信号,最大限度地提高交易价值
- 贸易情报 --剩余价值分析、类别与原始价值的匹配度、整合溢价、捕手稀缺、对手封锁(永远无法帮助排名在2位以内的球队)
- 前景新闻情报 --使用贝叶斯调用概率混合对16个新闻源的信号进行分类。伤病新闻、重新分配和看涨报告会自动调整库存建议和交易目标
- 统计决策规则 --研究支持的桶速、出口速度、冲刺速度、xwOBA间隙、ERA与SIERA、Stuff+、速度变化的阈值。玩家卡片显示 野蛮风格的百分位数条 用于所有高级指标的联赛排名
- 样本量意识 --每个工具和UI视图都会在赛季初标记低置信度统计数据。贝叶斯稳定阈值(200个PA击球手,117个IP投手)驱动置信度标签,以便代理和用户知道何时信任统计数据与预测
- 季节阶段 --早期(建立深度,积极流动),中期(交易平衡,低价买入),晚期(季后赛定位)
- 决策树 --伤害响应管道、带有剩余价值评估的贸易搜索、豁免截止日期索赔链
- FAAB管理 --基于贝叶斯模型的后验方差的Kelly标准投标规模、竞争阴影、类别稀缺奖金、季节阶段乘数、竞争者检测
- 联盟情报 --全面的联赛情报,具有多层实力排名(调整后的z分数混合预测+统计质量+回归信号+冷热趋势),所有球队的表现最佳,有质量/回归标志,有交易拟合分析的球队档案,以及z上升检测。季前赛使用70%z-rank+30%质量排名;赛季内调整为50%z排名+35%排名+15%质量
- 竞争情报 --跟踪对手的活动,对对手的动作做出反应,了解排名,阻止交易
- 代币效率 --工作流工具优于单个工具,简洁的报告
定制 AGENTS.md 调整战略、风险承受能力或报告风格。
运作原理
BaseClaw从三个来源获取数据: 雅虎幻想API (你的名单、排名、对决、自由球员、交易), FanGraphs (Steamer+ZiPS+深度图的共识预测),以及 棒球野蛮人 (Statcast指标、Stuff+、投球武器库数据、击球追踪)。前景情报来自MLB Stats API和16个贝叶斯信号分类的新闻来源。
玩家估值使用 FVARz z评分 --量加权费率统计数据,这样兼职人员就不会夸大排名。预测经过公园因子调整,并通过以下方式与实时统计数据相结合 贝叶斯共轭更新 --每个状态都使用自己的稳定点(K速率稳定在60 PA,击球平均值为400 PA),从而为每个状态的每个玩家产生数学上最优的收缩率,而不是一刀切的日期阈值。然后将原始z分数调整为 调整后的z分数 这些因素融合了Statcast质量等级(精英+1.5,强势+0.75)、回归信号(从14信号引擎低买/高卖)和冷热势头——因此排名反映了真正的人才,而不仅仅是预测。 所有建议都使用调整后的z分数 --豁免选择、流媒体投手和贸易顺差计算考虑了Statcast质量、回归信号和动量,而不是原始的预测z分数。FAAB投标用途 凯利公式 最佳投标规模的数学计算。断线检测用途 蝙蝠追踪 (击球速度、快速挥杆速度、平方速度)和 沥青混合物筛选 (武器库的变化与有效性指标相互参照)。 旅行疲劳评分 基于PNAS对46535款游戏的同行评审研究,这些游戏被纳入流媒体和阵容决策。 实时游戏信息 -美国职棒大联盟统计API的比赛时间、现场得分和局数显示在名册和自由球员视图中。自由球员包括 可切换的高级统计视图 (概述、统计、过程、价值),数据来自棒球Savant和FanGraphs。每个工具响应包括 代理人操纵 --战略评估和跨工具下一步,这样人工智能代理就可以在不被要求的情况下引导用户做出最佳决策。 样本量意识 内置于整个堆栈中——带有置信度标签的PA/IP计数(来自贝叶斯稳定点)出现在每个球员的工具文本、名单视图和自由球员视图中,当大多数球员在赛季初样本较低时,会自动发出警告。玩家卡包括 Savant风格百分位数酒吧排名 显示玩家在xwOBA、xBA、出站速度、桶率、重击率、K%、BB%、嗅觉率、追逐率和冲刺速度方面在联盟中的排名。 Statcast排行榜 让您向MLB领导者查询任何高级指标(退出速度、桶速、xwOBA、冲刺速度、击球速度等)。
Architecture
┌─────────────────────────────────────────────────┐
│ Docker Container (baseclaw) │
│ │
│ ┌──────────────────┐ ┌─────────────────────┐ │
│ │ Python API │ │ TypeScript MCP │ │
│ │ (Flask :8766) │──│ (Express :4951) │ │
│ │ │ │ │ │
│ │ yahoo_fantasy_api│ │ MCP SDK + ext-apps │ │
│ │ pybaseball │ │ 130 tool defs │ │
│ │ MLB-StatsAPI │ │ 4 apps / 80+ views │ │
│ │ Playwright │ │ 11 workflow tools │ │
│ │ CacheManager │ │ 11 tool files │ │
│ └──────────────────┘ └─────────────────────┘ │
└─────────────────────────────────────────────────┘
│ │
Yahoo Fantasy API MCP Clients (stdio/HTTP)
Yahoo Website (browser) ├── Claude Code / Desktop
FanGraphs (projections) ├── Claude.ai (remote)
Baseball Savant (intel) ├── Agent orchestrators
│ (OpenClaw, cron-scheduled)
└── Webhooks (/hooks/wake, /hooks/agent)- 读取操作:Yahoo Fantasy OAuth API(快速、可靠)
- 写入操作:针对Yahoo Fantasy网站的Playwright浏览器自动化(雅虎的API不再向新的开发者应用程序授予写入范围)
- 估值:FVARz z分数,按类别投影混合(Steamer+ZiPS+深度图),调整公园因子,季节混合的贝叶斯共轭更新(按统计稳定点取代基于日期的衰减),条件捕手溢价。 调整后的z分数 将原始预测与Statcast质量等级、回归信号和反映真实人才的排名势头相结合。具有贪婪回退的ILP阵容优化器(scipy)。剩余价值交易分析、Kelly标准FAAB竞价、Stuff+和旅行疲劳的多因素流媒体、研究支持的投注可行性
- 智能:Statcast数据、SIERA、Stuff+/Location+/Pitching+、排分裂、武器库变化、蝙蝠跟踪(蝙蝠速度、快速摆动率、平方率、爆炸)、击球曲线、历史比较、研究校准的回归评分(-100至+100),有14个信号,横跨击球手和投手。蝙蝠追踪突破检测器会在统计数据反映之前标记获得蝙蝠速度的击球手。联盟范围内的投球混合筛选器会显示投手进行重大武器库更改,并与有效性指标进行交叉引用。旅行疲劳评分(PNAS支持)将时区变化、日程密度和向东旅行处罚因素纳入流媒体和阵容决策中。定性智能层通过伤害严重程度、取消交易过滤和上下文线丰富了每一条建议。前景新闻情绪层使用贝叶斯更新将来自16个新闻来源的定性信号与基于统计的调用概率混合在一起。使用可配置TTL缓存
- MCP应用程序:通过Claude渲染的交互式内联ui(React 19+shadcn/ui+自定义SVG图表)
@modelcontextprotocol/ext-apps.移动优先卡布局,适用于阵容和自由球员,具有内联统计、质量指标和匹配颜色编码。匹配视图中的类别比较栏。上午的简报会上有丰富的豁免目标,显示等级/z评分/背景/理由。玩家报告,包括游戏日志、逐年职业生涯、新闻链接、Statcast指标、z-score排名。决策视图通过操作按钮显示上下文(警告、新闻、趋势)。支持后退按钮的导航历史记录 - 工作流工具:11个聚合端点,绑定5-7+API调用服务器端以保持较低的工具调用计数
引擎盖下:
- 雅虎幻想API -您的名册、排名、比赛、自由球员、交易和联赛设置实时来自雅虎的OAuth API。每次工具调用都会获取当前数据,而不是缓存的快照。
- 分析引擎 --使用FVARz方法进行Z评分估值(交易量加权费率统计,因此兼职人员不会夸大排名)。预测是共识混合(Steamer+ZiPS+深度图表),按类别加权,调整公园因子,并通过以下方式与实时统计数据混合 贝叶斯共轭更新 --每个状态都使用自己的研究支持稳定点(K-rate稳定在60 PA,击球平均值为400 PA,ERA为600 BF)来产生每个状态下每个玩家的数学最优收缩率。 调整后的z分数 然后是Statcast质量等级(精英/强/平均/低/差)、来自14信号引擎的回归信号和冷热动量——因此排名、比较和交易评估反映了真正的人才,而不仅仅是预测。有条件捕手溢价(2C联赛2.0,1C联赛1.0,从联赛设置中自动检测)。ILP阵容优化器(scipy)通过贪婪回退找到全局最优的玩家到老虎机分配。该引擎还运行类别差距分析、具有可行性评级的研究支持的投注策略、具有特定类别波动阈值的匹配分类、具有剩余价值分析的交易评估(名册现货税、类别匹配、整合溢价、捕手稀缺、竞争对手警告), 凯利准则FAAB投标 (一半凯利,所有权百分比的竞争阴影,类别稀缺奖金,贝叶斯模型的后验方差),多因素流式投手得分(投手质量+公园因素+对手质量+东西++ 对手旅行疲劳),以及一个交易查找器,可以扫描每个团队以寻找互补交易。每个工具响应包括 代理人操纵 --战略评估和跨工具下一步建议附加到结果中,以便人工智能代理主动引导用户做出最佳决策。
- 玩家智力 --每个玩家表面都会提取Statcast数据(xwOBA、xERA、退出速度、桶率、百分位排名、投球武器库)、填充物+/位置+/投球+指标、排划分、历史比较、武器库变化检测、7/14/30天趋势划分、FanGraphs板块纪律(SIERA、K-BB%、HR/FB%)、来自r/fantasybaseball的Reddit情绪以及MLB交易警报。一个经过研究校准的回归引擎使用6个击球手信号(xwOBA差距、职业生涯回归BABIP、HR/FB vs桶、通过O-Swing%的板纪律、重拳发散、冲刺速度)和8个投手信号(ERA vs SIERA、K-BB%vs ERA、ERA vs xERA、K率调整BABIP、LOB%、HR/FB%、速度趋势、Stuff+信心修正)对每个合格球员进行评分,从-100(强卖高)到+100(强买低),每个信号都有个人贡献细分和信心水平。定性情报层用真实世界的背景丰富了每一条推荐:伤害严重程度分类(轻微/中度/严重),解除交易检测(DFA的、释放的、暂停的或退役的球员从推荐中自动过滤),以及附加到每个球员表面的一行背景摘要。API调用使用可配置的TTL进行缓存。在赛季开始之前,Savant的数据回落到前一年,因此英特尔表面在春季训练期间保持活跃。
- 浏览器自动化 -写入操作(添加、删除、交易、阵容更改)使用Playwright直接自动化Yahoo Fantasy网站,因为Yahoo的API不再向新的开发者应用程序授予写入范围。读取操作仍然使用快速OAuth API。
- 前景新闻情报 -一个定性新闻层,从16个来源(通过新闻聚合器)和MLB Stats API交易中吸收特定于招股说明书的文章,使用50多个关键词模式(乐观:“已召集”、“预计加入”、“可能在开幕日”;悲观:“已选择”、“分配给未成年人”、“放置在IL上”)对召集信号进行分类,用贝叶斯更新(来源层加权+指数时间衰减)对其进行评分,并将结果与基于统计的召集概率相混合(65%统计/35%新闻,上限为+/-30pp)。事件重复数据删除可防止关于同一名册的多篇文章过度复合。每个潜在客户工具——排名、藏匿顾问、交易目标、比较——都反映了新闻调整后的概率。
- 内联UI应用程序 --四个单文件HTML应用程序(React 19+shadcn/ui+自定义SVG图表)通过MCP apps直接在Claude的聊天中呈现交互式ui。80+的浏览量涵盖了名册、比赛、交易、豁免、游戏日志、职业统计、带有Statcast百分位数的球员报告和联赛历史。玩家的名字是可以点击的——点击任何名字都可以进入完整的玩家报告,其中包括游戏日志、职业统计数据、源链接新闻、高级指标和z-score排名。决策视图(豁免、流媒体、交易)显示上下文芯片(警告、新闻、所有权趋势)以及直接执行操作的操作按钮。
- 工作流工具 --11个聚合工具(
yahoo_morning_briefing,yahoo_game_day_manager,yahoo_trade_pipeline等等)每个捆绑5-7+API调用服务器端,这样代理就可以一次性获得所需的一切。一个完整的日常工作需要2-3次工具调用,而不是15次以上。
环境变量:
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
YAHOO_CONSUMER_KEY | 是 | -- | 雅虎应用消费者密钥(来自developer.Yahoo.com) |
YAHOO_CONSUMER_SECRET | 是 | -- | 雅虎应用消费者秘密 |
LEAGUE_ID | 是 | -- | 雅虎幻想联赛密钥(例如。, 469.l.16960) |
TEAM_ID | 是 | -- | 您的团队密钥(例如。, 469.l.16960.t.12) |
ENABLE_WRITE_OPS | 没有 | false | 启用写操作工具(添加、删除、交易、排列) |
MCP_TOOLSET | 没有 | default | 要加载的刀具配置文件: default (约26个工具), full (~50), draft-day, analysis, automation,或 all (123).逗号分隔单个工具集: core,trades,intel |
AGENT_AUTONOMY | 没有 | semi-auto | 代理自主级别: full-auto, semi-auto,或 manual |
ENABLE_HISTORY | 没有 | false | 启用联盟历史工具(8个工具,需要 config/league-history.json) |
ENABLE_PREVIEW | 没有 | false | 在以下位置启用应用程序预览仪表板 /preview |
WEBHOOK_TOKEN | 对于OpenClaw | -- | 承载令牌 /hooks/wake 和 /hooks/agent webhook端点 |
MCP_SERVER_URL | 对于Claude.ai | -- | 远程访问的公共HTTPS URL |
MCP_AUTH_PASSWORD | 对于Claude.ai | -- | OAuth登录页面的密码 |
游戏密钥在每个MLB赛季都会改变(例如。, 469 2026年)。跑 ./yf discover 自动查找您的联赛和球队ID。
可选配置文件:
config/league-history.json--历史记录中从年份到联赛密钥的地图config/draft-cheatsheet.json--战略和目标草案(见.example)data/player-rankings-YYYY.json--手工策划的玩家排名(估值引擎的后备)
项目文件:
baseclaw/
├── docker-compose.yml
├── Dockerfile
├── .env.example
├── yf # CLI helper script (with --json and api modes)
├── SKILL.md # ClawHub manifest (install metadata + overview)
├── AGENTS.md # Agent persona for autonomous GM
├── openclaw/ # OpenClaw integration package
│ ├── install.sh # OpenClaw workspace installer
│ ├── AGENTS.md # Agent operational framework
│ ├── SOUL.md # Agent persona and identity
│ ├── TOOLS.md # MCP tool conventions and profiles
│ ├── HEARTBEAT.md # Proactive check checklist
│ ├── MEMORY.md # Persistent memory template
│ ├── USER.md # User preferences
│ ├── config/
│ │ ├── openclaw.json # Gateway configuration template
│ │ └── mcporter.json # MCP server registration
│ ├── cron/
│ │ └── jobs.json # 8 scheduled cron jobs
│ ├── workflows/
│ │ ├── waiver-claim.lobster # Waiver claim pipeline with approval
│ │ ├── trade-proposal.lobster # Trade proposal pipeline with approval
│ │ ├── roster-cleanup.lobster # Roster cleanup pipeline with approval
│ │ └── morning-routine.lobster # Daily briefing + lineup
│ └── hooks/
│ ├── baseclaw-roster-alerts/ # Push notifications for injuries/trades
│ ├── baseclaw-memory-flush/ # Pre-compaction memory persistence
│ └── baseclaw-health/ # Gateway startup health check
├── config/
│ ├── yahoo_oauth.json # OAuth credentials + tokens (gitignored, auto-generated from env vars)
│ ├── yahoo_session.json # Browser session (gitignored, for write ops)
│ ├── auth-state.json # MCP OAuth tokens + client registrations (gitignored, auto-managed)
│ ├── league-history.json # Optional: historical league keys
│ └── draft-cheatsheet.json # Optional: draft strategy
├── data/
│ ├── player-rankings-YYYY.json # Optional: curated rankings
│ ├── projections_hitters.csv # Auto-fetched consensus projections (gitignored)
│ └── projections_pitchers.csv # Auto-fetched consensus projections (gitignored)
├── scripts/
│ ├── install.sh # One-command installer (curl | bash)
│ ├── api-server.py # Flask API server (~120 endpoints, workflow + strategy)
│ ├── yahoo-fantasy.py # League management
│ ├── season-manager.py # In-season management + strategy engine
│ ├── draft-assistant.py # Draft day tool
│ ├── yahoo_browser.py # Playwright browser automation
│ ├── history.py # Historical records
│ ├── intel.py # Fantasy intelligence (Statcast, splits, arsenal, caching)
│ ├── news.py # 16-source news aggregator (RSS, Reddit, Bluesky)
│ ├── prospects.py # Prospect intelligence (MiLB stats, call-up probability, stash advisor)
│ ├── prospect_news.py # Prospect news sentiment (signal classification, Bayesian updating)
│ ├── valuations.py # Z-score valuation engine (consensus, park factors, ROS tracking)
│ ├── snapshot.py # Weekly state snapshots (projections, roster, standings)
│ ├── backtest.py # Backtest replay engine (lineup efficiency vs actuals)
│ ├── mlb-data.py # MLB Stats API helper
│ ├── mlb_id_cache.py # Player name → MLB ID mapping
│ ├── shared.py # Shared utilities (team key detection, name normalization)
│ ├── setup-openclaw.sh # OpenClaw integration setup (mcporter + skill + cron)
│ └── remove-openclaw.sh # OpenClaw integration removal
└── mcp-apps/ # TypeScript MCP server + UI apps
├── server.ts # MCP server setup + tool registration
├── main.ts # Entry point (stdio + HTTP + webhooks)
├── assets/logo-128.png # Server icon (pixel-art baseball)
├── src/tools/ # 12 tool files, 129 MCP tools
├── src/webhooks.ts # Native webhook endpoints (/hooks/wake, /hooks/agent)
├── src/api/ # Python API client + type definitions
└── ui/ # 4 inline HTML apps, 75+ views (React + Plex UI + Recharts)CLI命令:
这 ./yf 助手脚本提供对所有功能的直接CLI访问:
./yf [args]
./yf --json [args] # JSON output mode for programmatic use
./yf api [params] # Direct API calls (e.g., yf api /api/rankings)
./yf api-list # List all available API endpoints| 类别 | 命令 | ||
|---|---|---|---|
| 设置 | discover | ||
| 联盟 | info, standings, roster, fa B/P [n], search , add , drop , swap , matchups [week], scoreboard, transactions [type] [n], stat-categories, player-stats [period] [week], waivers, taken-players [position], roster-history [--week N] [--date YYYY-MM-DD] | ||
| 草稿 | status, recommend, watch [sec], cheatsheet, `best-available [B\ | P] [n]` | |
| 估值 | `rankings [B\ | P] [n], compare , value , import-csv , generate` | |
| 时令的 | lineup-optimize [--apply], category-check, injury-report, `waiver-analyze [B\ | P] [n], streaming [week], trade-eval , daily-update, roster-stats [--period season\ | week] [--week N]` |
| 分析 | snapshot [week], backtest --year YYYY --weeks N-M [--verbose] [--json] | ||
| 美国职业棒球大联盟 | mlb teams, mlb roster , mlb stats , mlb schedule, mlb injuries | ||
| 浏览器 | browser-login, browser-status, browser-test, change-team-name , `change-team-logo | ||
| ` | |||
| API | api [key=val], api-list | ||
| 码头工人 | build, restart, shell, logs |
All tools reference
12个工具文件中的130个工具。默认配置文件加载约26个工具;集 MCP_TOOLSET 要加载更多内容(请参阅env-vars)。核心仪表板和操作工具(20)在Claude中呈现交互式UI;其余部分返回文本。
名册管理 (16个工具)
| 工具 | 说明 |
|---|---|
yahoo_roster | 显示当前的幻想名单,包括职位和资格 |
yahoo_free_agents | 列出顶级自由球员(击球手或投手) |
yahoo_player_list | 浏览带有位置过滤器、统计数据和丰富功能的完整玩家列表 |
yahoo_search | 在自由球员中按名字搜索球员 |
yahoo_who_owns | 通过玩家ID检查谁拥有特定玩家 |
yahoo_percent_owned | 雅虎特定玩家的所有权百分比 |
yahoo_add | 在你的名单上增加一名自由球员 |
yahoo_drop | 从你的名单中删除一名球员 |
yahoo_swap | 原子添加+删除:添加一个玩家并删除另一个玩家 |
yahoo_waiver_claim | 提交豁免索赔,包括可选的FAAB出价和可选的放弃 |
yahoo_browser_status | 检查用于写入操作的浏览器会话是否有效 |
yahoo_change_team_name | 更改您的幻想团队名称 |
yahoo_change_team_logo | 更改您的梦幻团队徽标(PNG/JPG图像) |
yahoo_player_stats | 任何时期(赛季、周、日期、过去7/14/30天)的玩家幻想统计数据 |
yahoo_waivers | 目前处于豁免状态的球员(在索赔期内,尚未成为自由球员) |
yahoo_all_rostered | 联盟中所有拥有球队所有权的球员 |
联赛与排名 (11个工具)
| 工具 | 说明 |
|---|---|
yahoo_league_context | 紧凑型联赛概况:弃权类型、得分格式、统计类别、阵容位置、FAAB余额。会话开始时呼叫一次 |
yahoo_standings | 联赛排名,包括赛季类别统计数据、位置优势和季后赛种子 |
yahoo_matchups | 每周H2H配对 |
yahoo_my_matchup | 详细的H2H匹配,包括每个类别的比较、剩余游戏和现场游戏计数 |
yahoo_redzone | 实时比赛记分牌:每个球员的每周统计数据、剩余比赛、确认的MLB首发球员和新球员笔记 |
yahoo_transactions | 最近的联赛交易(添加、删除、交易) |
yahoo_transaction_trends | 雅虎上添加和删除最多的玩家 |
yahoo_league_pulse | 联赛活动——每支球队的移动和交易 |
yahoo_league_intel | 全面的联赛情报:多层实力排名(调整后的z分数混合预测+统计质量+回归信号+排名和质量排名的冷热趋势),所有球队的前30名球员都有质量/回归标志,球队概况有类别优势/劣势和交易适合性分析,对有隐藏价值的球队进行z向上检测 |
yahoo_power_rankings | 按调整后的z分数综合(预测+统计+回归+趋势+排名)排名的球队。使用 yahoo_league_intel 查看全貌 |
yahoo_positional_ranks | 所有团队的职位排名,包括成绩和贸易伙伴推荐 |
yahoo_league_snapshot | 一次通话即可获得完整的联赛快照:排名+所有20个得分类别的赛季统计数据+位置排名+所有12支球队的贸易伙伴 |
yahoo_season_pace | 预计赛季节奏、季后赛概率和神奇数字 |
季内管理 (27工具)
| 工具 | 说明 |
|---|---|
yahoo_lineup_optimize | 通过ILP求解器优化每日阵容(具有贪婪回退的全局最优玩家到老虎机分配) |
yahoo_category_check | 你在每个统计类别与联盟中的排名 |
yahoo_injury_report | 检查受伤球员的名单,并建议IL的行动 |
yahoo_streaming | 多因素流媒体投手得分:投手质量(SIERA,K-BB%)、公园因素、对手质量、两次首发奖金、填充物+质量、对手旅行疲劳。格式感知(roto中的保守) |
yahoo_scout_opponent | 侦察当前对决对手——优势、劣势、应对策略 |
yahoo_matchup_strategy | 基于波动性的类别分类(赢/输/输-UP),并给出每个类别的行动建议 |
yahoo_set_lineup | 将特定玩家移动到特定位置 |
yahoo_pending_trades | 查看所有待处理的进出口贸易提案 |
yahoo_propose_trade | 向另一个团队提出交易建议 |
yahoo_accept_trade | 接受待处理交易 |
yahoo_reject_trade | 拒绝待处理交易 |
yahoo_whats_new | 伤病摘要、未决交易、联赛活动、趋势回升、潜在客户征召 |
yahoo_week_planner | 每日比赛网格,为您的阵容提供热图(休息日,两名先发投手) |
yahoo_closer_monitor | 监控更近的情况——你的闭门器、可用的闭门器,拯救领导者 |
yahoo_pitcher_matchup | 根据对手的击球数据,为你的SP投球匹配质量 |
yahoo_roster_stats | 你名单上的每位球员统计数据(赛季总数或特定周) |
yahoo_faab_recommend | Kelly准则FAAB竞价:贝叶斯模型后验方差的半Kelly、所有权百分比的竞争阴影、类别稀缺奖金、季节阶段乘数、竞争者检测 |
yahoo_ownership_trends | season.db中的所有权趋势数据——随着您使用豁免/趋势工具而累积 |
yahoo_category_trends | 使用Recharts折线图可视化显示随时间变化的类别排名趋势 |
yahoo_punt_advisor | 研究支持带有类别相关性警告的下注可行性评级(下注/不下注、风险水平、推理)。格式感知(roto中禁用投注) |
yahoo_il_stash_advisor | 将伤病时间表与季后赛时间表和球员优势进行交叉参考 |
yahoo_optimal_moves | 多移动优化器——最佳的添加/删除顺序,以最大限度地提高净排班z分数 |
yahoo_playoff_planner | 计算与季后赛门槛的类别差距,并推荐具体动作 |
yahoo_trash_talk | 根据比赛背景生成适合联赛的玩笑 |
yahoo_rival_history | 与每位经理的正面交锋记录(本赛季,或有联赛历史的历史记录.json) |
yahoo_achievements | 追踪里程碑——最佳ERA周、最长连胜、最多动作 |
yahoo_weekly_narrative | 自动生成的每周回顾,带有类别分析和季节故事弧 |
估值 (7工具)
| 工具 | 说明 |
|---|---|
yahoo_rankings | 按z-score值排名的顶级玩家(共识预测,公园调整) |
yahoo_compare | 用z-score细分并排比较两名球员 |
yahoo_value | 玩家在所有类别中的完整z分数细分 |
yahoo_projections_update | 来自FanGraphs的强制刷新预测(共识、蒸笼、zip或fangraphsdc) |
yahoo_zscore_shifts | 自选秀日以来z值变化最大的球员(上升/下降) |
yahoo_projection_disagreements | 投影系统最不一致的球员——起草卧铺/胸脯信号 |
fantasy_projection_confidence | 每个统计的贝叶斯混合比——显示预测百分比与实际百分比权重、后验方差、置信水平以及实际值占主导地位的天数。帮助评估在多大程度上信任当前的交易、豁免和阵容决策预测 |
智能 (11个工具)
| 工具 | 说明 |
|---|---|
fantasy_player_report | 深潜Statcast雷达图+SIERA(预期ERA)+车队拆分+武器库+蝙蝠跟踪+趋势+Reddit嗡嗡声 |
fantasy_reddit_buzz | r/fantasybaseball在谈论什么——热门帖子、热门话题 |
fantasy_trending_players | Reddit上人气不断上升的玩家 |
fantasy_prospect_watch | 最近美国职业棒球大联盟的潜在球员征召和阵容变动 |
fantasy_transactions | 最近与幻想相关的MLB交易(IL、征召、DFA、交易) |
yahoo_statcast_history | 比较玩家的Statcast个人资料现在与30/60天前 |
yahoo_player_intel | 全面的定性情报简报——新闻、受伤严重程度、热/冷条纹、角色变化、Reddit热门话题、所有权趋势和Statcast质量等级在一份格式化报告中 |
fantasy_news_feed | 来自16个来源的实时新闻(ESPN、FanGraphs、CBS、雅虎、MLB.com、RotoWire、投手名单、Razzball、谷歌新闻、RotoBaller、Reddit、5个Bluesky分析师提要)——按来源或玩家过滤 |
fantasy_bat_tracking_breakouts | 棒球Savant击球追踪数据显示,击球速度、快速挥杆率和平方率都有所提高。在传统统计数据反映改善前几周,与z分数进行交叉引用,以找到购买低突破性候选人 |
fantasy_pitch_mix_breakouts | 投手做出了重大改变——使用率变化>=10%,速度变化>=1.5英里/小时,增加了新的投球。与有效性指标(嗅探率、运行值)和z分数交叉参考,按突破信号强度进行排名 |
fantasy_statcast_leaders | 美国职业棒球大联盟Statcast排行榜,涵盖所有高级指标,如退出速度、桶数百分比、xwOBA、xBA、xSLG、重击百分比、冲刺速度、击球速度、挥杆长度、平方率、爆发百分比。支持常用别名(“ev”、“speed”、“barrel”) |
前景情报 (11个工具)
| 工具 | 说明 |
|---|---|
fantasy_prospect_report | 使用MiLB统计数据、侦察评估、征召概率和藏匿建议进行深入的前景分析 |
fantasy_prospect_rankings | 按综合得分和征召概率排名的顶级潜在客户。按职位、级别或团队筛选 |
fantasy_callup_wire | 最近美国职业棒球大联盟的征召,包括幻想影响分析——潜在客户排名、创造的机会 |
fantasy_stash_advisor | 基于征召概率和联赛背景的NA藏匿建议 |
fantasy_prospect_compare | 并排的潜在客户比较——统计数据、成绩、征召概率和评估 |
fantasy_prospect_buzz | Reddit潜在客户热门话题和讨论跟踪器——潜在客户帖子和提及的趋势 |
fantasy_eta_tracker | 跟踪观察名单潜在客户的征召概率变化——标记重大变动 |
fantasy_prospect_trade_targets | 联盟特定的潜在交易目标——确定其他值得收购的球队的潜在客户 |
fantasy_prospect_watch_add | 在您的ETA观察列表中添加或删除潜在客户,以跟踪召唤概率的变化 |
fantasy_prospect_news | 为潜在客户提供定性新闻情报——汇总前台报价、击败记者的情报、来自16个来源的名单决定。基于贝叶斯概率更新的信号分类 |
分析与战略 (4个工具)
| 工具 | 说明 |
|---|---|
fantasy_probable_pitchers | 即将到来的比赛的可能投手 |
fantasy_schedule_analysis | 基于时间表的流媒体和阵容规划分析 |
fantasy_regression_candidates | 研究校准回归评分(-100至+100):6个击球手信号(xwOBA、BABIP、HR/FB与桶、板纪律、重拳发散、冲刺速度)和8个投手信号(ERA与SIERA、K-BB%与ERA、xERA、K率调整后的BABIP、LOB%、HR/FB%、速度趋势、Stuff+置信度修正)。每个玩家都会得到一个综合得分、方向、置信度和每个信号的细分 |
fantasy_travel_fatigue | 基于时区变化、日程密度和昼夜模式的美国职业棒球大联盟球队的旅行疲劳评分。基于同行评审的PNAS研究(46535场比赛)。用于流媒体决策(针对疲劳的对手)和阵容优化 |
MLB数据 (9个工具)
| 工具 | 说明 |
|---|---|
mlb_teams | 列出所有MLB球队的缩写 |
mlb_roster | 美国职业棒球大联盟球队名单缩写(NYY、LAD等) |
mlb_player | 美国职棒大联盟球员信息统计API球员ID |
mlb_stats | API球员ID统计的球员赛季统计数据 |
mlb_injuries | 目前所有球队的MLB伤病情况 |
mlb_standings | MLB分区排名 |
mlb_schedule | MLB比赛时间表(今天或特定日期) |
mlb_draft | 美国职业棒球大联盟每年的选秀权 |
yahoo_weather | MLB比赛信息中的实时天气(温度、风、状况)和风险评估 |
联盟历史 (8个工具,需要 ENABLE_HISTORY=true)
| 工具 | 说明 |
|---|---|
yahoo_league_history | 赛季所有时间的成绩,包括终点位置图——冠军、你的终点、W-L-T记录 |
yahoo_record_book | 有柱状图的所有时间记录——职业生涯W-L、最佳赛季、季后赛出场次数、第一选秀权 |
yahoo_past_standings | 上个赛季的完整排名,包括输赢叠加柱状图 |
yahoo_past_draft | 上赛季带有球员名字的选秀权 |
yahoo_past_teams | 上个赛季的球队名称、经理、转会/交易计数 |
yahoo_past_trades | 上个赛季的交易历史 |
yahoo_past_matchup | 上一季特定一周的配对结果 |
yahoo_roster_history | 查看过去一周或特定日期的任何球队名单 |
工作流 (11个工具)
捆绑5-7+API调用服务器端的聚合工具,使代理在一次拍摄中获得完整的画面。
| 工具 | 说明 |
|---|---|
yahoo_morning_briefing | 每日简报:伤病、阵容问题、比赛得分、类别策略、联赛活动、对手动作和弃权目标——取代7+个人工具调用 |
yahoo_league_landscape | 联盟情报:排名、季后赛预测、阵容实力、主教练活动、交易、比赛结果和交易机会 |
yahoo_roster_health_check | 名册审计:活跃老虎机中受伤的球员、IL中健康的球员、破产候选人、非工作日首发球员——按严重程度排名 |
yahoo_waiver_recommendations | 针对弱势类别的最佳豁免选择,包括建议的下降和预计的类别影响 |
yahoo_auto_lineup | 自动优化阵容:替补日球员、首发活跃替补球员、旗手受伤先发球员(写操作) |
yahoo_trade_analysis | 剩余价值交易分析:名册现货税、类别匹配奖金、整合溢价、捕手稀缺、竞争对手警告。A+/F字母评分,并完整细分 |
yahoo_game_day_manager | 赛前准备:日程安排、天气风险、伤病检查、阵容优化、流媒体推荐和确认的MLB首发阵容 |
yahoo_waiver_deadline_prep | 基于FAAB投标建议和模拟类别影响的截止日期前豁免分析 |
yahoo_trade_pipeline | 端到端贸易搜索:互补合作伙伴、套餐价值、类别影响和分级提案 |
yahoo_weekly_digest | 周末总结:比赛结果、排名、交易、成就和散文叙述 |
yahoo_season_checkpoint | 月度评估:排名、季后赛概率、类别轨迹、投注策略和交易目标 |
元 (2个工具)
| 工具 | 说明 |
|---|---|
discover_capabilities | 浏览可用的工具类别并查找特定任务的工具。无参数调用可查看所有类别,或使用类别名称列出其工具 |
get_tool_details | 按名称获取任何工具的完整描述和参数,包括当前工具集配置文件中未加载的工具 |
写入操作 (12个工具,需要 ENABLE_WRITE_OPS=true)
yahoo_add, yahoo_drop, yahoo_swap, yahoo_waiver_claim, yahoo_set_lineup, yahoo_propose_trade, yahoo_accept_trade, yahoo_reject_trade, yahoo_browser_status, yahoo_change_team_name, yahoo_change_team_logo, yahoo_auto_lineup
Comparison with alternatives
| BaseClaw | 弗拉姆 | 雅虎梦幻棒球mcp | 手册 | ||
|---|---|---|---|---|---|
| 工具 | 130 | ~30 | ~15 | 0 | |
| Yahoo Fantasy API | 完整阅读+浏览器写入 | 只读 | 只读 | 网站 | |
| Statcast/Savant | 内置(xwOBA、Stuff+、桶率、蝙蝠跟踪、百分位数) | 否 | 否 | 单独查找 | |
| Z-score估值 | 基于共识预测、公园因子、衰减曲线的FVARz | 基本排名 | 否 | 电子表格 | |
| 交易分析 | 剩余价值、类别匹配、对手封锁、字母等级 | 基本比较 | 否 | 直觉 | |
| 前景情报 | MiLB统计数据+侦察+来自16个新闻来源的贝叶斯调用概率 | 否 | 否 | 手动研究 | |
| 回归引擎 | 14信号研究校准评分(-100至+100) | 否 | 否 | 视力测试 | |
| 内联UI | 20个React应用程序,75+视图(图表、雷达、热图) | 纯文本 | 纯文本 | N/A | |
| 代理自动化 | 完整的cron计划,3个自治级别,11个工作流工具 | 否 | 否 | 不适用 | |
| 排队优化器 | 带贪婪回退的ILP求解器(scipy) | 否 | 否 | 手动 | |
| 新闻聚合 | 16个来源(ESPN、FanGraphs、Reddit、Bluesky等) | 否 | 否 | 手册 | |
| 安装程序 | `curl \ | bash` (10分钟) | 手动 | 手动 | 不适用 |
写入操作(可选)
让克劳德进行阵容移动(添加、删除、交易、设置阵容),设置 ENABLE_WRITE_OPS=true 在 .env,重建 docker compose up -d,并设置浏览器会话:
./yf browser-login在打开的浏览器中登录雅虎。会话保存到 config/yahoo_session.json 持续2-4周。当 ENABLE_WRITE_OPS=false (默认),所有12个写入工具都完全隐藏。
卸载
curl -fsSL https://raw.githubusercontent.com/jweingardt12/baseclaw/main/scripts/install.sh | bash -s -- --uninstall