mcpField
P
pp-steam-web

pp-steam-web

github.com/mvanhorn其他2.1k157 次安装今天更新
代码仓库

关于 pp-steam-web

pp-steam-web 是通过 `steam-web-pp-cli` 查询 Steam 个人资料、游戏库、成就和新闻数据的 skill,适用于需要关联多类 Steam 数据的 Agent,并用本地 SQLite 执行组合查询。

主要功能

  1. 01分析游戏库与游玩时长
  2. 02比较好友游戏库与时长
  3. 03按游戏成就进度排列好友
  4. 04搜索已同步的游戏新闻
  5. 05查看成就稀有度与进度
  6. 06追踪玩家数量趋势

适用场景

  1. 01查找与好友共同拥有的游戏
  2. 02根据游戏库记录挑选游戏
  3. 03规划成就完成路线
  4. 04分析游戏舆情变化

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-steam-web

安装后在 Claude Code 中输入/pp-steam-web确认已加载。

详细介绍

Steam Web — Printing Press CLI

前置条件:安装 CLI

此技能通过 steam-web-pp-cli 二进制文件运行。**调用此技能中的任何命令之前,必须确认 CLI 已安装。**如果尚未安装,请先安装:

  1. 使用 Printing Press 安装程序安装。macOS/Linux 上默认将二进制文件安装到 $HOME/.local/bin,Windows 上默认安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install steam-web --cli-only
    
  2. 验证:steam-web-pp-cli --version
  3. 确保报告的安装目录位于将调用此技能的 Agent/运行时的 $PATH 中。

如果 npx 安装失败(没有 Node、处于离线状态等),请改用直接 Go 安装(需要 Go 1.26.6 或更新版本):

go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/steam-web/cmd/steam-web-pp-cli@latest

如果安装后 --version 报告“command not found”,说明运行时无法在 $PATH 中找到二进制文件目录。验证成功之前,请勿执行技能命令。

何时使用此 CLI

当 Agent 被要求查询 Steam 个人资料、游戏库、成就或新闻数据,且问题涉及跨实体查询时,请选择此 CLI;例如将好友与拥有的游戏、成就与全球稀有度,或新闻与日期筛选条件关联起来。本地 SQLite 存储可将这些问题转换为一条 SQL 查询,而不是进行 N+1 次调用。其他 Steam 工具都只执行单次读取;而此工具能将数据关联起来。对于纯粹的单端点读取(一个玩家的个人资料、一个 app 的新闻),也可以使用各端点的 MCP 工具——但 CLI 的独特命令才是它真正的价值所在。

独特功能

这些功能在此 API 的其他工具中均不可用。

可积累的本地状态
  • library audit — 找出从未启动过的游戏、游玩不到 2 小时便放弃的付费游戏,以及你实际把时间花在了哪些游戏类型上。

    当 Agent 被要求规划接下来玩什么、说明退款理由,或总结用户的游戏支出时,请使用此功能。

    steam-web-pp-cli library audit 76561197960287930 --bounce --json
    
  • review-velocity — 按滚动时间窗口显示某个 app 的每日评价数和好评占比,对游标分页的 appreviews 数据流按日期分桶汇总。

    当 Agent 被要求跟踪补丁、促销或争议事件后的玩家情绪变化时,请使用此功能。

    steam-web-pp-cli review-velocity 1245620 --window 30d --json
    
  • news search — 使用 FTS5 搜索已同步的每篇新闻帖子的标题和内容,可选择按 appid 或日期范围筛选。

    当 Agent 被要求在用户的游戏库中查找补丁说明、开发者日志提及内容,或特定主题的相关新闻时,请使用此功能。

    steam-web-pp-cli news search 'patch notes' --since 2026-04-01 --json
    
  • play-trend — 以迷你折线图显示某个 app 随时间变化的同时在线玩家数,并显示滚动时间窗口内的最小值、最大值和最新值——其价值取决于采样频率。

    当 Agent 需要了解某款游戏的玩家群体是在增长、减少,还是在某个事件前后激增时,请使用此功能——通过 cron 每隔几小时采样一次人数,一周内时间窗口查询就会变得有意义。

    steam-web-pp-cli play-trend 1245620 --window 7d --json
    
