Skip to content

Repository files navigation

Steam Trading Card Helper

Steam 卡牌助手是一款 Tampermonkey 用户脚本,用于扫描 Steam 卡牌价格、估算徽章成本、辅助购买、管理订购单,以及批量处理社区物品。

Important

v2.6.2 将卡牌查价、徽章扫描、合成扫描、价格刷新和多余物品检测接入统一并发。HTML 类请求并发默认关闭;开启后可极大提升各种扫描速度。并发会略微增加浏览器、网络和 Steam 服务器的瞬时压力,中高端设备通常没有明显性能影响。

功能一览

页面 功能
价格扫描 扫描普通或闪卡徽章、剩余掉落、拥有数量、卡牌价格、单套与满级成本
订购卡牌 保存扫描结果,也可通过 AppID 手动加入游戏并重新计算
订购单 查看现有买单、剩余数量、占用金额和最低售价,支持批量撤销
价格走势 保存卡牌或其他市场物品,查看现价、在售量、24 小时销量和价格变化
徽章合成 扫描可合成卡组,逐级升级或一次升到当前可合成的最高等级
黑名单 手动、固定或按价格自动跳过游戏,支持过期清理
多余物品 检测多余卡牌、背景和表情,比较出售与分解价值后批量处理
物品收藏 保护指定物品,使其不进入出售或分解候选
设置 并发、缓存、预测、个性化、数据导入导出等全局选项

侧边栏显示账号和宝石袋参考价,可在设置中关闭。

安装

  1. 安装 Tampermonkey
  2. 打开 用户脚本安装链接
  3. 进入自己的 Steam 徽章页,例如 steamcommunity.com/id/xxx/badges/
  4. 点击页面中的 Steam Trading Card Helper

首次打开会显示使用说明,之后可以在 设置 → 使用说明 中再次查看。

基本使用

  1. 价格扫描 中设置单套价格上限、购买逻辑和价格方式,然后开始扫描。
  2. 勾选扫描结果;顶部三个总价只统计当前选中的游戏。
  3. 点击单个结果可进入该游戏的卡牌页;使用“手动购买”可打开原生 Steam multibuy 界面,并按照设置自动填写所需数量和合适价格。
  4. 也可以批量选择结果并提交长期订购单,提交前会显示数量、单价和总占用金额。
  5. 查价失败或资料不完整的项目会保留并显示 -,之后可重新计算。

结果、订购单、黑名单、合成列表和物品网格支持按住鼠标拖动,连续选择或取消多个项目。

价格数据

查价优先读取 Steam Market listing 商品页,一次取得当前订单簿和近期成交记录;所需字段缺失时才回退 priceoverview。所有 priceoverview 请求共享每分钟 20 次的限制。

价格 算法与适用场景 可能的偏差
在售最低 Steam 返回的 lowest(当前最低卖价) 按挂单价购买一张时大概率符合估价;连续购买多张时可能因低价库存不足而偏低
平均价格 Steam 返回的 median(近期成交中位价) 更稳定;上涨时可能偏低、下跌时可能偏高,成交很少时参考性较弱
求购最高 当前最高买单

缺失价格不会按零元计算;币种不一致、响应损坏或请求失败时会保留为缺价。

成本估算

估算只使用扫描时已经取得的数据,不会因为切换价格方式或勾选结果而发送额外请求。

设某张卡牌当前拥有数量为 owned,距离目标等级还需要 sets 套:

项目 计算方式 倾向
补全总价 每种缺少的卡牌购买 1 张,使用在售最低价 接近补齐当前一套的即时成本
全套总价 每种卡牌各购买 1 张,使用在售最低价 接近当前一整套的最低在售价
满级总价 每种卡牌需要 max(0, sets - owned) 张;第 1 张用在售最低,其余使用 max(在售最低, 平均价格) 比全部按最低价更保守,通常更接近多张购买;可能略高,也可能因卖单深度不足而偏低

三个顶部总价只合计选中项。任一选中游戏存在缺价时,合计显示 -,避免用不完整数据制造看似准确的金额。

手动模式下,估算会加上当前“买价调整”,并保证不低于当前币种的市场最低价。智能定价模式下,估算使用所选策略的“无墙调整”;订单墙价格只有生成实际订购计划时才能确定,因此估算与最终订购金额可能不同。

购买数量逻辑

模式 每种卡牌的目标数量
补全单套 没有该卡时购买 1 张,已有则不买
补至五级 按当前徽章等级和已有卡牌数量,补足升到目标等级所需数量
购买单套 每种卡牌固定购买 1 张,不扣除已有数量
购买五套 每种卡牌固定购买目标等级对应的套数,不扣除已有数量

闪卡徽章最高一级,闪卡模式会使用补全单套逻辑。生成长期订购单时,现有买单和本次会话待提交数量会从目标数量中扣除,避免重复订购。

手动定价

长期订购单可选择以下基准:

  • 在售最低:以扫描取得的最低卖价为基准,通常偏高、成交更快。
  • 平均价格:以近期成交中位价为基准,价格较平滑,可能随市场趋势偏低或偏高。
  • 求购最高:提交前读取当前最高买单,通常偏低、需要等待成交。

最终单价为“价格基准 + 买价调整”,并保证不低于当前币种的 Steam 市场最低价。无法确认币种时不会继续下单。

