Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

steamcommunitysteamcommunity 搜索

Agent Skill

steamcommunity 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

27,680

周安装

1,189

GitHub Stars

公开资料未说明

下载量

9,702
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:steamcommunity(steamcommunity 搜索)
来源仓库:https://github.com/bluesyparty-src/steamcommunity
安装命令:
openclaw skills install steamcommunity
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install steamcommunity

简介

steamcommunity 用于检索 Steam 库存数据并管理 steamcommunity.com 上的交易报价。

  • 适合自动化交易和库存监控场景,支持报价处理和资产管理。
  • 通过 clawhub 安装,命令为 openclaw skills install steamcommunity。
  • 安装前建议确认权限范围和维护状态,注意是否涉及网络请求和用户认证。
  • 可参考来源仓库 https://github.com/bluesyparty-src/steamcommunity 了解功能细节。

SKILL.md

name
steam-community-inventory
description
Retrieves Steam inventory data and manages trade offers on steamcommunity.com
homepage
https://steamcommunity.com/dev
metadata
{"clawdbot":{"emoji":"\⚔","requires":{"bins":["jq","curl"],"env":["STEAM_ID","STEAM_COOKIES","STEAM_API_KEY","STEAM_SESSION_ID"]}}}

Steam Community Inventory Skill

Retrieve and browse a Steam user's inventory, and send/manage trade offers on steamcommunity.com.

Setup

  1. Find your Steam ID (SteamID64):

- Go to your Steam profile page - If your URL is https://steamcommunity.com/profiles/76561198012345678, your Steam ID is 76561198012345678 - If your URL uses a vanity name like https://steamcommunity.com/id/myname, visit steamid.io and paste your profile URL to get your SteamID64

  1. Get your Steam Web API key:

- Go to https://steamcommunity.com/dev/apikey - Register a domain name (any value works, e.g., localhost) - Copy the API key shown on the page

  1. Get your Steam session cookies (required for trade offers and bypassing inventory rate limits):

- Log in to steamcommunity.com in your browser - Open Developer Tools (F12) > Application tab > Cookies > https://steamcommunity.com - Copy the value of the steamLoginSecure cookie - Copy the value of the sessionid cookie

  1. Set environment variables:
   export STEAM_ID="your-steamid64"
   export STEAM_API_KEY="your-api-key"
   export STEAM_COOKIES="steamLoginSecure=your-cookie-value"
   export STEAM_SESSION_ID="your-sessionid-cookie-value"

Usage

All commands use curl to hit the Steam Community inventory endpoint. The context ID is 2 for all standard game inventories.

Common App IDs

GameApp ID
CS2 / CS:GO730
Team Fortress 2440
Dota 2570
Rust252490
PUBG578080
Steam Community (trading cards, etc.)753

Get inventory for a game

Replace $APP_ID with the game's App ID (see table above). Context ID is 2 for all standard game inventories.

curl -s "https://steamcommunity.com/inventory/$STEAM_ID/$APP_ID/2?l=english&count=2000" \
  -H "Cookie: $STEAM_COOKIES" | jq '.'

Get CS2 inventory

curl -s "https://steamcommunity.com/inventory/$STEAM_ID/730/2?l=english&count=2000" \
  -H "Cookie: $STEAM_COOKIES" | jq '.'

Get a summary of items (names and quantities)

curl -s "https://steamcommunity.com/inventory/$STEAM_ID/730/2?l=english&count=2000" \
  -H "Cookie: $STEAM_COOKIES" | jq '[.descriptions[] | {market_hash_name, type}]'

Get item details (asset IDs mapped to descriptions)

curl -s "https://steamcommunity.com/inventory/$STEAM_ID/730/2?l=english&count=2000" \
  -H "Cookie: $STEAM_COOKIES" | jq '{assets: [.assets[] | {assetid, classid, instanceid, amount}], total: .total_inventory_count}'

Paginated fetch (for inventories over 2000 items)

The API returns a last_assetid field when there are more items. Pass it as start_assetid to get the next page:

curl -s "https://steamcommunity.com/inventory/$STEAM_ID/730/2?l=english&count=2000&start_assetid=$LAST_ASSET_ID" \
  -H "Cookie: $STEAM_COOKIES" | jq '.'

Check for more pages by looking at the more_items field in the response (equals 1 if there are more).

Response Format

The inventory endpoint returns JSON with these key fields:

FieldDescription
assetsArray of items with appid, contextid, assetid, classid, instanceid, amount
descriptionsArray of item metadata: market_hash_name, name, type, icon_url, tradable, marketable, tags, etc.
total_inventory_countTotal number of items in the inventory
more_items1 if more pages available (absent otherwise)
last_assetidLast asset ID returned; use as start_assetid for next page
success1 if the request succeeded