好友关系图谱分析
  • friends compare — 按特定游戏的游玩时长为好友列表中的所有人排名,并限制批量调用频率,避免超过 Steam 每秒 25 次请求的额度。

    当 Agent 被问到“我的好友中谁玩 的时间最长”或“谁拥有这款游戏但从未玩过”时,请使用此功能。

    steam-web-pp-cli friends compare 1245620 --my-steamid 76561197960287930 --agent --select results.persona_name,results.playtime_hours
    
  • library compare — 对两个游戏库执行集合运算,显示仅我拥有、仅对方拥有,以及双方共有且附带游玩时长差值的游戏。

    当 Agent 被问到“我和好友都拥有哪些游戏”或需要规划合作游戏场次时,请使用此功能。

    steam-web-pp-cli library compare 76561197960287930 --my-steamid 76561197960287930 --shared --json
    
  • currently-playing — 显示哪些好友此刻正在游戏以及他们玩的是什么——通过一次批量 API 调用查询整个好友列表,无需逐个调用。

    当 Agent 被问到“谁在线,正在玩什么”或需要为状态面板提供数据时,请使用此功能。

    steam-web-pp-cli currently-playing --my-steamid 76561197960287930 --json
    
  • achievement-leaderboard — 按某个 app 的成就完成率为你的好友排名,通过与 friends compare 共用的限流器控制批量调用频率。

    当 Agent 被问到“我的好友中谁最接近在 中达成 100%”或需要发起竞速式全成就挑战时,请使用此功能。

    steam-web-pp-cli achievement-leaderboard 1245620 --my-steamid 76561197960287930 --json
    
成就情报
  • next-achievement — 在你的整个游戏库中,找出你尚未解锁且全球解锁率最高的成就。

    当 Agent 被问到“接下来该解锁什么”或需要为成就收集者推荐轻松可得的成就进度时,使用此工具。

    steam-web-pp-cli next-achievement --steamid 76561197960287930 --limit 10 --json
    
  • achievement-hunt — 在一张表格中并排呈现某个应用的完整成就架构、你的解锁状态以及每项成就的全球稀有度。

    当 Agent 需要了解某款游戏的完整解锁情况以规划全成就流程时,使用此工具。

    steam-web-pp-cli achievement-hunt 1245620 --steamid 76561197960287930 --locked --json
    
  • rare-achievements — 汇总你在所有已拥有游戏中最稀有的成就解锁记录——这是 next-achievement 查询的反向结果,按全球解锁率升序排列。

    当 Agent 被要求总结用户引以为傲的成就,或为个人资料展示面板提供内容时,使用此工具。

    steam-web-pp-cli rare-achievements --steamid 76561197960287930 --limit 10 --json
    

命令参考

iauthentication-service — 管理 iauthentication 服务

  • steam-web-pp-cli iauthentication-service begin-auth-session-via-credentials — IAuthenticationService 的 BeginAuthSessionViaCredentials 操作
  • steam-web-pp-cli iauthentication-service begin-auth-session-via-qr — IAuthenticationService 的 BeginAuthSessionViaQR 操作
  • steam-web-pp-cli iauthentication-service get-auth-session-info — IAuthenticationService 的 GetAuthSessionInfo 操作
  • steam-web-pp-cli iauthentication-service get-auth-session-risk-info — IAuthenticationService 的 GetAuthSessionRiskInfo 操作
  • steam-web-pp-cli iauthentication-service get-password-rsapublic-key — IAuthenticationService 的 GetPasswordRSAPublicKey 操作
  • steam-web-pp-cli iauthentication-service notify-risk-quiz-results — IAuthenticationService 的 NotifyRiskQuizResults 操作
  • steam-web-pp-cli iauthentication-service poll-auth-session-status — IAuthenticationService 的 PollAuthSessionStatus 操作
  • steam-web-pp-cli iauthentication-service update-auth-session-with-mobile-confirmation — IAuthenticationService 的 UpdateAuthSessionWithMobileConfirmation 操作
  • steam-web-pp-cli iauthentication-service update-auth-session-with-steam-guard-code — IAuthenticationService 的 UpdateAuthSessionWithSteamGuardCode 操作

ibroadcast-service — 管理 ibroadcast 服务

  • steam-web-pp-cli ibroadcast-service — IBroadcastService 的 PostGameDataFrameRTMP 操作

icheat-reporting-service — 管理 icheat reporting 服务

  • steam-web-pp-cli icheat-reporting-service — ICheatReportingService 的 ReportCheatData 操作

iclient-stats-1046930 — 管理 iclient stats 1046930

  • steam-web-pp-cli iclient-stats-1046930 — IClientStats_1046930 的 ReportEvent 操作

icontent-server-config-service — 管理 icontent server config 服务

  • steam-web-pp-cli icontent-server-config-service get-steam-cache-node-params — IContentServerConfigService 的 GetSteamCacheNodeParams 操作
  • steam-web-pp-cli icontent-server-config-service set-steam-cache-client-filters — IContentServerConfigService 的 SetSteamCacheClientFilters 操作
  • steam-web-pp-cli icontent-server-config-service set-steam-cache-performance-stats — IContentServerConfigService 的 SetSteamCachePerformanceStats 操作

