SeerGame 是一个 Windows 本地便携的个人游戏治理工具。它把“我有哪些游戏、正在玩什么、进度到哪里、偏好是什么、存档是否安全”集中在一个应用中,并把 Ludusavi 作为存档发现、备份和恢复引擎。
SeerGame 自己是游玩状态、进度、评分、偏好标签和游玩日志的唯一主数据源。所有这些内容都在应用界面中直接新增、修改和查看,不要求编写 Markdown。Obsidian 只提供可跳过的一次性、只读、可审查迁移入口;即使从未安装或从未选择 Obsidian,全部日常功能也必须完整可用。迁移完成后不监视、不回写,也不保留依赖。
- 当前版本:
v0.2.0 - 获取版本:GitHub Releases;正式构建已嵌入前端,无需 Vite 或 localhost
- 实机范围:Windows 11 x64、96 DPI、普通权限;Windows 10、125/150 DPI、forced-colors 和 Narrator 尚未实测,不宣称已验证
- 便携入口:发布包中的
SeerGame.exe;图标嵌入 EXE,并附带SeerGame.ico - 智能体入口:发布包中的
SeerGame.Cli.exe,提供版本化 JSON/NDJSON、稳定退出码和安全的预演/确认协议 - 数据位置:根目录
data/;不把业务数据留在%AppData%或%LocalAppData% - 发布硬预算:必需便携目录不超过 25 MiB;实际体积与 SHA-256 见对应 Release
- 从 最新 Release 下载 Windows x64 便携 ZIP,并用同页
SHA256SUMS.txt校验。 - 解压到普通可写目录,运行
SeerGame.exe;不要只从 ZIP 内直接启动。 - 如需存档检查、备份或恢复,在设置页选择现有的 Ludusavi 0.31.x 可执行文件、配置目录和备份目录。
当前公开二进制未做代码签名,Windows 可能显示信誉提示;请只从本仓库 Release 下载并核对校验值。个人数据库和 WebView2 profile 始终位于解压目录相邻的 data/,升级前可直接复制整个目录备份。
- 对 C、D、E 盘运行独立的快速/深度扫描,支持取消,保留发现来源和可信度,明确排除 Xbox;扫描结果先作为待审查候选,不自动写成游戏记录。
- 在 SeerGame 表单和时间线中直接记录游玩状态、进度节点、评分、偏好标签和简短日志,无需 Markdown。
- 以 Ludusavi JSON 输出为依据显示存档覆盖、变更和备份历史。
- 所有备份和恢复都遵循“预演 → 确认 → 执行 → 验证”;恢复额外创建安全备份。
- 一次性导入现有 Obsidian 游戏笔记,但只保存经用户确认的结构化结果,不保存原文、账号、密码、私人链接或路径中的账户标识。
- 可复制整个目录迁移,应用数据库、缓存、日志和自备份均留在项目目录内。
- 智能体可通过
SeerGame.Cli.exe capabilities|version|schema|snapshot|doctor|propose|execute|rpc使用同一 GameGovernance,不需要操控 GUI;变更使用 versioned JSON 白名单、确认 token、effect fingerprint 和稳定幂等重试,不能绕过 Proposal/Execution 安全门。snapshot 可能维护可删缓存,但不修改个人记录。
CLI 默认只输出机器可读 JSON;无参数调用不会打开数据库,而是返回命令、scope、Intent、限制、确认策略和退出码能力表:
.\SeerGame.Cli.exe
.\SeerGame.Cli.exe version --request-id agent-version-1
.\SeerGame.Cli.exe schema
.\SeerGame.Cli.exe snapshot --scope cached --request-id agent-snapshot-1写操作固定为“先提案,再重放完全相同请求并精确确认”。下面的示例创建一条个人游戏记录;智能体应保留完整 JSON envelope 和进程退出码:
$request = '{"schemaVersion":"seer.game.cli/v1","requestId":"agent-upsert-1","intent":{"kind":"upsertRecord","patch":{"title":"合成示例游戏","playState":"planned"}}}'
$proposal = $request | & .\SeerGame.Cli.exe propose --request - | ConvertFrom-Json
$request | & .\SeerGame.Cli.exe execute --request - `
--token $proposal.data.confirmationToken `
--confirm $proposal.data.proposal.fingerprint长会话使用 .\SeerGame.Cli.exe rpc --stdio,输入输出均为一行一个 JSON frame。CLI 没有 --yes、任意 SQL、Shell、通用路径或 Ludusavi argv;GUI 占用同一便携数据根时会返回稳定的 code 5 / busy,调用方应稍后原样重试。完整 schema、请求示例和退出码见 接口契约。
- 不接管 Xbox、Microsoft Store 或 Game Pass 游戏。
- 不做游戏下载、破解资源搜索、商店登录、DRM、云同步或多人共享。
- 不复制 Playnite/Heroic 的完整启动器功能;首版不依赖通过 SeerGame 启动游戏。
- 不自动删除、卸载游戏,也不在没有精确预演和确认时恢复存档。
- Tauri 2 + Rust:本地文件、进程、SQLite 与所有高权限操作。
- React 19 + TypeScript + Vite:紧凑、可访问的中文桌面界面。
- SQLite:便携单用户主数据,显式迁移和事务。
- Ludusavi 0.31.0:通过受限参数数组和 JSON schema 适配,不嵌入实验性 Rust library API。
需要 Windows 10/11 x64、WebView2、Rust、Node.js、pnpm@11.19.0 和带 MSVC x64 workload 的 Visual Studio 2022 Build Tools:
pnpm install --frozen-lockfile
.\build.ps1 Test
.\build.ps1 Release -Version 0.2.0SeerGame 采用 MIT License。随正式二进制分发的 Rust 与前端依赖许可见 Rust 依赖许可 和 前端第三方声明。