# WorkBuddySync **Repository Path**: coolboss1/work-buddy-sync ## Basic Information - **Project Name**: WorkBuddySync - **Description**: WorkBuddySync 是面向 WorkBuddy 多电脑迁移的 Windows 便携同步工具。通过 U 盘备份、恢复和比较 .workbuddy 本地数据及项目源码,支持 SQLite 一致性备份、敏感配置加密、冲突选择、文件筛选和项目目录映射。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-02 - **Last Updated**: 2026-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WorkBuddySync WorkBuddySync 是一个面向 **同一 WorkBuddy 账号、多台 Windows 电脑** 的便携迁移工具。把 EXE 放到 U 盘后,可在电脑 A 备份,在电脑 B 恢复,并在两端查看文件差异和选择处理方式。 它处理两类本地数据: 1. **WorkBuddy 本地数据**:`.workbuddy` 中的任务工作区信息、记忆、技能、`workbuddy.db` 和 `mcp.json`。 2. **项目源码**:每个项目独立注册、备份和恢复,例如 `WorkBuddySync`、`baoxianpingtai`。 > WorkBuddy 的账号云端对话历史不由本工具管理;本工具处理的是本地文件、数据库和项目工作目录。 ## 已实现能力 - U 盘自包含仓库:EXE 启动后,以自身目录下的 `repository/` 保存快照与对象。 - SHA-256 内容哈希比较:不依赖修改时间,适用于不同磁盘和电脑。 - 文件计划预览:显示上传、下载、删本机、删 U 盘、冲突、跳过;可点击 **全部** 或任一分类筛选文件列表。 - 覆盖恢复:U 盘版本可覆盖本机同路径文件;本机额外文件不会删除,覆盖前会保存本地恢复副本。 - 中断恢复:检测到未完成恢复时,可继续恢复或回滚本机文件。 - `workbuddy.db`:通过 SQLite Online Backup 创建一致快照;冲突时需明确选择本机或 U 盘版本。 - `mcp.json`:使用 Argon2id 派生密钥和 AES-256-GCM 加密后写入 U 盘;迁移口令不写入 U 盘。 - 项目目录映射:将数据库中电脑 A 的绝对工作目录映射到电脑 B 已注册的项目目录,解决恢复后任务找不到工作区的问题。 - 安全防护:路径越界、符号链接越界、对象哈希损坏、预览后状态变化和受保护文件下载均会被阻止。 ## 使用流程 ### 电脑 A:首次备份 1. 将 `WorkBuddySync-fixed.exe` 放到 U 盘根目录并双击运行。 2. 在 **1. WorkBuddy 本地数据** 注册 `C:\Users\你的用户名\.workbuddy`。 3. 设置迁移口令;扫描预览后选择 **备份本机变化**,再确认执行。 4. 在 **2. 项目源码**,逐个注册真实项目根目录并备份。 ### 电脑 B:恢复与继续使用 1. 插入同一 U 盘并运行 EXE。 2. 选择 U 盘已有项目,输入电脑 B 对应的本机目录后点击“注册/绑定”。 3. 扫描预览,必要时处理 SQLite 或文件冲突;选择 **使用 U 盘版本覆盖本机** 后确认执行。 4. 在 **3. 项目目录映射** 中,将旧电脑路径逐条映射到 B 的本机项目;应用前必须完全退出 WorkBuddy。 ## 重要提醒 - 恢复 `workbuddy.db`、应用目录映射或选择 U 盘 SQLite 版本前,必须完全退出 WorkBuddy。 - 忘记迁移口令无法解密已备份的 `mcp.json`。 - 冲突、删除和 SQLite 版本选择必须在页面中明确决策;工具不会静默替你选择。 - U 盘不是唯一备份介质。请保留额外备份,尤其是在首次恢复或覆盖恢复前。 ## 仓库布局 ```text repository/ ├── projects// # 文件对象、快照和 head ├── devices/ # 每台电脑的本地锚点 └── transactions/ # 同步事务记录 %LOCALAPPDATA%/WorkBuddySync/ └── recovery/ # 覆盖恢复的本机恢复副本与日志 ``` ## 开发 要求:Go 1.25+、Windows(项目包含 Windows EXE 图标资源)。 ```powershell go test ./... go build -trimpath -ldflags="-s -w" -o WorkBuddySync-fixed.exe . ``` 详细设计与决策记录见 [`doc/`](doc/)。