Steam multibuy 始终使用扫描到的在售最低价加手动买价调整,不使用长期订购单的智能定价策略。

智能定价

智能定价只用于长期订购单。提交前会读取完整买单深度:

  1. 先根据价格断层、邻近价差和订单占比识别顶部孤立高价,避免被少量异常买单误导。
  2. 在有效最高买价附近寻找订单量相对前方价位明显增加的连续区域,作为最近订单墙。
  3. 按策略选择墙顶、墙底或有效最高买价,再应用策略偏移。
  4. 最终价格不低于市场最低价;存在最低卖价时,不高于“最低卖价 - 0.01”。
策略 有订单墙 无订单墙 默认倾向
保守 墙底 有效最高买价 - 0.02 偏低,等待时间可能更长
平衡 墙顶 有效最高买价 - 0.01 在价格与成交速度之间折中
抢单 墙顶 + 0.01 有效最高买价 + 0.01 偏高,更容易排到前方

墙锚点及有墙、无墙偏移可在高级设置中分别修改。Steam 明确没有买单或扫描缺少所选价格时,可按设置回退到当前币种的市场最低价;网络错误、解析失败或币种冲突仍会安全跳过。

扫描与筛选

  • 支持普通卡和闪卡、最大徽章页数、是否包含仍有掉落的游戏。
  • 单套价格超过上限时跳过;提前预测会在少量有效样本已经明显超限时减少后续请求。
  • 扫描结果可缓存到“订购卡牌”,支持手动加入 AppID、重新计算和设置缓存天数。
  • 自动黑名单可记录完整查价或提前预测结果;固定黑名单不会被过期清理。
  • 满级估算为绿色时近期成交量大于 1,黄色为 1,红色为 0,灰色表示缺价或使用了估算。

订购单与价格走势

  • 订购单读取 Steam 当前买单并按游戏聚合,可查询选中项的最低售价、查看价差并批量撤销。
  • 最低售价缓存 10 分钟;撤销操作逐项执行并保留结果。
  • 价格走势可从扫描结果、订购缓存或手动 market_hash_name 添加物品。
  • 支持 24 小时、7 天、30 天和全部范围,显示迷你折线、现价、在售量、销量及相对上次变化。

徽章合成

  • 扫描已经集齐的卡组,并排除黑名单游戏。
  • 逐级升级:每级单独提交,结果不明确时停止。
  • 一次升满:对每个游戏一次提交当前可合成次数。
  • 可逐项填写次数,也可全部设为 1、全部最大或全部清零;提交前必须确认。

多余物品、出售与分解

  • 多余卡牌按目标徽章等级预留仍需要的套数,再列出真正多余的数量。
  • 背景和表情可设置默认保留份数,并选择是否包含点数商店物品。
  • 建议会比较物品按当前市场价出售后的税后金额,与对应宝石按宝石袋价格折算后的税后价值。
  • 市场税后价值较低、无可用市场价格或物品不可出售时建议分解;市场税后价值较高时建议出售。
  • 出售支持在售最低、平均价格和求购最高三种基准,再应用“售价调整”。
  • 分解不可恢复;实际出售和分解始终在确认后串行提交。

将物品加入 物品收藏 后,同类物品不会再进入出售或分解候选。收藏使用物品类型标识,不依赖单个库存 asset ID。

并发与性能

设置 默认值 作用
HTML 类请求并发 关闭,并发数 4 商品页查价、价格扫描、合成扫描、价格刷新、多余物品检测等;开启后提速最明显
其他请求并发 开启,并发数 8 背景、表情等物品的宝石值读取

并发数可设为 1–20。提高并发数会增加瞬时网络、页面解析、CPU 和内存占用,也可能更容易遇到 Steam 临时错误;中高端设备通常只会有轻微影响。分页读取以及下单、撤单、出售、分解和合成等写操作不会并行。

priceoverview 无论由哪个功能触发,都使用同一个每分钟 20 次计数器。宝石袋价格每次打开插件自动读取一次;用户点击刷新会强制重新读取。

个性化与数据

  • 直接拖动顶部 Tab 可以调整排列顺序,修改后自动保存。
  • 设置 → 个性化 可为每个 Tab 设置六位 HEX 标签颜色;留空恢复默认。
  • 日志区域可拖动边界调整高度。
  • 设置底部可导出 JSON 文件或导入数据,包括设置、缓存、价格历史、收藏和界面状态。
  • 导入失败时会尝试恢复原数据;备份不包含 Steam 登录状态。
  • 可清除缓存或恢复默认设定。

使用提醒

  • 市场价格、订单深度和库存会随时变化,估算不等于最终成交金额。
  • 遇到连续请求失败或 429 时,请降低并发数或暂停后重试。
  • 下单、撤单、出售、分解和合成前请检查确认窗口;分解不可恢复,出售可能需要 Steam 手机确认。

开发

  • npm test:运行自动化测试。
  • npm run build:生成 steam-trading-card-helper.user.js
  • npm run check:运行测试并重新构建用户脚本。

免责声明

本脚本不是 Valve 或 Steam 的官方产品。使用者应自行承担交易、物品处理、账户限制和市场波动带来的风险。

License

MIT

About

Scan Steam trading cards, estimate badge costs, streamline purchases, and craft badges in bulk.

Topics

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages