关于 pp-steam-web
pp-steam-web 是通过 `steam-web-pp-cli` 查询 Steam 个人资料、游戏库、成就和新闻数据的 skill,适用于需要关联多类 Steam 数据的 Agent,并用本地 SQLite 执行组合查询。
主要功能
- 01分析游戏库与游玩时长
- 02比较好友游戏库与时长
- 03按游戏成就进度排列好友
- 04搜索已同步的游戏新闻
- 05查看成就稀有度与进度
- 06追踪玩家数量趋势
适用场景
- 01查找与好友共同拥有的游戏
- 02根据游戏库记录挑选游戏
- 03规划成就完成路线
- 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 已安装。**如果尚未安装,请先安装:
- 使用 Printing Press 安装程序安装。macOS/Linux 上默认将二进制文件安装到
$HOME/.local/bin,Windows 上默认安装到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install steam-web --cli-only - 验证:
steam-web-pp-cli --version - 确保报告的安装目录位于将调用此技能的 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 | 需要身份验证 |
| 5 | API 错误(上游问题) |
| 7 | 请求过于频繁(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示steam-web-pp-cli --help输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 参见上文的前置条件 - 其他任何内容 → 直接使用(将其作为带有
--agent的 CLI 命令执行)
安装 MCP 服务
- 安装 MCP 服务:
go install github.com/mvanhorn/printing-press-library/library/other/steam-web/cmd/steam-web-pp-mcp@latest - 向 Claude Code 注册:
claude mcp add steam-web-pp-mcp -- steam-web-pp-mcp - 验证:
claude mcp list
直接使用
- 检查是否已安装:
which steam-web-pp-cli如果未找到,请提供安装选项(参见本技能开头的前置条件)。 - 根据用户查询,从上文的独特功能和命令参考中选择最合适的命令。
- 使用
--agent标志执行:steam-web-pp-cli <command> [subcommand] [args] --agent - 如果含义不明确,请查看子命令帮助:
steam-web-pp-cli <command> --help。