- 一个AstrBot插件。A plugin for AstrBot.
自动检测对话中出现的如下内容,并返回对应页面的网页截图和摘要信息:
-
steam商店页链接
-
steam个人主页链接
-
steam创意工坊链接
目前支持的格式如下:
https://store.steampowered.com/app/881020/Granblue_Fantasy_Relink/ # 游戏商店页链接
https://steamcommunity.com/id/inori_333/ # 个人主页链接
https://steamcommunity.com/sharedfiles/filedetails/?id=3472726693 # 创意工坊物品链接
可解析的信息:
steam商店界面:
游戏名称
发行时间
开发商
发行商
游戏类别(保留前五个)
游戏简介
游戏评分
游戏价格
是否支持中文(包括简体中文和繁体中文)
steam个人资料界面:
用户名称
封禁记录
个人简介
steam等级
地区
当前状态
游戏数
好友数
最新动态
steam创意工坊界面:
游戏名称
创意工坊作品名称
作者名称
作者主页链接
作者状态
评分
文件大小
创建日期
更新日期
标签
描述
- 返回与链接游戏相关的其他信息,比如从SteamDB获取的价格变化等等。
- 支持参数设置,比如是否需要返回截图,截屏的宽度和高度,返回摘要的详细等级等等。
- 支持解析steam个人隐私允许条件下的所有steam好友的状态,比如好友是否在线,好友正在玩什么游戏等等。
- 支持在搜索steam商店和用户时,有翻页的选项
程序依赖无头浏览器进行本地截屏,支持如下运行方式:
- Windows / Linux 本机:Chrome 或 Chromium
- Docker:amd64 默认使用 Google Chrome,arm64 默认使用 Chromium
程序会按以下顺序解析浏览器与驱动:
- 环境变量指定
- 系统已安装路径
webdriver-manager自动下载(可关闭)
程序依赖以下第三方库:
- selenium
- webdriver-manager
- requests
- beautifulsoup4
- jinja2
AstrBot 插件目录下请提供 requirements.txt,由 AstrBot 统一安装依赖。
仓库已提供 docker/Dockerfile 与 docker-compose.yml,默认持久化 ./data 并挂载当前插件目录。
docker compose build --no-cache
docker compose up -d默认行为:
amd64: 安装 Google Chromearm64: 安装 Chromium + Chromium Driver(自动回退策略)- 插件挂载路径:
/AstrBot/data/plugins/astrbot_plugin_steamshot - 持久化路径:
./data:/AstrBot/data
可选环境变量(均可不填):
STEAMSHOT_BROWSER_BIN:浏览器可执行文件路径STEAMSHOT_CHROMEDRIVER_BIN:Chromedriver 可执行文件路径STEAMSHOT_BROWSER_KIND:auto|chrome|chromium(默认auto)STEAMSHOT_SKIP_WDM:1/0,1表示禁用webdriver-manager下载
常见排障:
- 容器日志若出现
无法解析 ChromeDriver,请检查浏览器/驱动是否安装,或显式设置STEAMSHOT_CHROMEDRIVER_BIN - ARM64 下若未安装 Chromium,请确认镜像构建时
TARGETARCH=arm64并重新 build - 页面截图失败时可先确认容器
shm_size是否足够(本仓库默认1gb)
以下两个示例为v1.0.0版本,当前使用效果请查看更新日志中新的示例。

根据收到的steam链接自动解析指定界面,插件会自动检测对话中出现的steam链接,并返回对应页面的网页截图和摘要信息(现仅支持steam商店界面、个人主页界面和创意工坊界面)。
使用 /sss 指令搜索steam商店,使用方法: /sss + 游戏名,如: /sss 不/存在的你,和我
使用 /ssu 指令搜索steam用户,使用方法: /ssu + 用户名,如: /ssu m4a1_death-Dawn
使用 /ssl 指令进行steam登录操作,具体使用方法:
/ssl enable - 启用steam登录功能
/ssl disable - 禁用steam登录功能
/ssl status - 查看当前登录状态
/ssl store [cookies文本] - 设置Steam商店cookies
/ssl community [cookies文本] - 设置Steam社区cookies
/ssl test - 测试Steam登录状态
注意steam商店和steam社区的cookies要分开设置,steam商店的域名对应steampowered.com,steam社区的域名对应steamcommunity.com,两者cookies不能通用
获取cookies的方法:打开浏览器 - 进入steam网页登录你的steam账号 - (按F12)调出开发者工具 - 选择网络/Network选项 - 进入一个steam网页 - 选择名称排在最上面那个项 - 右边那个标头/header里面向下拉 - 找到请求标头/request header项 - 把其中的cookies复制
这只是一种获取steam cookies的方法,其他还有很多方法,但最好填写完整的cookies,只填写部分的cookies可能会报错
这就是你的cookies,请保存好,不要泄露,通过指令的方式或者填入Astrbot网页图形ui中插件管理 - Check Steam-Link 插件配置栏中的 input 输入框中
强烈建议您在获取steam cookies前,配置好您的偏好设置,避免搜索时出现不必要的bug

注意:当你进入的是前缀为steampowered.com的steam网页时,对应的cookies是steam商店cookies;当你进入的是前缀为steamcommunity.com的网页时,对应的cookies是steam社区的cookies。请不要填错了!!!
注意:当你进入的是前缀为steampowered.com的steam网页时,对应的cookies是steam商店cookies;当你进入的是前缀为steamcommunity.com的网页时,对应的cookies是steam社区的cookies。请不要填错了!!!
注意:当你进入的是前缀为steampowered.com的steam网页时,对应的cookies是steam商店cookies;当你进入的是前缀为steamcommunity.com的网页时,对应的cookies是steam社区的cookies。请不要填错了!!!
- 使用steam登录功能时,cookies有效期只有差不多48小时,48小时后需要更换cookies,猜测是48小时刷新一次cookies,现阶段无法解决,等后续适配steam web api方案
- 解析个人主页时,可能会返回
⚠️ 无法获取个人主页部分信息 + 个人主页截图,再试1-2次就能正常解析,这个问题无法稳定复现,无有效解决方式,猜测是因为个人主页太多gif导致网页未能完全加载 - 使用/sss和/ssu指令时返回
❌ 搜索失败: 502, message='Attempt to decode JSON with unexpected mimetype: ', url='https://t2i.soulter.top/text2img/generate'重试1-2次即可正常使用
如果有其他问题,请提issue,并附上报错原因,你的系统版本和python版本
- 对steam个人主页链接的监听(返回个人主页截图)
- 对游戏商店页内容更详细的解析(返回文本)
- 修复了发行商异常换行
- 自动获取ChromeDriver
- 异步运行,防止因网络原因卡死astrbot,失败时自动重试
- 修复了打折游戏价格无法正常显示的bug
- 支持steam网页完整截图
- 支持绕过steam年龄验证界面
- 新增支持steam主页解析功能
- 新增支持steam个人主页封禁记录解析
- 修复了chrome自动更新导致的chromedriver版本不匹配的问题,如果控制台返回chromedriver版本不匹配,重载插件即可解决
- 修复了steam创意工坊解析的bug
- 完善Steam创意工坊链接处理功能
- 新增搜索steam商店和搜索steam用户指令
- 新增支持通过保存cookies的方式登录steam(注意:steam商店和steam社区两个的cookies不一样,请不要填错了)
- 修复了登录状态下steam商店敏感游戏验证无法跳过的问题
- 修复了登录状态下steam商店可能有些游戏搜不到的问题
- 优化了steam商店界面价格部分的解析
- 支持搜索商店和用户时从符合条件的前10项中选择的功能
- 修复了免费游戏和预购游戏价格可能无法解析的问题
- 修复了低版本python可能会因为{}内包裹的
\发生f-string类型语法错误的问题
- 新增 Docker 运行支持(x86_64 + arm64)
- 新增跨平台浏览器/驱动探测逻辑(环境变量 > 系统路径 > webdriver-manager)
- 修复 Linux 环境导入
winreg导致插件启动失败的问题
- 修复元信息与主程序中的版本
- 新增CHANGELOG.md和logo.png









