返回 Skill 列表
extension
分类: 数据与分析无需 API Key

steam价格追踪助手

Steam 游戏价格追踪助手。当用户提到 Steam 游戏、游戏价格、游戏促销、Steam 打折、游戏降价、关注游戏、游戏购买建议、夏季促销、冬季促销等关键词时触发。支持搜索并关注 Steam 游戏、自动追踪价格变化与促销力度、生成价格折线图仪表盘、基于促销日历给出购买建议、跨平台高评分降价游戏推荐、系统日历每日价格提醒。

person作者: user_afdbcfc9hubcommunity

Steam Game Assistant

Overview

Steam 游戏价格追踪助手,帮助用户追踪关注的 Steam 游戏价格变化,以折线图可视化呈现促销力度,结合 Steam 促销日历给出购买建议,并支持系统日历每日提醒。

安全合规红线(严禁违反)

本 Skill 严格遵守以下红线,任何修改都不得突破这些限制。

  1. 严禁自动化登录 — 不得以任何方式自动登录 Steam 账号。不得收集、存储、传输用户的 Steam 账号名或密码。不得模拟浏览器会话(session/cookie)以绕过登录。
  2. 严禁自动化购买 — 不得自动添加购物车、自动下单、自动支付或模拟任何购买流程。购买建议仅作为信息参考,所有购买行为必须由用户在 Steam 官方平台上手动完成。
  3. 只使用公开数据 — 仅使用无需登录即可访问的 Steam 公开 API(storesearch、appdetails、featuredcategories、公开心愿单)。不得爬取非公开页面,不得绕过 Steam 的访问控制。
  4. 尊重 Steam 服务条款 — 本工具仅提供价格信息展示和提醒功能,不替代 Steam 商店的任何功能。所有数据版权归 Valve Corporation 所有。
  5. 用户隐私保护 — 用户的 Steam ID 仅用于读取公开心愿单,不上传至任何第三方服务器,不与任何外部服务共享。

允许的行为:读取公开价格数据、展示价格趋势、生成购买建议(文字参考)、日历提醒。 禁止的行为:登录、加购、下单、支付、模拟浏览器操作、抓取非公开数据。

Quick Start

当用户表达"我想关注 XXX 游戏的价格"或类似需求时,按以下流程操作:

0. 心愿单一键导入(推荐优先使用)

如果用户想一次性导入所有关注的游戏,或提到"心愿单"/"wishlist":

# 导入用户 Steam 心愿单中的所有游戏
python scripts/steam_tracker.py wishlist "<Steam ID 或个人主页URL>"

此命令会:获取用户 Steam 心愿单 → 自动添加所有游戏到关注列表 → 抓取每个游戏的价格 → 生成仪表盘。 导入后自动开启心愿单自动同步(每次 update 时自动检查并导入心愿单中的新游戏)。

获取 Steam ID 的方式

  • 打开 Steam 客户端 → 点击头像 → 查看个人资料 → 复制浏览器 URL
  • URL 格式:https://steamcommunity.com/id/用户名/https://steamcommunity.com/profiles/17位数字/
  • 也可以直接输入 17 位 SteamID64

注意:用户的 Steam 心愿单必须设为公开(Steam > 设置 > 隐私 > "我的心愿单" = 公开)

1. 搜索并添加游戏

python scripts/steam_tracker.py search "游戏名称"
python scripts/steam_tracker.py add "游戏名称"

搜索会返回匹配的 Steam 游戏列表(含 appid、名称、价格)。确认后用 add 添加到关注列表。

2. 更新价格并生成仪表盘

python scripts/steam_tracker.py update

此命令会:抓取所有关注游戏的最新价格与促销信息 → 记录到价格历史 → 生成 HTML 仪表盘。

生成的仪表盘保存在 ~/.workbuddy/steam-assistant/dashboard.html,用 present_files 展示给用户。

2.5. 启动本地服务器(推荐,搜索功能需要)

重要:仪表盘内的搜索、添加游戏、心愿单导入功能需要本地服务器运行才能正常工作。 直接用 file:// 打开 HTML 文件时,浏览器 CORS 策略会阻止调用 Steam API,导致搜索失败。

# 在后台启动本地服务器
python scripts/steam_tracker.py serve

服务器启动后,用 present_files 展示 http://127.0.0.1:18023 链接给用户。 用户在浏览器中打开此链接后,可以在仪表盘内直接搜索、添加、移除游戏,无需复制命令到对话中。

何时使用 serve 而非 update

  • 首次展示仪表盘时,优先用 serve 启动服务器再展示链接
  • 用户需要在仪表盘内搜索/添加游戏时,用 serve
  • 仅需要查看已有数据时,可以用 update 生成静态 HTML 后 present_files

3. 设置日历提醒(可选,需询问用户)

python calendar_reminder.py create --morning 08:00 --evening 20:00

重要:必须在用户明确同意后才设置日历提醒,避免骚扰。


Core Capabilities

1. 游戏搜索与关注管理

| 命令 | 说明 | |------|------| | search <名称> | 搜索 Steam 游戏,返回 appid、名称、当前价格 | | add <名称或appid> | 添加游戏到关注列表 | | remove <名称> | 从关注列表移除游戏 | | list | 列出所有关注的游戏 | | wishlist <ID/URL> | 一键导入用户 Steam 心愿单中的所有游戏 | | wishlist sync | 开启心愿单自动同步(每次 update 自动导入新游戏) | | serve [port] | 启动本地 HTTP 服务器(默认端口 18023),支持仪表盘内搜索/添加/导入 | | status | 显示关注游戏状态、近期促销、即将到来的 Steam 活动 |

