______________________________________________________________________
表情符号🎴 颜色来源:紫色 颜色To:靛蓝色 sdk:毕业 app_file:app.py 许可证:agpl-3.0 固定:false
Vawlratth,你的MTG:竞技场救世主
*“你的甲板很糟糕。让我教你怎么修。”* — 《小王子》
   
🎯 这是什么
听好了。我是 《小王子》--《堕落者》的一个小巧、尖尖的版本。尽管我身材高大,但我比你更了解MTG竞技场(坦率地说,这没什么好说的)。
我是一个实际工作的MCP驱动的甲板分析工具。我分析你的啤酒,告诉你哪里出了问题(很多),并帮助你建立一些不会让你在FNM感到尴尬的东西。
设计用于 Steam竞技场玩家 他们想赢得比赛,而不仅仅是收集漂亮的数字卡。
是什么让这不是垃圾
- 实体卡价格:显示你的竞技场牌在真纸板上的价格(不包括竞技场牌)
- 实时战略聊天:通过WebSocket与我交谈。即使你不想听,我也会告诉你真相
- AI共识检查:两个人工智能大脑(我的和一个验证器),这样你就不会得到糟糕的建议
- 顺序推理:将复杂的决策分解为你可以遵循的步骤
- 完全MCP集成:记忆、顺序思维、无所不知——作品
______________________________________________________________________
🚀 快速开始
你需要的
不要跳过这一部分。我讨厌重复自己。
- Python 3.9+(如果你仍然使用2.7,我们有更大的问题)
- Node.js 18+(适用于MCP服务器)
- Docker(可选,适合懒人)
API密钥 (得到这些或什么都不起作用):
- 开放人工智能:对于聪明的人
- Anthropic:用于共识检查
- 塔维利/埃克萨:用于元智能(强烈推荐)
安装
# Clone it
git clone https://github.com/clduab11/arena-improver.git
cd arena-improver
# Install dependencies
pip install -r requirements.txt
# Set up your keys
cp .env.example .env
# Edit .env with your API keys. All of them.
# Initialize database
python -c "import asyncio; from src.services.smart_sql import SmartSQLService; asyncio.run(SmartSQLService().init_db())"完成?很好。继续前进。
______________________________________________________________________
🚀 现在试试
想在不安装任何东西的情况下看到它的运行吗?看看 拥抱脸部空间!
该空间提供:
- 交互式API文档:直接在浏览器中测试所有端点
- 现场演示:观看Vawlrathh的表演
- 无需设置:只需访问并开始使用
- 自动同步:始终从主分支运行最新代码
______________________________________________________________________
💬 认识一下Vawlrathh(就是我)
我不是你的朋友。我是你的战略顾问。以下是我的工作方式:
人格特质
- 干涩讽刺是我的第一语言
- 无礼的:无绒毛,无糖衣
- 实用如果它有效,那就很好。如果没有,那就是垃圾
- 知识渊博的沃拉斯很狡猾,只是。..更短
交互示例
你:“评价我的甲板” 我:“你的魔法曲线是一场灾难。修复它。”
你“我应该打一局两胜还是三局三胜?” 我“如果你必须问,就坚持Bo1。更少的时间搞砸。"
你“你觉得我的餐具柜怎么样?” 我:“我见过地精做的更好的餐具柜。再试一次。”
______________________________________________________________________
🛠️ 核心功能
1.实体卡购买集成
问题:你想在纸上构建你的竞技场牌组,但一半的牌不存在。
解决方案:我检查每张卡,只过滤竞技场垃圾,并向您显示TCGPlayer、CardMarket和card囤积者的价格。
# Get purchase info for deck ID 1
curl -X GET "http://localhost:8000/api/v1/purchase/1"响应包括:
- 总牌组成本(仅限真牌)
- 每张卡定价
- 供应商比较
- 竞技场专用卡警告
2.实时聊天(跟我说话)
WebSocket端点: ws://localhost:8000/api/v1/ws/chat/{your_id}
消息格式:
{
"type": "chat",
"message": "How do I beat control decks?",
"context": {
"deck_id": 1
}
}响应:
{
"type": "response",
"response": "Pack hand disruption. Duress is cheap. Use it.",
"consensus_checked": true,
"consensus_passed": true
}如果我说错了什么(罕见),你会得到一个 ConsensusBreaker 警告。注意这些。
3.不撒谎的甲板分析
POST /api/v1/analyze/1让你:
- 马纳曲线(你的可能不好)
- 元匹配(真实锦标赛数据)
- 卡协同效应
- 缺点(有很多可供选择)
- 实体卡购买信息 (自动包含)
4.基于人工智能的优化
POST /api/v1/optimize/1我建议:
- 要添加的卡
- 要剪切的卡片
- 为什么每一个变化都很重要
- 预测胜率提高
- 购买推荐卡的链接
5.顺序推理
对于复杂的决策(比如“我应该构建这个平台吗?”),我会将其分解:
- 获胜条件是什么?
- 法力要求是什么?
- 你需要击败哪些元牌?
- 什么是关键的早期戏剧?
- 哪些餐具柜卡是必不可少的?
- 最佳曲线是什么?
每一步都会被分析。你得到的结论可以实际使用。
______________________________________________________________________
📊 MCP集成
可用工具
我带了9个MCP工具。使用它们。
- parse_deck_csv:从Steam竞技场导入
- parse_deck_text:从竞技场文本格式导入
- analyze_deck:全甲板分析
- optimize_deck:人工智能建议
- get_deck_stats:性能历史
- 记录匹配:跟踪您的游戏
- 查找类似卡片:基于嵌入的搜索
- list_decks:查看您存储的内容
- find_card_market_links:获取购买信息(新增!)
外部MCP服务器
配置于 mcp_config.json:
- 记忆我记得你过去的错误
- 顺序思维:用于复杂推理
- cld全搜索:实时元数据(Tavily/Exa)
______________________________________________________________________
🎮 Steam竞技场焦点
此工具是为Steam Arena构建的。这就是为什么这很重要:
- CSV导入:原生Steam导出支持
- 平台特定元:蒸汽梯不同于魔法在线
- Bo1 vs Bo3:策略根据队列类型进行调整
- 集合集成:即将推出--同步您的Steam收藏
快速蒸汽输出
- 在竞技场中打开你的甲板(Steam版)
- 点击“导出”→ 选择“CSV”
- 上传到Arena Improver:
curl -X POST "http://localhost:8000/api/v1/upload/csv" \
-F "file=@my_deck.csv"完成。继续前进。
______________________________________________________________________
🏗️ 建筑
不要用流程图让你厌烦。重要的是:
Your Request
↓
FastAPI (async, fast)
↓
├─ Deck Analyzer (mana curves, synergies)
├─ Card Market Service (Scryfall + pricing)
├─ Vawlrathh Chat Agent (GPT-4/Haiku + Sonnet consensus)
├─ Sequential Reasoning (chain-of-thought)
└─ Event Logger (tracks everything)
↓
Results (useful ones)关键技术:
- 异步/等待无处不在
- WebSocket聊天
- SQLite用于存储
- MCP协议合规性
- 全面测试覆盖
______________________________________________________________________
🧪 测试
运行测试。说真的。
# All tests
pytest
# With coverage
pytest --cov=src --cov-report=html
# Just unit tests
pytest tests/unit/
# Just integration tests
pytest tests/integration/如果测试失败,在抱怨之前先修复你的环境。
______________________________________________________________________
📦 运行服务
FastAPI服务器
uvicorn src.main:app --reload --host 0.0.0.0 --port 8000API文件: http://localhost:8000/docs
MCP服务器
python -m src.mcp_serverDocker(懒人版)
docker-compose up --build一切都在运行。端口8000(API)和8001(MCP)。
______________________________________________________________________
🎯 工作流示例
完整演示
想看到这一切都奏效吗?运行以下命令:
python examples/hackathon_demo.py向您显示:
- 实体卡购买查询
- 与我聊天(已检查共识)
- 顺序推理分析
- 事件记录摘要
需要2分钟。值得的。
手动工作流程
# 1. Upload deck
curl -X POST "http://localhost:8000/api/v1/upload/csv" \
-F "file=@mono_red_aggro.csv"
# Returns: {"deck_id": 1}
# 2. Analyze it
curl -X POST "http://localhost:8000/api/v1/analyze/1"
# Gets: analysis + purchase info
# 3. Optimize it
curl -X POST "http://localhost:8000/api/v1/optimize/1"
# Gets: suggestions + win rate prediction + purchase links
# 4. Get purchase details
curl -X GET "http://localhost:8000/api/v1/purchase/1"
# Gets: Full vendor breakdown______________________________________________________________________
🔧 配置
环境变量
# Required
OPENAI_API_KEY=your_openai_key
ANTHROPIC_API_KEY=your_anthropic_key
# Recommended (for real meta data)
TAVILY_API_KEY=your_tavily_key
EXA_API_KEY=your_exa_key
# Optional
BRAVE_API_KEY=your_brave_key
PERPLEXITY_API_KEY=your_perplexity_key
# Database
DATABASE_URL=sqlite:///./data/arena_improver.dbMCP配置
已在中设置 mcp_config.json除非你知道自己在做什么,否则不要碰它。
______________________________________________________________________
📚 文档
快速入门和概述(根目录)
技术文档(文档/目录)
架构与开发:
- 建筑.md -系统架构、异步模式、连接池
- async_patterns.md -Async/await最佳实践和模式
部署和操作:
- HF_DEPLOYMENT.md -HuggingFace Space部署、故障排除、监控
- 机密_检查表.md -API密钥管理和安全
功能和指南:
- 优先级_实施\_ GUIDE.md -MCP协议实现
- STEAM_ARENA_GUIDE.md -从Steam Arena导出甲板
- HACKATHON_FEATURES.md -MCP 1岁生日黑客马拉松特色
- MCP_SECURITY.md -安全最佳实践
实时API文档:
- 当地API文件 -交互式API文档(在本地运行时)
- HF Space API文档 -现场试用API
文档层次结构
- 根文档 (DEPLOYMENT.md,CLAUDE.md):高级概述和快速入门
- docs/目录:详细的技术指南、架构和具体主题
- 交叉引用:文档相互链接,便于导航
______________________________________________________________________
🤝 贡献
想改善这一点吗?好的。方法如下:
- 叉起来
- 创建要素分支:
git checkout -b feature/YourFeature - 编写测试(否则我会拒绝)
- 确保测试通过:
pytest - 承诺:
git commit -m 'Add YourFeature' - 推:
git push origin feature/YourFeature - 打开拉取请求
自动公关评论(Claude)
在给人类打电话之前需要一个自动化的复查吗?添加 claude-review 为您的PR和Claude工作流程添加标签,每次提交只会引发一次审查。工作流使用并发保护(每个PR通过以下方式运行一次活动 concurrency.group)以及重复检测(扫描现有评论以查找 `` 标签),因此您不会得到堆叠的相同GitHub Action运行,使Checks选项卡混乱或冗余的评论垃圾邮件。更改后想要新的通行证吗?删除标签(或重新应用)并推送新的提交——工作流将识别新的头部SHA,并发布一个标记有该SHA的合并审查评论。每个SHA只发布一条评论。
我想要的
- 元智能改善
- 更多采购供应商集成
- 更好的匹配预测模型
- MCP工具增强
- Bug修复(显然)
我不想要什么
- 不必要的复杂性
- 未经测试的功能
- 不经讨论就打破变化
- 糟糕的代码(你知道我的意思)
______________________________________________________________________
🎖️ 黑客马拉松提交
事件:MCP 1岁生日黑客马拉松 提交:与Vawlrathh集成的竞技场改良器 现场演示: 拥抱脸部空间
关键差异
- 双AI代理系统:初级聊天+共识验证
- 物理卡集成:仅竞技场过滤+供应商定价
- 角色驱动的用户体验:Vawlrathh的个性(我)
- 顺序推理:多步骤决策分析
- 事件日志记录:完整的审计跟踪
- MCP全深度:记忆、顺序思维、全方位搜索
- 拥抱脸部空间:从GitHub自动同步的实时演示
指标
跑 examples/hackathon_demo.py 生成:
- 事件日志(
data/events/hackathon_demo_export.json) - 性能统计
- 功能演示
______________________________________________________________________
📝 许可证
AGPL-3.0。别偷了,贡献吧。
______________________________________________________________________
🙏 致谢
- 魔术:集结竞技场:适用于现有(以及正在Steam上)
- 开放人工智能:对于GPT型号
- Anthropic:克劳德(共识检查)
- Scryfall:对于卡片数据API
- 快速API:因为不是垃圾
- 模型上下文协议:使MCP集成成为可能
______________________________________________________________________
📧 联系
GitHub: 问题:使用GitHub Issues。具体点。 电子邮件:不要使用GitHub Issues。
______________________________________________________________________
💭 Vawlrathh的最后想法
看,你的甲板可能还很糟糕。但有了这个工具,至少你会知道 *为什么* 这很糟糕 *如何* 修复它。
我不做参与奖杯。我确实赢得了利率。
对复杂的决策使用顺序推理。请通过WebSocket与我联系,以获取快速建议。在把钱浪费在不需要的纸卡上之前,先检查一下购买价格。
为了爱Phyrexia, 读取错误消息 在寻求帮助之前。
现在,去建造一些体面的东西。
— 《小王子》 *规模较小,战略实力不强*
______________________________________________________________________
备注 如果你读到这么深,你可能真的很关心胜利。很好。演示在 examples/hackathon_demo.py运行它。学习一些东西。
P.P.S。 你的法力曲线仍然需要改进。