icontent-server-directory-service — 管理 icontent server directory 服务

  • steam-web-pp-cli icontent-server-directory-service get-cdnfor-video — IContentServerDirectoryService 的 GetCDNForVideo 操作
  • steam-web-pp-cli icontent-server-directory-service get-client-update-hosts — IContentServerDirectoryService 的 GetClientUpdateHosts 操作
  • steam-web-pp-cli icontent-server-directory-service get-depot-patch-info — IContentServerDirectoryService 的 GetDepotPatchInfo 操作
  • steam-web-pp-cli icontent-server-directory-service get-servers-for-steam-pipe — IContentServerDirectoryService 的 GetServersForSteamPipe 操作
  • steam-web-pp-cli icontent-server-directory-service pick-single-content-server — IContentServerDirectoryService 的 PickSingleContentServer 操作

icsgoplayers-730 — 管理 icsgoplayers 730

  • steam-web-pp-cli icsgoplayers-730 — ICSGOPlayers_730 的 GetNextMatchSharingCode 操作

icsgoservers-730 — 管理 icsgoservers 730

  • steam-web-pp-cli icsgoservers-730 get-game-maps-playtime — ICSGOServers_730 的 GetGameMapsPlaytime 操作
  • steam-web-pp-cli icsgoservers-730 get-game-servers-status — ICSGOServers_730 的 GetGameServersStatus 操作

icsgotournaments-730 — 管理 icsgotournaments 730

  • steam-web-pp-cli icsgotournaments-730 get-tournament-fantasy-lineup — ICSGOTournaments_730 的 GetTournamentFantasyLineup 操作
  • steam-web-pp-cli icsgotournaments-730 get-tournament-items — ICSGOTournaments_730 的 GetTournamentItems 操作
  • steam-web-pp-cli icsgotournaments-730 get-tournament-layout — ICSGOTournaments_730 的 GetTournamentLayout 操作
  • steam-web-pp-cli icsgotournaments-730 get-tournament-predictions — ICSGOTournaments_730 的 GetTournamentPredictions 操作
  • steam-web-pp-cli icsgotournaments-730 upload-tournament-fantasy-lineup — ICSGOTournaments_730 的 UploadTournamentFantasyLineup 操作
  • steam-web-pp-cli icsgotournaments-730 upload-tournament-predictions — ICSGOTournaments_730 的 UploadTournamentPredictions 操作

idota2-match-570 — 管理 idota2 match 570

  • steam-web-pp-cli idota2-match-570 get-live-league-games — IDOTA2Match_570 的 GetLiveLeagueGames 操作
  • steam-web-pp-cli idota2-match-570 get-match-details — IDOTA2Match_570 的 GetMatchDetails 操作
  • steam-web-pp-cli idota2-match-570 get-match-history — IDOTA2Match_570 的 GetMatchHistory 操作
  • steam-web-pp-cli idota2-match-570 get-match-history-by-sequence-num — IDOTA2Match_570 的 GetMatchHistoryBySequenceNum 操作
  • steam-web-pp-cli idota2-match-570 get-team-info-by-team-id — IDOTA2Match_570 的 GetTeamInfoByTeamID 操作
  • steam-web-pp-cli idota2-match-570 get-top-live-event-game — IDOTA2Match_570 的 GetTopLiveEventGame 操作
  • steam-web-pp-cli idota2-match-570 get-top-live-game — IDOTA2Match_570 的 GetTopLiveGame 操作
  • steam-web-pp-cli idota2-match-570 get-top-weekend-tourney-games — IDOTA2Match_570 的 GetTopWeekendTourneyGames 操作
  • steam-web-pp-cli idota2-match-570 get-tournament-player-stats — IDOTA2Match_570 的 GetTournamentPlayerStats 操作
  • steam-web-pp-cli idota2-match-570 get-tournament-player-stats-idota2match570 — IDOTA2Match_570 的 GetTournamentPlayerStats 操作

idota2-match-stats-570 — 管理 idota2 match stats 570

  • steam-web-pp-cli idota2-match-stats-570 — IDOTA2MatchStats_570 的 GetRealtimeStats 操作

idota2-stream-system-570 — 管理 idota2 stream system 570

  • steam-web-pp-cli idota2-stream-system-570 — IDOTA2StreamSystem_570 的 GetBroadcasterInfo 操作

idota2-ticket-570 — 管理 idota2 ticket 570

  • steam-web-pp-cli idota2-ticket-570 get-steam-idfor-badge-id — IDOTA2Ticket_570 的 GetSteamIDForBadgeID 操作
  • steam-web-pp-cli idota2-ticket-570 set-steam-account-purchased — IDOTA2Ticket_570 的 SetSteamAccountPurchased 操作
  • steam-web-pp-cli idota2-ticket-570 steam-account-valid-for-badge-type — IDOTA2Ticket_570 的 SteamAccountValidForBadgeType 操作

iecon-dota2-570 — 管理 iecon dota2 570

  • steam-web-pp-cli iecon-dota2-570 get-event-stats-for-account — IEconDOTA2_570 的 GetEventStatsForAccount 操作
  • steam-web-pp-cli iecon-dota2-570 get-heroes — IEconDOTA2_570 的 GetHeroes 操作
  • steam-web-pp-cli iecon-dota2-570 get-item-creators — IEconDOTA2_570 的 GetItemCreators 操作
  • steam-web-pp-cli iecon-dota2-570 get-item-workshop-published-file-ids — IEconDOTA2_570 的 GetItemWorkshopPublishedFileIDs 操作
  • steam-web-pp-cli iecon-dota2-570 get-rarities — IEconDOTA2_570 的 GetRarities 操作
  • steam-web-pp-cli iecon-dota2-570 get-tournament-prize-pool — IEconDOTA2_570 的 GetTournamentPrizePool 操作

iecon-items-1046930 — 管理 iecon 物品 1046930

  • steam-web-pp-cli iecon-items-1046930 — IEconItems_1046930 的 GetPlayerItems 操作

iecon-items-1269260 — 管理 iecon 物品 1269260

  • steam-web-pp-cli iecon-items-1269260 — IEconItems_1269260 的 GetEquippedPlayerItems 操作

iecon-items-440 — 管理 iecon 物品 440

  • steam-web-pp-cli iecon-items-440 get-player-items — IEconItems_440 的 GetPlayerItems 操作
  • steam-web-pp-cli iecon-items-440 get-schema — IEconItems_440 的 GetSchema 操作
  • steam-web-pp-cli iecon-items-440 get-schema-items — IEconItems_440 的 GetSchemaItems 操作
  • steam-web-pp-cli iecon-items-440 get-schema-overview — IEconItems_440 的 GetSchemaOverview 操作
  • steam-web-pp-cli iecon-items-440 get-schema-url — IEconItems_440 的 GetSchemaURL 操作
  • steam-web-pp-cli iecon-items-440 get-store-meta-data — IEconItems_440 的 GetStoreMetaData 操作
  • steam-web-pp-cli iecon-items-440 get-store-status — IEconItems_440 的 GetStoreStatus 操作

iecon-items-570 — 管理 iecon 物品 570

  • steam-web-pp-cli iecon-items-570 get-player-items — IEconItems_570 的 GetPlayerItems 操作
  • steam-web-pp-cli iecon-items-570 get-store-meta-data — IEconItems_570 的 GetStoreMetaData 操作

iecon-items-583950 — 管理 iecon 物品 583950

  • steam-web-pp-cli iecon-items-583950 — IEconItems_583950 的 GetEquippedPlayerItems 操作

iecon-items-620 — 管理 iecon 物品 620

  • steam-web-pp-cli iecon-items-620 get-player-items — IEconItems_620 的 GetPlayerItems 操作
  • steam-web-pp-cli iecon-items-620 get-schema — IEconItems_620 的 GetSchema 操作

iecon-items-730 — 管理 iecon 物品 730

  • steam-web-pp-cli iecon-items-730 get-player-items — IEconItems_730 的 GetPlayerItems 操作
  • steam-web-pp-cli iecon-items-730 get-schema — IEconItems_730 的 GetSchema 操作
  • steam-web-pp-cli iecon-items-730 get-schema-url — IEconItems_730 的 GetSchemaURL 操作
  • steam-web-pp-cli iecon-items-730 get-store-meta-data — IEconItems_730 的 GetStoreMetaData 操作

iecon-service — 管理 iecon 服务

  • steam-web-pp-cli iecon-service get-trade-history — IEconService 的 GetTradeHistory 操作
  • steam-web-pp-cli iecon-service get-trade-hold-durations — IEconService 的 GetTradeHoldDurations 操作
  • steam-web-pp-cli iecon-service get-trade-offer — IEconService 的 GetTradeOffer 操作
  • steam-web-pp-cli iecon-service get-trade-offers — IEconService 的 GetTradeOffers 操作
  • steam-web-pp-cli iecon-service get-trade-offers-summary — IEconService 的 GetTradeOffersSummary 操作
  • steam-web-pp-cli iecon-service get-trade-status — IEconService 的 GetTradeStatus 操作

igame-notifications-service — 管理 igame 通知服务

  • steam-web-pp-cli igame-notifications-service user-create-session — IGameNotificationsService 的 UserCreateSession 操作
  • steam-web-pp-cli igame-notifications-service user-delete-session — IGameNotificationsService 的 UserDeleteSession 操作
  • steam-web-pp-cli igame-notifications-service user-update-session — IGameNotificationsService 的 UserUpdateSession 操作

