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

0 评论 30 浏览 0 收藏 6 分钟

Reasonix 重度用户在三台电脑间切换时,发现 Skill、MCP、对话历史全部丢失,即使文件完整也无济于事。本文深入剖析了四个路径硬伤,并分享了如何开发 PortaKit 启动器,实现 Reasonix 的完全便携化,让数据随行,无缝切换。

作为一个 Reasonix 重度用户,我在三台电脑之间来回切换(公司、笔记本、家里)。每次换电脑,Skill、MCP、对话历史、项目记忆全部消失。最魔幻的是:把整个文件夹拷过去,打开依然是空白。本文记录了我如何定位根因,以及如何写出 PortaKit 这个便携化工具。

一、那个令人崩溃的瞬间

某个周一早上,我把 U 盘里的 Reasonix 插到公司电脑上,双击 reasonix-desktop.exe——

空白。

Skill 列表空的。MCP 配置空的。对话历史空的。沉淀了几十条核心记忆规则,一条都不剩。

我做的第一件事是检查文件:.reasonix\skills\ 下面 25 个 .md 文件全在.reasonix\memory\ 下面几十条记忆文件也都在。config.json 里 MCP 配置一字不差。

文件全在,但 Reasonix 不认。

二、追根溯源:四个路径硬伤

翻了一遍Reasonix的GitHub源码,找到了四个根因:

硬伤1:项目记忆按路径哈希命名

Reasonix对工作区路径做SHA1,取前16位作为项目记忆目录名。路径从C:\Reasonix 变成 D:\Reasonix,哈希就变了,旧记忆目录找不到了。

硬伤2:会话元数据存了旧路径

每个.meta.json里有个workspace字段。旧路径和新工作区不匹配——Reasonix的listSessions()直接把不匹配的会话全部过滤掉,侧边栏当然空白。

更坑的是,这些JSON文件里的反斜杠没转义(C:\Reasonix\…),JSON.parse()直接炸。loadSessionMeta()吞掉异常返回空对象,workspace字段变成undefined——过滤逻辑直接return []。

硬伤3:MCP路径硬编码盘符

config.json里10个MCP Server全部写了C:\Reasonix\python\python.exe这样的绝对路径。换盘符就全挂。

硬伤4:USERPROFILE默认指向C盘

Reasonix用~/.reasonix/存数据,~展开后是C:\Users\…。你哪怕把整个文件夹拷到U盘,它还是去C盘找数据。

也就是说,你把整个reasonix文件夹搬到新电脑上,依然没有SKILL、没有MCP、没有记忆、没有历史对话记录;你说那我把reasonix硬编码的C盘数据也同时搬到新电脑上,那也只是让你的SKILL、MCP能看到,但SKILL和MCP的内容你还得在新电脑上慢慢调才能像以前那样用。

但记忆和历史对话记录,想都不要想。

三、PortaKit的设计思路

 

 

核心想法很简单:写一个启动器,在Reasonix启动前修好一切。

双击 启动Reasonix.bat

├─1.%~dp0

自动获取当前路径

├─2.设置HOME=USERPROFILE= 当前路径

├─3.SHA1(路径) → 项目哈希 → 创建目录 + 自动重命名旧哈希目录

├─4.robocopy /XO融合本机数据(只复制更新的)

├─5.修补 config.json路径

├─6.Node.js修复所有会话元数据(BOM+JSON转义 + workspace)

└─7.启动Reasonix

总共 5 个文件,不到 300 行代码。

最棘手的部分是第 6 步——PowerShell 完全处理不了 JSON 反斜杠转义和 UTF-8 BOM,最后用 Node.js 写了个 _fix_sessions.js 才搞定。

四、效果

 

 

经历过一次bat启动后,整个Reasonix文件夹变成完全便携的:

  • 拷到U盘→插任何Windows电脑→双击bat →一切照旧
  • 放进同步盘→新电脑同步→双击bat →本机旧数据自动融合
  • 覆盖到已有Reasonix的旧电脑→两边数据智能合并

不用重配 API Key,不用重装 Skill,不用重连 MCP。

所有东西都在!这就是你原来最熟悉的Reasonix!

五、GitHub 地址

https://github.com/CS-Faith/reasonix-portakit

欢迎 star,更欢迎提 issue 和 PR。

本文由 @月火连城 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自 Unsplash,基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!