# 示例
python scripts/steam_tracker.py search "Elden Ring"
python scripts/steam_tracker.py add "Elden Ring"
python scripts/steam_tracker.py list
python scripts/steam_tracker.py status

2. 价格追踪与仪表盘

# 抓取最新价格 + 生成仪表盘
python scripts/steam_tracker.py update

# 仅从已有数据生成仪表盘(不联网)
python scripts/steam_tracker.py dashboard --output /path/to/output.html

仪表盘功能

  • 左侧栏:关注游戏列表,显示当前价格和折扣标签,点击切换查看不同游戏
  • 主区域:价格变化折线图(Chart.js 渲染),展示历史价格走势
  • 购买建议卡片:基于当前价格、历史最低价、即将到来的促销活动给出建议
  • 推荐区:跨平台高评分降价游戏推荐(可在配置中开启/关闭)

展示仪表盘:生成后用 present_files 打开 HTML 文件。

3. 购买建议逻辑

脚本基于以下因素综合判断:

  • 当前价格 vs 历史最低价:接近历史最低 → 建议入手
  • 当前折扣力度:折扣 ≥40% → 建议入手;折扣 <20% → 建议等待
  • 即将到来的 Steam 促销:参考 references/steam_sale_calendar.md,若近期有大型促销(如夏季/冬季促销),建议等待
  • 促销季节折扣预期:大型促销通常折扣 40%-60%

建议示例输出:

  • ✅ 建议入手 — 当前价格接近历史最低,近期无更大促销
  • ⏳ 建议等待 — 夏季促销预计 6 月 27 日开始,历史折扣可达 50%
  • 💡 可考虑 — 当前折扣中等,若不急可等待秋季促销

4. 跨平台游戏推荐

# 开启/关闭推荐服务
python scripts/steam_tracker.py recommend

推荐数据来源:Steam 精选促销游戏 + 高好评率降价游戏。

重要:首次使用时必须询问用户是否需要推荐服务,避免骚扰。

5. 系统日历每日提醒

# 设置每日早晚提醒(需用户同意)
python scripts/calendar_reminder.py create --morning 08:00 --evening 20:00

# 手动触发价格检查并生成提醒
python scripts/calendar_reminder.py check --morning
python scripts/calendar_reminder.py check --evening

# 创建测试提醒
python scripts/calendar_reminder.py test

提醒规则

  • 早间提醒(默认 08:00):关注的游戏有价格变动时提醒具体内容
  • 晚间提醒(默认 20:00):当日总结;若无值得注意的价格变化,仅提醒"今天无值得注意的价格变化"
  • 提醒内容示例
    • "🎮 Elden Ring 已降至历史最低价 ¥148(原价 ¥298,折扣 50%)"
    • "📉 Hades 到达近期最低价 ¥33,估计未来 1-2 月内不会再降"
    • "ℹ️ 今天无值得注意的价格变化"

跨平台支持

  • Windows:通过 PowerShell + Outlook COM 创建日历事件
  • macOS:通过 osascript + Calendar.app 创建日历事件
  • 自动检测操作系统并选择对应方式

Workflow

用户典型交互流程:

用户: "我想关注 Elden Ring 和 Hades 的价格"
  ↓
Agent: search → add → update → present_files(dashboard.html)
  ↓
用户: "帮我导入我的心愿单"
  ↓
Agent: 询问 Steam ID → wishlist → 自动导入所有心愿单游戏 → 更新仪表盘
  ↓
用户: "帮我设置价格提醒"
  ↓
Agent: 确认后执行 calendar_reminder.py create
  ↓
用户: "还有哪些游戏值得买?"
  ↓
Agent: 确认推荐服务已开启 → recommend → 展示推荐列表

File Structure

steam-game-assistant/
├── SKILL.md                          # 本文件 - 主指令
├── scripts/
│   ├── steam_tracker.py              # 核心脚本:搜索/关注/心愿单导入/价格追踪/仪表盘生成
│   └── calendar_reminder.py          # 日历提醒脚本:跨平台日历事件创建
├── assets/
│   └── dashboard.html                # 仪表盘 HTML 模板(含 Chart.js 折线图、心愿单导入按钮)
└── references/
    ├── steam_api_docs.md             # Steam API 接口文档
    └── steam_sale_calendar.md        # Steam 促销日历参考

Data Storage

所有运行时数据存储在 ~/.workbuddy/steam-assistant/

  • config.json — 用户配置(关注列表、推荐开关、Steam ID、心愿单自动同步、国家/语言)
  • price_history.json — 价格历史记录
  • dashboard.html — 生成的仪表盘
  • reminder_state.json — 提醒状态
  • ics_files/ — 日历事件文件(macOS)

Important Notes

  1. 安全合规:本 Skill 严禁自动化登录和购买行为,仅使用 Steam 公开 API 读取价格数据。购买建议仅供参考,用户需自行在 Steam 官方平台完成所有购买操作。
  2. Steam API 限制:Steam Store API 无需密钥但有限速,脚本已内置重试和延迟机制
  3. 心愿单导入:需要用户 Steam 心愿单设为公开;支持 SteamID64、个人资料 URL、vanity URL 三种输入方式。仅读取公开心愿单数据,不涉及登录。
  4. 心愿单自动同步:首次导入后自动开启,每次 update 时自动检查并导入心愿单中的新游戏
  5. 价格数据准确性:依赖 Steam Store API 实时数据,促销期间可能有短暂延迟
  6. 日历提醒:Windows 需要 Outlook 已安装并配置;macOS 需要授权日历访问权限
  7. 推荐服务:首次使用时必须询问用户是否开启,避免骚扰
  8. Python 依赖:仅使用标准库(urllib, json, subprocess),无需额外安装