igame-servers-service — 管理 igame 服务器服务

  • steam-web-pp-cli igame-servers-service create-account — IGameServersService 的 CreateAccount 操作
  • steam-web-pp-cli igame-servers-service delete-account — IGameServersService 的 DeleteAccount 操作
  • steam-web-pp-cli igame-servers-service get-account-list — IGameServersService 的 GetAccountList 操作
  • steam-web-pp-cli igame-servers-service get-account-public-info — IGameServersService 的 GetAccountPublicInfo 操作
  • steam-web-pp-cli igame-servers-service get-server-ips-by-steam-id — IGameServersService 的 GetServerIPsBySteamID 操作
  • steam-web-pp-cli igame-servers-service get-server-steam-ids-by-ip — IGameServersService 的 GetServerSteamIDsByIP 操作
  • steam-web-pp-cli igame-servers-service query-by-fake-ip — IGameServersService 的 QueryByFakeIP 操作
  • steam-web-pp-cli igame-servers-service query-login-token — IGameServersService 的 QueryLoginToken 操作
  • steam-web-pp-cli igame-servers-service reset-login-token — IGameServersService 的 ResetLoginToken 操作
  • steam-web-pp-cli igame-servers-service set-memo — IGameServersService 的 SetMemo 操作

igcversion-1046930 — 管理 igcversion 1046930

  • steam-web-pp-cli igcversion-1046930 get-client-version — IGCVersion_1046930 的 GetClientVersion 操作
  • steam-web-pp-cli igcversion-1046930 get-server-version — IGCVersion_1046930 的 GetServerVersion 操作

igcversion-1269260 — 管理 igcversion 1269260

  • steam-web-pp-cli igcversion-1269260 get-client-version — IGCVersion_1269260 的 GetClientVersion 操作
  • steam-web-pp-cli igcversion-1269260 get-server-version — IGCVersion_1269260 的 GetServerVersion 操作

igcversion-1422450 — 管理 igcversion 1422450

  • steam-web-pp-cli igcversion-1422450 get-client-version — IGCVersion_1422450 的 GetClientVersion 操作
  • steam-web-pp-cli igcversion-1422450 get-server-version — IGCVersion_1422450 的 GetServerVersion 操作

igcversion-440 — 管理 igcversion 440

  • steam-web-pp-cli igcversion-440 get-client-version — IGCVersion_440 的 GetClientVersion 操作
  • steam-web-pp-cli igcversion-440 get-server-version — IGCVersion_440 的 GetServerVersion 操作

igcversion-570 — 管理 igcversion 570

  • steam-web-pp-cli igcversion-570 get-client-version — IGCVersion_570 的 GetClientVersion 操作
  • steam-web-pp-cli igcversion-570 get-server-version — IGCVersion_570 的 GetServerVersion 操作

igcversion-583950 — 管理 igcversion 583950

  • steam-web-pp-cli igcversion-583950 get-client-version — IGCVersion_583950 的 GetClientVersion 操作
  • steam-web-pp-cli igcversion-583950 get-server-version — IGCVersion_583950 的 GetServerVersion 操作

igcversion-730 — 管理 igcversion 730

  • steam-web-pp-cli igcversion-730 — IGCVersion_730 的 GetServerVersion 操作

ihelp-request-logs-service — 管理 ihelp request logs 服务

  • steam-web-pp-cli ihelp-request-logs-service get-application-log-demand — IHelpRequestLogsService 的 GetApplicationLogDemand 操作
  • steam-web-pp-cli ihelp-request-logs-service upload-user-application-log — IHelpRequestLogsService 的 UploadUserApplicationLog 操作

iinventory-service — 管理 iinventory 服务

  • steam-web-pp-cli iinventory-service combine-item-stacks — IInventoryService 的 CombineItemStacks 操作
  • steam-web-pp-cli iinventory-service get-price-sheet — IInventoryService 的 GetPriceSheet 操作
  • steam-web-pp-cli iinventory-service split-item-stack — IInventoryService 的 SplitItemStack 操作

iplayer-service — 管理 iplayer 服务

  • steam-web-pp-cli iplayer-service get-badges — IPlayerService 的 GetBadges 操作
  • steam-web-pp-cli iplayer-service get-community-badge-progress — IPlayerService 的 GetCommunityBadgeProgress 操作
  • steam-web-pp-cli iplayer-service get-owned-games — IPlayerService 的 GetOwnedGames 操作
  • steam-web-pp-cli iplayer-service get-recently-played-games — IPlayerService 的 GetRecentlyPlayedGames 操作
  • steam-web-pp-cli iplayer-service get-steam-level — IPlayerService 的 GetSteamLevel 操作
  • steam-web-pp-cli iplayer-service is-playing-shared-game — IPlayerService 的 IsPlayingSharedGame 操作
  • steam-web-pp-cli iplayer-service record-offline-playtime — IPlayerService 的 RecordOfflinePlaytime 操作

iportal2-leaderboards-620 — 管理 iportal2-leaderboards-620

  • steam-web-pp-cli iportal2-leaderboards-620 — IPortal2Leaderboards_620 的 GetBucketizedData 操作

