Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

33 Commits

Folders and files

Repository files navigation

Game Sync

从 Steam / PSN / Xbox / Epic 拉取游戏库,按「资源」模板创建游戏笔记,并同步已有笔记的游玩时长与成就。Steam 为正式支持,PSN / Xbox / Epic 为实验性支持。

安装

  1. 在第三方插件里启用 Game Sync(插件 id:obsidian-game-sync)
  2. 设置里填写对应平台的授权信息
  3. 点左侧手柄图标,或命令面板执行对应命令

Steam(正式)

  • 设置:Steam API Key(https://steamcommunity.com/dev/apikey)+ Steam ID(游戏详情需公开)
  • 命令:获取 Steam 游戏数据 / 同步已有 Steam 游戏时长与成就
  • 已有游戏按 steam_appid 或「英文名」匹配,直接更新 时长 和 成就
  • 读取本地 Steam 库:路径、大小、已下载/未下载状态
  • 封面优先使用 SteamGridDB,未配置时回退 Steam 商店封面

PSN(实验性)

设置里点「PSN 授权登录」→ 弹窗复制 NPSSO → 点「生成命令 / 复制命令」→ 到系统终端运行 → 把输出的 Access Token / Refresh Token 填回设置(详见《如何获取授权》)。

  • 设置:点「PSN 授权登录」→ 弹窗引导复制 NPSSO 并生成一条零依赖 Node 命令(无需安装 psn-api),到终端跑一次即可拿到 Access/Refresh Token 并填入;Access Token 过期后插件自动用 Refresh Token 续期
  • 命令:获取 PSN 游戏数据
  • 读取:游戏列表、最近游玩、封面、playDuration 时长(ISO 8601,如 PT1H51M21S)
  • 数据源可切 GameList / Trophy(Trophy 模式含 PSV/PS3 奖杯,但无时长字段)
  • 已有笔记按 psn_appid 或「英文名」匹配

Xbox(实验性)

点「打开 Xbox 登录页」→ 登录后 F12 Network 过滤 xboxlive.com,复制完整 Authorization 头(XBL3.0 x=...;...)。填好后可点「校验当前凭据」自动补全 xuid。

  • 设置:Xbox XBL3.0 Authorization(微软 OAuth 流程复杂,无法插件内完成,一次复制长期有效)+ xuid(可留空,「校验当前凭据」会自动获取)
  • 命令:获取 Xbox 游戏数据
  • 读取:游戏列表、最近游玩、封面、成就
  • 时长通过 userstats.xboxlive.com 的 MinutesPlayed 逐游戏获取,同步/创建时写入;部分游戏不暴露该统计,则写为「未游玩」
  • 已有笔记按 xbox_appid 或「英文名」匹配

Epic(实验性)

推荐在设置里点「Epic 授权登录」走官方 OAuth,读完整游戏库;不想登录就切「本地清单」读已安装游戏。详见 如何获取PSN_Xbox_Epic授权.md。

  • 设置:点击「Epic 授权登录」完成 OAuth 授权(自动交换并保存 Access Token + Refresh Token,过期自动刷新);也可切「本地清单」读取 *.item 中的已安装游戏
  • 命令:获取 Epic 游戏数据
  • 读取:完整游戏库(库接口只返回 catalogItemId,插件会自动调 catalog 接口解析出真实标题与封面,并过滤 DLC / 原声等附加内容);游玩时长走 playtime 接口(在线模式);已安装游戏的路径和大小(本地模式)
  • 已有笔记按 epic_appid 或「英文名」匹配

笔记匹配与创建

  • 扫描范围:笔记文件夹 下所有 md,以及 frontmatter 类型: 游戏 的 md
  • 新游戏在弹窗中勾选后批量创建,自动追加到「索引文件」
  • 模板占位符:{{name}} {{english_name}} {{appid}} {{playtime}} {{playtime_hours}} {{playtime_minutes}} {{last_played}} {{achievements}} {{achievement_list}} {{cover}} {{status}} {{source}} {{path}} {{size}} {{date}}
  • 非 Steam 平台创建时,会把默认模板中的 来源: Steam 和 steam_appid 替换为对应平台字段

成就

  • frontmatter 写入 成就: 12/54,看板卡片会显示完成度
  • 笔记底部 ## 成就 写成 Markdown 表格:图标、名字、说明、时间(Steam 另含所有玩家完成百分比)
  • 图标用表格单元格里的 <img>,避免 ![|48] 把表格拆坏
  • 数据写在笔记本地,打开预览不必再实时请求
  • 没有成就、或统计未公开的游戏会写成 无

发布到 GitHub

仓库已初始化为 git,直接提交并推送即可:

git add -A
git commit -m "your message"
git push origin master

.gitignore 已忽略 data.json,不会把 API Key / Token 推上去。

说明

  • PSN / Xbox / Epic 接口多为社区逆向或客户端接口,可能随平台更新失效,仅供实验使用
  • PSN 授权需本机装有 Node.js(≥18,用于跑换取 Token 的命令);Xbox / Epic / Steam 无需
  • Token / Authorization / NPSSO 都是账号凭证,保存在插件 data.json,请勿分享
  • 本插件为桌面端插件(isDesktopOnly: true)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages