7.5
深览指数
产品人人都是产品经理·月火连城··AI 生成

换了台电脑,Reasonix 全废了——我花了两个晚上写了个工具,永久解决

这篇是典型的技术踩坑 + 工具开发分享。作者作为 Reasonix 重度用户,在三台电脑间切换时发现 Skill/ MCP/对话历史/项目记忆全部丢失,即使文件完整拷贝也无法恢复。文章深入剖析了四个根因(路径哈希、会话元数据遗留路径、MCP 硬编码盘符、USERPROFILE 默认指向 C 盘),并分享了如何开发 PortaKit 启动器(一个 BAT + Node.js 脚本),通过对 Reasonix 启动前的环境重置和路径修补,实现整个文件夹的完全便携化。适合有 AI 工具本地化部署需求、频繁切换工作站的开发者阅读,提供了可直接复用的解决方案和 GitHub 源码。原文 ↗

核心观点
  • Reasonix 跨电脑迁移时数据全部丢失的根本原因是四个路径硬伤,通过编写一个对 Reasonix 启动前进行环境重置和路径修补的启动器,可以实现完全便携化,让数据随行,无缝切换。
  1. 01硬伤1:项目记忆按路径哈希命名。Reasonix 对工作区路径做 SHA1 取前16位作为项目记忆目录名,路径从 C: 变成 D: 哈希就变了,旧记忆目录找不到了。
  2. 02硬伤2:会话元数据存了旧路径。每个 .meta.json 文件里的 workspace 字段写死了旧路径,不匹配时 listSessions() 直接过滤掉,且 JSON 文件反斜杠没转义导致 JSON.parse() 炸掉。
  3. 03硬伤3:MCP 路径硬编码盘符。config.json 里 10 个 MCP Server 全部写了 C:\Reasonix\python\python.exe 这样的绝对路径,换盘符就全挂。
  4. 04硬伤4:USERPROFILE 默认指向 C 盘。Reasonix 用 ~/.reasonix/ 存数据,~ 展开后是 C:\Users\…,即使把整个文件夹拷到 U 盘,它还是去 C 盘找数据。
  5. 05PortaKit 启动器通过 5 个文件不到 300 行代码实现:自动获取当前路径 -> 设置 HOME/USERPROFILE=当前路径 -> 基于路径 SHA1 重命名旧哈希目录 -> 用 robocopy /XO 融合本机数据 -> 修补 config.json 路径 -> 用 Node.js 修复所有会话元数据。
  6. 06最棘手的部分是第 6 步,PowerShell 完全处理不了 JSON 反斜杠转义和 UTF-8 BOM,最后用 Node.js 写了个 _fix_sessions.js 才搞定。
  7. 07效果:整个 Reasonix 文件夹变成完全便携的,拷到 U 盘插任何 Windows 电脑或放进同步盘,双击 bat 即可恢复所有数据,且支持本机旧数据自动融合和智能合并。
反方 / 局限
  • 方案仅适用于 Windows 平台,且依赖 Node.js 环境,对没有安装 Node.js 的用户来说有额外的环境配置成本。
  • PortaKit 本质是治标不治本,并未修改 Reasonix 本身的代码,如果 Reasonix 底层数据存储逻辑(如未来版本改用数据库或云同步)发生变化,PortaKit 可能失效。
  • 文章未讨论 Reasonix 官方是否有计划解决跨平台/跨设备数据同步问题,也未对比其他方案(如云同步、SSD 外置系统盘、虚拟机快照)的优劣。
5 分钟 · 4 卡片 · 8 资料
读原文 →

概念锚点

前置背景

未来推演

延伸追问