SteamCloudFileManager
Cross-platform GUI for Steam Cloud. Visualizes remote storage as a file tree with download, upload, and delete capabilities. Built with Rust. | 跨平台 Steam 云存档 GUI。以树状视图显示云端文件,支持下载、上传及删除操作。基于 Rust 开发。
Install / Use
/learn @Fldicoahkiin/SteamCloudFileManagerREADME
Steam Cloud File Manager
English | 简体中文
<p align="center"> <img src="assets/steam_cloud-iOS-Default-1024x1024@1x.png" width="160" alt="steam_cloud" /> </p> <p align="center"> <a href="https://www.rust-lang.org"><img src="https://img.shields.io/badge/rust-1.90+-orange?logo=rust" alt="Rust"></a> <a href="https://deps.rs/repo/github/Fldicoahkiin/SteamCloudFileManager"><img src="https://deps.rs/repo/github/Fldicoahkiin/SteamCloudFileManager/status.svg" alt="dependency status"></a> <a href="https://github.com/Fldicoahkiin/SteamCloudFileManager/stargazers"><img src="https://img.shields.io/github/stars/Fldicoahkiin/SteamCloudFileManager?style=social" alt="GitHub stars"></a> <a href="https://github.com/Fldicoahkiin/SteamCloudFileManager/network/members"><img src="https://img.shields.io/github/forks/Fldicoahkiin/SteamCloudFileManager?style=social" alt="GitHub forks"></a> </p> <p align="center"> <a href="https://www.gnu.org/licenses/gpl-3.0"><img src="https://img.shields.io/badge/License-GPL%203.0-blue.svg" alt="License: GPL-3.0"></a> <a href="https://github.com/Fldicoahkiin/SteamCloudFileManager/releases"><img src="https://img.shields.io/github/v/release/Fldicoahkiin/SteamCloudFileManager?include_prereleases&color=brightgreen" alt="GitHub release"></a> <a href="https://github.com/Fldicoahkiin/SteamCloudFileManager/releases"><img src="https://img.shields.io/github/downloads/Fldicoahkiin/SteamCloudFileManager/total?color=success" alt="GitHub downloads"></a> <a href="https://github.com/Fldicoahkiin/SteamCloudFileManager/actions/workflows/build.yml"><img src="https://github.com/Fldicoahkiin/SteamCloudFileManager/actions/workflows/build.yml/badge.svg" alt="Build"></a> <a href="https://github.com/Fldicoahkiin/SteamCloudFileManager/actions/workflows/release.yml"><img src="https://github.com/Fldicoahkiin/SteamCloudFileManager/actions/workflows/release.yml/badge.svg" alt="Release"></a> <a href="https://qm.qq.com/q/rljNzv4OaS"><img src="https://img.shields.io/badge/QQ群-324504270-12B7F5?logo=tencentqq&logoColor=white" alt="QQ群"></a> </p> <p align="center"> <a href="https://github.com/Fldicoahkiin/homebrew-tap"><img src="https://img.shields.io/badge/Homebrew-tap-FBB040?logo=homebrew&logoColor=white" alt="Homebrew"></a> <a href="https://aur.archlinux.org/packages/steam-cloud-file-manager-bin"><img src="https://img.shields.io/aur/version/steam-cloud-file-manager-bin?logo=archlinux&logoColor=white&label=AUR" alt="AUR"></a> <img src="https://img.shields.io/badge/Windows-0078D6?logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0wIDMuNWw5LjktMS40djkuNUgwem0xMSAtMS42TDI0IDB2MTEuNUgxMXpNMCAxMi41aDkuOXY5LjVMMCAyMC41em0xMSAwSDI0VjI0bC0xMy0xLjh6Ii8+PC9zdmc+&logoColor=white" alt="Windows"> <img src="https://img.shields.io/badge/macOS-000000?logo=apple&logoColor=white" alt="macOS"> <img src="https://img.shields.io/badge/Ubuntu-E95420?logo=ubuntu&logoColor=white" alt="Ubuntu"> <img src="https://img.shields.io/badge/Debian-A81D33?logo=debian&logoColor=white" alt="Debian"> <img src="https://img.shields.io/badge/Fedora-51A2DA?logo=fedora&logoColor=white" alt="Fedora"> <img src="https://img.shields.io/badge/Arch_Linux-1793D1?logo=archlinux&logoColor=white" alt="Arch Linux"> <img src="https://img.shields.io/badge/AppImage-2c9784?logo=linux&logoColor=white" alt="AppImage"> </p>基于 Rust 和 egui 构建的跨平台 Steam 云存档管理工具
功能
基于 Rust 与 Steamworks SDK 开发的云存档管理工具。通过直接调用 Steam 底层接口,实现了对云端文件的完全可视与控制。支持任意文件的上传、下载与删除,并提供软链接同步功能,有效解决了部分游戏配置文件无法跨平台同步的问题。
- VDF 文件树可视化:完整解析
remotecache.vdf,还原云端目录结构。 - 批量传输:支持多文件选择与拖拽上传/下载。
- 深度控制:直接删除云端文件,强制更新同步状态。
- Root 路径映射:解析
remotecache.vdf中的数字 Root ID (0-12),自动转换为本地磁盘绝对路径(该映射关系在官方文档中未公开)。 - 搜索与过滤:支持文件名、路径及同步状态的正则表达式检索。
- 游戏库扫描:通过解析
libraryfolders.vdf自动发现本地游戏。 - 软链接同步:支持将非原生支持的本地文件通过软链接挂载至 Steam Cloud(实验性)。
- UFS 配置管理:直接读写
appinfo.vdf,实现类 Steamworks 后台的 Auto-Cloud 配置编辑(实验性)。可添加/编辑/删除 savefiles 规则和 rootoverrides 路径映射,自定义游戏的云同步行为。 - 多平台支持:Windows / macOS / Linux。
平台兼容性
支持 Windows (x64)、macOS (Intel & Apple Silicon) 以及 Linux (x64)。 构建产物包含常规的安装包及免安装版本(Generic Binary / AppImage)。
注:由于 Steamworks SDK 的上游限制,目前无法构建 Windows 和 Linux 的 ARM64 版本。
安装
Windows
注意:
- Windows 版本日志保存在应用所在目录的
logs/文件夹。- macOS 版本日志保存在
~/Library/Logs/SteamCloudFileManager/目录。- Linux 版本日志保存在
~/.local/share/SteamCloudFileManager/logs/目录。
macOS
Homebrew
安装(推荐,自动安装到应用程序):
brew tap Fldicoahkiin/tap
brew install --cask steam-cloud-file-manager
如果安装后提示应用损坏,请运行:
xattr -cr "/Applications/Steam Cloud File Manager.app"
作为 Formula 安装(仅提供终端启动命令):
brew install steam-cloud-file-manager
手动安装
-
下载对应版本:
-
打开 DMG 文件
-
将应用拖入 Applications 文件夹
-
如遇 "损坏" 或 "无法打开" 提示,请在终端执行以下命令修复签名:
xattr -c "/Applications/Steam Cloud File Manager.app"
Arch Linux (AUR)
yay -S steam-cloud-file-manager-bin
# 或
paru -S steam-cloud-file-manager-bin
手动构建:
git clone https://aur.archlinux.org/steam-cloud-file-manager-bin.git
cd steam-cloud-file-manager-bin
makepkg -si
steam-cloud-file-manager
tar -xzf SteamCloudFileManager-*-linux-x86_64-aur.tar.gz
cd SteamCloudFileManager-*-linux-x86_64-aur
makepkg -si
steam-cloud-file-manager
Debian/Ubuntu
sudo dpkg -i steam-cloud-file-manager_*.deb
sudo apt-get install -f
steam-cloud-file-manager
Fedora/RHEL/openSUSE
sudo dnf install ./steam-cloud-file-manager-*.rpm
steam-cloud-file-manager
AppImage(通用)
chmod +x SteamCloudFileManager-*.AppImage
./SteamCloudFileManager-*.AppImage
.tar.gz(通用)
tar -xzf SteamCloudFileManager-*-linux-x86_64.tar.gz
./steam-cloud-file-manager
从源码构建
git clone https://github.com/Fldicoahkiin/SteamCloudFileManager.git
cd SteamCloudFileManager
cargo build --release
构建依赖:
-
Cargo
-
Rust 1.90.0+
- 使用 Rust 2021 edition
- 安装:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
C++ 编译工具链:
- Windows:
- Visual Studio 2019 或更新版本(推荐安装 "Desktop development with C++" 工作负载)
- 或 Build Tools for Visual Studio
- macOS:
- Xcode Command Line Tools:
xcode-select --install
- Xcode Command Line Tools:
- Linux:
- gcc/g++ 或 clang
- Ubuntu/Debian:
sudo apt install build-essential - Fedora:
sudo dnf install gcc gcc-c++ - Arch:
sudo pacman -S base-devel
- Windows:
运行依赖:
- Steam 客户端(必须以调试模式运行)
使用说明
Steam 调试模式
本工具使用 CDP 协议与 Steam 通信,必须以调试模式启动 Steam。
为什么需要调试模式?
- CDP(Chrome DevTools Protocol)是 Steam 内置浏览器的调试接口
- 我们通过这个接口获取云端文件列表和下载链接
- 只有开启调试模式,CDP 端口才会启用
Windows:
- 右键点击 Steam 快捷方式,选择“属性”
- 在“目标”栏末尾添加:
-cef-enable-debugging - 点击“确定”并启动 Steam
macOS:
-
退出 Steam
-
在终端执行:
open -a Steam --args -cef-enable-debugging
Linux:
-
关闭 Steam
-
在终端执行:
steam -cef-enable-debugging &或者修改 Steam 快捷方式,在 Exec 行末尾添加
-cef-enable-debugging
注意: 本软件提供了“以调试模式重启 Steam”按钮,可以自动根据引导完成上述操作。
基本操作流程
- 确保 Steam 已运行在调试模式。
- 选择目标游戏:
- 游戏库选择:点击游戏库按钮选择本地游戏(会自动连接)。
- 手动输入:输入 App ID 后点击 "连接"。
- 加载完成后,可在左侧树状视图中操作文件。
App ID 可以通过 Steam 商店 URL 或 SteamDB 上找到。
⚠️ 警告
- 删除不可逆:删除操作会立即提交至本地缓存,无法撤销。
- 数据安全:建议在批量操作前先备份原始文件。
- 同步机制:文件变更写入本地缓存后,Steam 会在后台异步上传。请勿在同步完成前强制杀掉 Steam 进程。
技术架构
云同步机制
graph TB
subgraph dev["🔧 开发者"]
Steamworks["Steamworks 后台<br/>配置 ufs"]
GameCode["游戏代码"]
end
Cloud(("🌐 Steam 服务器"))
subgraph client["🖥️ Steam 客户端"]
subgraph vdf["本地 VDF 文件"]
AppInfo[(appinfo.vdf)]
RemoteCache[(remotecache.vdf)]
end
subgraph sync["☁️ Steam 云同步"]
Auto["Steam 自动云 Auto-Cloud<br/>自动递归查找匹配文件"]
API["Steam 云 API<br/>ISteamRemoteStorage接口"]
end
end
%% Steamworks 配置下发流程
Steamworks --> Cloud
Cloud -->|下发 ufs 配置| AppInfo
AppInfo -->|ufs 配置规则| Auto
Auto --> RemoteCache
%% 游戏代码调用 API
GameCode -->|调用 API| API
API -->|写入文件| RemoteCache
%% 双向同步
RemoteCache <===>|双向同步| Cloud
本工具交互流程:
graph TB
Tool["🛠️ 本工具"]
subgraph client["🖥️ Steam 客户端"]
subgraph vdf["本地 VDF 文件"]
AppInfo[(appinfo.vdf)]
RemoteCache[(remotecache.vdf)]
end
subgraph sync["☁️ Steam 云同步"]