ipublished-file-service — 管理 ipublished-file-service

  • steam-web-pp-cli ipublished-file-service get-details — IPublishedFileService 的 GetDetails 操作
  • steam-web-pp-cli ipublished-file-service get-sub-section-data — IPublishedFileService 的 GetSubSectionData 操作
  • steam-web-pp-cli ipublished-file-service get-user-file-count — IPublishedFileService 的 GetUserFileCount 操作
  • steam-web-pp-cli ipublished-file-service get-user-files — IPublishedFileService 的 GetUserFiles 操作
  • steam-web-pp-cli ipublished-file-service get-user-vote-summary — IPublishedFileService 的 GetUserVoteSummary 操作
  • steam-web-pp-cli ipublished-file-service query-files — IPublishedFileService 的 QueryFiles 操作

isteam-apps — 管理 isteam-apps

  • steam-web-pp-cli isteam-apps get-sdrconfig — ISteamApps 的 GetSDRConfig 操作
  • steam-web-pp-cli isteam-apps get-servers-at-address — ISteamApps 的 GetServersAtAddress 操作
  • steam-web-pp-cli isteam-apps up-to-date-check — ISteamApps 的 UpToDateCheck 操作

isteam-broadcast — 管理 isteam-broadcast

  • steam-web-pp-cli isteam-broadcast player-stats — ISteamBroadcast 的 PlayerStats 操作
  • steam-web-pp-cli isteam-broadcast viewer-heartbeat — ISteamBroadcast 的 ViewerHeartbeat 操作

isteam-cdn — 管理 isteam-cdn

  • steam-web-pp-cli isteam-cdn set-client-filters — ISteamCDN 的 SetClientFilters 操作
  • steam-web-pp-cli isteam-cdn set-performance-stats — ISteamCDN 的 SetPerformanceStats 操作

isteam-directory — 管理 isteam-directory

  • steam-web-pp-cli isteam-directory get-cmlist — ISteamDirectory 的 GetCMList 操作
  • steam-web-pp-cli isteam-directory get-cmlist-for-connect — ISteamDirectory 的 GetCMListForConnect 操作
  • steam-web-pp-cli isteam-directory get-steam-pipe-domains — ISteamDirectory 的 GetSteamPipeDomains 操作

isteam-economy — 管理 isteam-economy

  • steam-web-pp-cli isteam-economy get-asset-class-info — ISteamEconomy 的 GetAssetClassInfo 操作
  • steam-web-pp-cli isteam-economy get-asset-prices — ISteamEconomy 的 GetAssetPrices 操作

isteam-news — 管理 isteam-news

  • steam-web-pp-cli isteam-news get-news-for-app — ISteamNews 的 GetNewsForApp 操作
  • steam-web-pp-cli isteam-news get-news-for-app-isteamnews — ISteamNews 的 GetNewsForApp 操作

isteam-remote-storage — 管理 isteam-remote-storage

  • steam-web-pp-cli isteam-remote-storage get-collection-details — ISteamRemoteStorage 的 GetCollectionDetails 操作
  • steam-web-pp-cli isteam-remote-storage get-published-file-details — ISteamRemoteStorage 的 GetPublishedFileDetails 操作
  • steam-web-pp-cli isteam-remote-storage get-ugcfile-details — ISteamRemoteStorage 的 GetUGCFileDetails 操作

isteam-user — 管理 isteam-user

  • steam-web-pp-cli isteam-user get-friend-list — ISteamUser 的 GetFriendList 操作
  • steam-web-pp-cli isteam-user get-player-bans — ISteamUser 的 GetPlayerBans 操作
  • steam-web-pp-cli isteam-user get-player-summaries — ISteamUser 的 GetPlayerSummaries 操作
  • steam-web-pp-cli isteam-user get-player-summaries-isteamuser — ISteamUser 的 GetPlayerSummaries 操作
  • steam-web-pp-cli isteam-user get-user-group-list — ISteamUser 的 GetUserGroupList 操作
  • steam-web-pp-cli isteam-user resolve-vanity-url — ISteamUser 的 ResolveVanityURL 操作

isteam-user-auth — 管理 isteam 用户身份验证

  • steam-web-pp-cli isteam-user-auth — ISteamUserAuth 的 AuthenticateUserTicket 操作

isteam-user-oauth — 管理 isteam 用户 OAuth

  • steam-web-pp-cli isteam-user-oauth — ISteamUserOAuth 的 GetTokenDetails 操作

isteam-user-stats — 管理 isteam 用户统计数据

  • steam-web-pp-cli isteam-user-stats get-global-achievement-percentages-for-app — ISteamUserStats 的 GetGlobalAchievementPercentagesForApp 操作
  • steam-web-pp-cli isteam-user-stats get-global-achievement-percentages-for-app-isteamuserstats — ISteamUserStats 的 GetGlobalAchievementPercentagesForApp 操作
  • steam-web-pp-cli isteam-user-stats get-global-stats-for-game — ISteamUserStats 的 GetGlobalStatsForGame 操作
  • steam-web-pp-cli isteam-user-stats get-number-of-current-players — ISteamUserStats 的 GetNumberOfCurrentPlayers 操作
  • steam-web-pp-cli isteam-user-stats get-player-achievements — ISteamUserStats 的 GetPlayerAchievements 操作
  • steam-web-pp-cli isteam-user-stats get-schema-for-game — ISteamUserStats 的 GetSchemaForGame 操作
  • steam-web-pp-cli isteam-user-stats get-schema-for-game-isteamuserstats — ISteamUserStats 的 GetSchemaForGame 操作
  • steam-web-pp-cli isteam-user-stats get-user-stats-for-game — ISteamUserStats 的 GetUserStatsForGame 操作
  • steam-web-pp-cli isteam-user-stats get-user-stats-for-game-isteamuserstats — ISteamUserStats 的 GetUserStatsForGame 操作

isteam-web-apiutil — 管理 isteam Web APIUtil

  • steam-web-pp-cli isteam-web-apiutil get-server-info — ISteamWebAPIUtil 的 GetServerInfo 操作
  • steam-web-pp-cli isteam-web-apiutil get-supported-apilist — ISteamWebAPIUtil 的 GetSupportedAPIList 操作

istore-service — 管理 istore 服务

  • steam-web-pp-cli istore-service get-app-list — 获取 Steam 商店中所有可用应用的列表
  • steam-web-pp-cli istore-service get-games-followed — IStoreService 的 GetGamesFollowed 操作
  • steam-web-pp-cli istore-service get-games-followed-count — IStoreService 的 GetGamesFollowedCount 操作
  • steam-web-pp-cli istore-service get-recommended-tags-for-user — IStoreService 的 GetRecommendedTagsForUser 操作

itfitems-440 — 管理 itfitems 440

  • steam-web-pp-cli itfitems-440 get-golden-wrenches — ITFItems_440 的 GetGoldenWrenches 操作
  • steam-web-pp-cli itfitems-440 get-golden-wrenches-itfitems440 — ITFItems_440 的 GetGoldenWrenches 操作

itfpromos-440 — 管理 itfpromos 440

  • steam-web-pp-cli itfpromos-440 get-item-id — ITFPromos_440 的 GetItemID 操作
  • steam-web-pp-cli itfpromos-440 grant-item — ITFPromos_440 的 GrantItem 操作

itfpromos-620 — 管理 itfpromos 620

  • steam-web-pp-cli itfpromos-620 get-item-id — ITFPromos_620 的 GetItemID 操作
  • steam-web-pp-cli itfpromos-620 grant-item — ITFPromos_620 的 GrantItem 操作

itfsystem-440 — 管理 itfsystem 440

  • steam-web-pp-cli itfsystem-440 — ITFSystem_440 的 GetWorldStatus 操作

iwishlist-service — 管理 iwishlist 服务

  • steam-web-pp-cli iwishlist-service get-wishlist — IWishlistService 的 GetWishlist 操作
  • steam-web-pp-cli iwishlist-service get-wishlist-item-count — IWishlistService 的 GetWishlistItemCount 操作
  • steam-web-pp-cli iwishlist-service get-wishlist-sorted-filtered — IWishlistService 的 GetWishlistSortedFiltered 操作
查找合适的命令

当你知道想做什么,却不知道该用哪个命令时,直接询问 CLI:

steam-web-pp-cli which "<capability in your own words>"

which 会根据自然语言功能查询,从此 CLI 精选的功能索引中匹配最合适的命令。退出代码 0 表示至少找到一个匹配项;退出代码 2 表示没有可靠匹配项——请改用 --help,或缩小查询范围。

示例

查找拥有某款游戏但从未玩过的好友
steam-web-pp-cli friends compare 1245620 --my-steamid 76561197960287930 --filter owns-zero-hours --agent --select results.persona_name,results.steamid

通过限流的扇出查询,找出尚未游玩的拥有者——他们最有可能在受邀后实际游玩。

规划一款游戏的全成就挑战
steam-web-pp-cli achievement-hunt 1245620 --steamid 76561197960287930 --locked --agent --select achievements.display_name,achievements.global_pct

列出所有尚未解锁的成就及其全球稀有度,方便你权衡投入与回报。

在整个游戏库中寻找容易完成的成就
steam-web-pp-cli next-achievement --steamid 76561197960287930 --limit 10 --json

跨游戏库执行 SQL 查询——找出你尚未获得且全球解锁率最高的十个成就。

促销后检查待玩游戏
steam-web-pp-cli library audit 76561197960287930 --never-launched --json

显示你买了却没打开的游戏;搭配 library audit --bounce,可筛出付费且游玩时间不足 2 小时的游戏。

在已同步的新闻动态中搜索主题
steam-web-pp-cli news search 'mod support' --since 2026-04-01 --json

在你同步的所有新闻帖子中进行 FTS5 搜索——适合追踪你拥有的所有游戏中,开发者何时推出了你关注的功能。

身份验证设置

使用标准的 Steam Web API 密钥身份验证:前往 https://steamcommunity.com/dev/apikey 获取密钥,并在环境中设置 STEAM_WEB_API_KEY。每次请求都会通过 ?key= 查询参数发送密钥。有些端点(服务器时间、应用列表、新闻)不需要身份验证,没有密钥也能使用。规范中的 IAuthenticationService 端点并非用于 Web API 身份验证——它们实现的是 Steam 交互式二维码登录流程。为保持功能完整,这些端点仍可通过 CLI 子命令和 MCP 代码编排组合调用,但不应纳入常规 Web API 工作流。

运行 steam-web-pp-cli doctor 验证设置。

Agent 模式

为任意命令添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。

  • 支持管道传输 — JSON 输出到 stdout,错误输出到 stderr

  • 支持筛选 — --select 用于保留部分字段。点分路径可深入嵌套结构;数组会逐元素遍历。对于输出冗长的 API,这对控制上下文大小至关重要:

    steam-web-pp-cli iauthentication-service begin-auth-session-via-credentials --account-name example-resource --agent --select id,name,status
    
  • 支持预览 — --dry-run 显示请求,但不发送

  • 支持离线使用 — 如果本地 SQLite 存储可用,同步/搜索命令可使用它

  • 非交互式 — 不会显示提示,每项输入都通过标志传入

  • 显式重试 — 仅当已存在的创建操作应视为成功时,才使用 --idempotent

响应封装

从本地存储或 API 读取数据的命令会将输出包装在来源信息封装中:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

解析 .results 获取数据,查看 .meta.source 了解数据来自实时 API 还是本地存储。仅当 stdout 连接到终端时,才会将人类可读的 N results (live) 摘要输出到 stderr;通过管道传输或由 Agent 使用时,stdout 只会输出纯 JSON。

Agent 反馈

当你(或 Agent)发现此 CLI 有不妥之处时,请记录下来:

steam-web-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
steam-web-pp-cli feedback --stdin < notes.txt
steam-web-pp-cli feedback list --json --limit 10

条目会保存在本地的 ~/.steam-web-pp-cli/feedback.jsonl 中。除非设置了 STEAM_WEB_FEEDBACK_ENDPOINT,且传入了 --send 或设置了 STEAM_WEB_FEEDBACK_AUTO_SEND=true,否则不会通过 POST 发送。默认行为仅保存在本地。

记录令你感到意外的地方,而不是提交 Bug 报告。简短、具体、一行即可:这部分会不断累积价值。

输出传递

每个命令都接受 --deliver <sink>。除了(或替代)stdout,输出还会发送到指定的接收目标,因此 Agent 无需手动通过管道传递,就能路由命令结果。支持三种接收目标:

接收目标效果
stdout默认;仅写入 stdout
file:<path>将输出原子性地写入 <path>(临时文件 + 重命名)
webhook:<url>将输出正文 POST 到 URL(使用 --compact 时为 application/json 或 application/x-ndjson)

不支持的协议会被拒绝,并返回列出支持协议的结构化错误。Webhook 失败时会返回非零状态,并在 stderr 中记录 URL + HTTP 状态码。

命名配置

配置是已保存的一组标志值,可在多次调用中重复使用。当定时运行的 Agent 每次都使用相同配置调用同一命令时,可使用配置——这是 HeyGen 的“Beacon”模式。

steam-web-pp-cli profile save briefing --json
steam-web-pp-cli --profile briefing iauthentication-service begin-auth-session-via-credentials --account-name example-resource
steam-web-pp-cli profile list --json
steam-web-pp-cli profile show briefing
steam-web-pp-cli profile delete briefing --yes

显式标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,供自省 Agent 在运行时发现。

退出代码

代码含义
0成功
2用法错误(参数错误)
3未找到资源
4需要身份验证
5API 错误(上游问题)
7请求过于频繁(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

  1. 为空、help 或 --help → 显示 steam-web-pp-cli --help 输出
  2. 以 install 开头 → 以 mcp 结尾 → 安装 MCP;否则 → 参见上文的前置条件
  3. 其他任何内容 → 直接使用(将其作为带有 --agent 的 CLI 命令执行)

安装 MCP 服务

  1. 安装 MCP 服务:
    go install github.com/mvanhorn/printing-press-library/library/other/steam-web/cmd/steam-web-pp-mcp@latest
    
  2. 向 Claude Code 注册:
    claude mcp add steam-web-pp-mcp -- steam-web-pp-mcp
    
  3. 验证:claude mcp list

直接使用

  1. 检查是否已安装:which steam-web-pp-cli 如果未找到,请提供安装选项(参见本技能开头的前置条件)。
  2. 根据用户查询,从上文的独特功能和命令参考中选择最合适的命令。
  3. 使用 --agent 标志执行:
    steam-web-pp-cli <command> [subcommand] [args] --agent
    
  4. 如果含义不明确,请查看子命令帮助:steam-web-pp-cli <command> --help。

评论

支持 Markdown