Assets are linked to descriptions via classid + instanceid.

Notes

  • Rate limits: The community endpoint is heavily rate-limited by IP. Using your own cookies bypasses this for your own inventory. Without cookies, expect IP bans after a few requests (cooldown ~6 hours).
  • Spacing: If fetching multiple inventories or pages, wait at least 4 seconds between requests.
  • count parameter: Max value is 5000, but 2000 is recommended to avoid issues.
  • Context ID: Use 2 for all standard game inventories. Steam Community items (appid 753) also use context ID 6 for some item types.
  • Private profiles: Inventory must be set to public, or you must be authenticated as the owner.

Trade Offers

Trade offers require an authenticated session (cookies) and a Steam Web API key. The sessionid cookie is sent as both a cookie and a POST body parameter.

Partner identification

Trade partners can be identified two ways:

  1. By SteamID64 — e.g., 76561198012345678. Convert to a 32-bit account ID for the partner field: subtract 76561197960265728 from the SteamID64.
  2. By trade URL — e.g., https://steamcommunity.com/tradeoffer/new/?partner=52079950&token=YDAlR4bC. The partner value is the 32-bit account ID. The token is needed when the partner is not on your friends list.

Send a trade offer

This sends items from your inventory to another user (and/or requests items from theirs). Each item requires its appid, contextid, and assetid (obtained from the inventory endpoint above).

The json_tradeoffer parameter is a JSON string describing what each side gives. The me object holds your items to give; the them object holds items you want to receive.

# Set trade parameters
PARTNER_ACCOUNT_ID="52079950"  # 32-bit account ID (from trade URL or SteamID64 - 76561197960265728)
PARTNER_STEAM_ID="76561198012345678"  # Full SteamID64 (= 76561197960265728 + PARTNER_ACCOUNT_ID)
TRADE_TOKEN="YDAlR4bC"         # From partner's trade URL (omit if partner is on your friends list)
TRADE_MESSAGE="Here's the trade we discussed"

# Build the json_tradeoffer payload
# me.assets = items YOU are giving, them.assets = items you WANT from them
JSON_TRADEOFFER='{
  "newversion": true,
  "version": 4,
  "me": {
    "assets": [
      {"appid": 730, "contextid": "2", "amount": 1, "assetid": "YOUR_ASSET_ID"}
    ],
    "currency": [],
    "ready": false
  },
  "them": {
    "assets": [
      {"appid": 730, "contextid": "2", "amount": 1, "assetid": "THEIR_ASSET_ID"}
    ],
    "currency": [],
    "ready": false
  }
}'

# Send with trade token (non-friend)
curl -s "https://steamcommunity.com/tradeoffer/new/send" \
  -X POST \
  -H "Cookie: sessionid=$STEAM_SESSION_ID; $STEAM_COOKIES" \
  -H "Referer: https://steamcommunity.com/tradeoffer/new/?partner=$PARTNER_ACCOUNT_ID&token=$TRADE_TOKEN" \
  -H "Origin: https://steamcommunity.com" \
  -d "sessionid=$STEAM_SESSION_ID" \
  -d "serverid=1" \
  -d "partner=$PARTNER_STEAM_ID" \
  --data-urlencode "tradeoffermessage=$TRADE_MESSAGE" \
  --data-urlencode "json_tradeoffer=$JSON_TRADEOFFER" \
  -d "captcha=" \
  --data-urlencode "trade_offer_create_params={\"trade_offer_access_token\":\"$TRADE_TOKEN\"}" \
  | jq '.'

To send to a friend (no token needed), omit the token from the Referer and set trade_offer_create_params to {}:

curl -s "https://steamcommunity.com/tradeoffer/new/send" \
  -X POST \
  -H "Cookie: sessionid=$STEAM_SESSION_ID; $STEAM_COOKIES" \
  -H "Referer: https://steamcommunity.com/tradeoffer/new/?partner=$PARTNER_ACCOUNT_ID" \
  -H "Origin: https://steamcommunity.com" \
  -d "sessionid=$STEAM_SESSION_ID" \
  -d "serverid=1" \
  -d "partner=$PARTNER_STEAM_ID" \
  --data-urlencode "tradeoffermessage=$TRADE_MESSAGE" \
  --data-urlencode "json_tradeoffer=$JSON_TRADEOFFER" \
  -d "captcha=" \
  -d "trade_offer_create_params={}" \
  | jq '.'

The response returns a tradeofferid on success:

{"tradeofferid": "1234567890", "needs_mobile_confirmation": true, "needs_email_confirmation": false}

Sending a gift (no items requested in return)

Set them.assets to an empty array []:

JSON_TRADEOFFER='{
  "newversion": true,
  "version": 4,
  "me": {
    "assets": [
      {"appid": 730, "contextid": "2", "amount": 1, "assetid": "YOUR_ASSET_ID"}
    ],
    "currency": [],
    "ready": false
  },
  "them": {
    "assets": [],
    "currency": [],
    "ready": false
  }
}'

Get trade offers (sent and received)

Uses the official Steam Web API with your API key.

# Get all active trade offers (sent and received)
curl -s "https://api.steampowered.com/IEconService/GetTradeOffers/v1/?key=$STEAM_API_KEY&get_sent_offers=1&get_received_offers=1&active_only=1&get_descriptions=1&language=english" \
  | jq '.'
# Get only received active offers
curl -s "https://api.steampowered.com/IEconService/GetTradeOffers/v1/?key=$STEAM_API_KEY&get_sent_offers=0&get_received_offers=1&active_only=1&get_descriptions=1&language=english" \
  | jq '.response.trade_offers_received'
# Get only sent active offers
curl -s "https://api.steampowered.com/IEconService/GetTradeOffers/v1/?key=$STEAM_API_KEY&get_sent_offers=1&get_received_offers=0&active_only=1&get_descriptions=1&language=english" \
  | jq '.response.trade_offers_sent'

Get a specific trade offer

curl -s "https://api.steampowered.com/IEconService/GetTradeOffer/v1/?key=$STEAM_API_KEY&tradeofferid=$TRADE_OFFER_ID&language=english&get_descriptions=1" \
  | jq '.response.offer'

Get trade offers summary (counts)

curl -s "https://api.steampowered.com/IEconService/GetTradeOffersSummary/v1/?key=$STEAM_API_KEY&time_last_visit=0" \
  | jq '.response'

Accept a trade offer

Accepting uses the Steam Community web endpoint (not the Web API). You need the tradeofferid and the partner's SteamID64.

TRADE_OFFER_ID="1234567890"
PARTNER_STEAM_ID="76561198012345678"

curl -s "https://steamcommunity.com/tradeoffer/$TRADE_OFFER_ID/accept" \
  -X POST \
  -H "Cookie: sessionid=$STEAM_SESSION_ID; $STEAM_COOKIES" \
  -H "Referer: https://steamcommunity.com/tradeoffer/$TRADE_OFFER_ID/" \
  -d "sessionid=$STEAM_SESSION_ID" \
  -d "tradeofferid=$TRADE_OFFER_ID" \
  -d "serverid=1" \
  -d "partner=$PARTNER_STEAM_ID" \
  -d "captcha=" \
  | jq '.'

Cancel a sent trade offer

curl -s "https://api.steampowered.com/IEconService/CancelTradeOffer/v1/" \
  -X POST \
  -d "key=$STEAM_API_KEY" \
  -d "tradeofferid=$TRADE_OFFER_ID"

Decline a received trade offer

curl -s "https://api.steampowered.com/IEconService/DeclineTradeOffer/v1/" \
  -X POST \
  -d "key=$STEAM_API_KEY" \
  -d "tradeofferid=$TRADE_OFFER_ID"

Get trade history

curl -s "https://api.steampowered.com/IEconService/GetTradeHistory/v1/?key=$STEAM_API_KEY&max_trades=10&get_descriptions=1&language=english&include_failed=0" \
  | jq '.response.trades'

Trade offer states reference

ValueStateDescription
1InvalidInvalid or unknown state
2ActiveSent, neither party has acted yet
3AcceptedItems were exchanged
4CounteredRecipient made a counter offer
5ExpiredNot accepted before the deadline
6CanceledSender canceled the offer
7DeclinedRecipient declined the offer
8InvalidItemsItems in the offer are no longer available
9CreatedNeedsConfirmationAwaiting mobile/email confirmation before sending
10CanceledBySecondFactorCanceled via email/mobile confirmation
11InEscrowOn hold; items removed from both inventories, will deliver automatically

Trade offer notes

  • Mobile confirmation: Most trade offers require Steam Mobile Authenticator confirmation. The send response will indicate needs_mobile_confirmation: true if so.
  • Trade holds: Accounts without Steam Guard Mobile Authenticator enabled for 7+ days will have a 15-day trade hold on all trades.
  • Partner's inventory: To see what the partner has available to trade, fetch their inventory the same way as yours (using their SteamID64 instead of $STEAM_ID). Their inventory must be public or you must be friends.
  • The partner field: The send endpoint expects the full SteamID64 in the partner POST parameter. The trade URL's partner query parameter is the 32-bit account ID.
  • Cookie expiry: The sessionid and steamLoginSecure cookies expire when your Steam session ends. Refresh them from your browser when they stop working.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

82.73%
按下载量换算8,026

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills