# windsurf-reset-machineId **Repository Path**: PLQin/windsurf-reset-machine-id ## Basic Information - **Project Name**: windsurf-reset-machineId - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-19 - **Last Updated**: 2025-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Windsurf 机器码重置工具 一个用于自动重置 Windsurf 代码编辑器机器标识的 Python 工具,支持 Windows 和 macOS 系统。 ## 功能特性 - 🔧 **自动重置机器码**:修改三个关键的机器标识字段 - 🌍 **跨平台支持**:完全兼容 Windows 和 macOS 系统 - 🔄 **智能进程管理**:自动检测并关闭运行中的 Windsurf 进程 - 🔒 **安全保护**:修改后自动设置文件为只读,防止意外覆盖 - 📝 **详细信息显示**:显示修改前后的值对比 ## 修改的字段 程序会修改以下三个字段: - `telemetry.machineId`:32位十六进制字符串 - `telemetry.sqmId`:标准UUID格式(带大括号) - `telemetry.devDeviceId`:32位十六进制设备ID ## 系统要求 - **操作系统**:Windows 或 macOS - **Python版本**:Python 3.6 或更高版本 - **权限**:需要能够修改系统配置文件和终止进程的权限 ## 安装使用 ### 1. 下载项目 ```bash git clone cd windsurf-reset-machine-id ``` ### 2. 运行程序 ```bash python main.py ``` ### 3. 按照提示操作 程序会自动完成以下步骤: 1. 检测运行环境和配置文件 2. 扫描并关闭运行中的 Windsurf 进程 3. 读取现有配置文件 4. 生成新的随机机器码 5. 保存修改并设置文件为只读 ## 工作原理 ### 配置文件位置 - **Windows**: `%APPDATA%\Windsurf\User\globalStorage\storage.json` - **macOS**: `~/Library/Application Support/Windsurf/User/globalStorage/storage.json` ### 安全机制 - 程序会自动检测并关闭所有 Windsurf 相关进程,避免文件锁定 - 修改完成后自动设置配置文件为只读属性 - 在修改前会备份并显示原始值 ## 使用场景 - 🔄 **重置试用期**:当需要重置软件的试用期限制时 - 🆔 **更换身份标识**:需要更改机器标识信息时 - 🔧 **故障排除**:当配置文件损坏需要重新生成时 - 🛡️ **隐私保护**:定期更换机器标识以保护隐私 ## 注意事项 ⚠️ **重要提醒**: - 使用前请关闭所有 Windsurf 相关程序 - 程序会自动处理进程关闭,但建议手动确认 - 修改后的文件会被设置为只读,如需再次修改请先取消只读属性 - 请确保有足够的系统权限执行此操作 ## 兼容性 | 系统 | 版本要求 | 测试状态 | |------|----------|----------| | Windows | Windows 10/11 | ✅ 已测试 | | macOS | macOS 10.14+ | ✅ 已测试 | ## 技术实现 ### 核心功能 - **环境检测**:自动识别操作系统并定位配置文件 - **进程管理**:跨平台的进程检测与终止 - **随机生成**:使用加密安全的随机数生成器 - **文件操作**:安全的JSON文件读写和权限管理 ### 代码结构 ``` main.py ├── WindsurfMachineIdModifier (主类) │ ├── check_environment() # 环境检查 │ ├── detect_windsurf_processes() # 进程检测 │ ├── kill_windsurf_processes() # 进程终止 │ ├── read_storage_file() # 文件读取 │ ├── modify_machine_ids() # 机器码修改 │ ├── write_storage_file() # 文件写入 │ └── set_readonly() # 设置只读 └── main() # 主函数 ``` ## 常见问题 ### Q: 程序提示"无法获取APPDATA环境变量" A: 在Windows系统中,请确保用户配置文件正常,或者以管理员身份运行。 ### Q: 目标文件不存在怎么办? A: 请先安装并运行一次 Windsurf,确保配置文件已生成。 ### Q: 进程关闭失败怎么办? A: 请手动关闭所有 Windsurf 相关窗口,然后重新运行程序。 ### Q: 如何取消文件的只读属性? - **Windows**: 右键文件 → 属性 → 取消勾选"只读" - **macOS**: 在终端中执行 `chmod 644 文件路径` ## 免责声明 此工具仅供学习和研究使用。使用者应当: - 遵守相关软件的使用条款 - 不得用于商业用途或非法目的 - 承担使用此工具的一切风险和责任 开发者不对因使用此工具而导致的任何损失或问题承担责任。 ## 致谢 特别感谢以下贡献者对本项目的支持和帮助: - **ZAOM5423** ([GitHub](https://github.com/ZAOM5423)) - 原始项目的创建者和维护者 - **GitHub Issue #3 的贡献者** - 在 [issue #3](https://github.com/ZAOM5423/windsurf-auto-machineId/issues/3#issuecomment-3416105035) 中提供了宝贵的建议和改进方案 感谢所有为项目提出建议、报告问题和贡献代码的开发者! ## 许可证 本项目仅供学习交流使用,请勿用于商业用途。 --- **最后更新**:2025年12月19日