尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

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

换了台电脑,Reasonix 全废了——我花了两个晚上写了个工具,永久解决 在三台电脑之间进行切换操作时, 那些作为重度使用的用户, 察觉到 Skill、MCP, 还有对话历史这三者竟然全部都丢失不见, 哪怕文件实际上是完整的, 可这也起不到任何挽救的作用。此篇文章对四个路径方面存在的硬伤展开了极为深入细致的剖析, 并且分享讲述了应该怎样去进行启动器的开发工作, 从而达成实现完全便携化的一种情况, 让数据能够跟随使用者行动, 实现没有间隔的切换。身为一名重度用户, 我于公司电脑、笔记本电脑、家里电脑这三台电脑之间来回进行切换, 每次更换电脑时, Skill、MCP、对话历史、项目记忆都会完全消失, 最为魔幻的是, 即便将整个文件夹拷贝过去, 打开之后依旧呈现空白状态, 本文记下了我怎样定位根本原因, 以及怎样写出这个便携化工具。一、那个令人崩溃的瞬间在某一个周一的早上, 我把存在 U 盘里的, 插入到公司的电脑之上, 然后双击那个 -.exe。空白。Skill列表呈现为空的状态存在, 存在MCP配置状态为空的情况, 存在对话历史为空有的情形。沉淀下来得几十条核心记忆规则, 现今一条没剩下呢。我所做的头一件事, 是查检文件: 于.\\之下, 整整25个.文件俱在.\\之下, 几十条记忆文件同样也都在。而且, 在.json里边, MCP配置毫无差错。文件全在但 不认。二、追根溯源四个路径硬伤翻了一遍的源码找到了四个根因硬伤1项目记忆按路径哈希命名对工作区所具有的路径实施SHA1操作, 从中提取前16位当作项目用以记忆的目录名称。原本的路径是从C:\开始的, 然而现转变为D:\, 如此一来哈希值就发生了改变, 导致旧有的用以记忆的目录再也找寻不到了。硬伤2会话元数据存了旧路径每一个.meta.json之中, 存在着一个字段。旧有的路径与新的工作区不相匹配, 这种情况下, 会将不匹配的会话全部都过滤掉, 如此一来, 侧边栏便自然而然地呈现为空白状态。更让人觉得坑的是, 那些JSON文件当中的反斜杠没有进行转义, 呈现为C:\\…这个样子, 然后JSON.parse就直接出现问题了。它会吞掉异常并返回空对象, 字段变成了——过滤逻辑直接。硬伤3MCP路径硬编码盘符. json之中, 有10个MCP, 它们全都写了C:\\\.exe这般的绝对路径, 一旦更换盘符, 便全部无法使用了。硬伤4默认指向C盘运用~/./来存储数据, 其中~/展开之后是C:\Users\… , 即便你将整个文件夹拷贝至U盘, 它依旧会前往C盘去寻觅数据。换言之, 你将整个文件夹挪至新电脑后, SKILL不存在, MCP不存在, 记忆不存在, 历史对话记录不存在当你提及也把硬编码的C盘数据一同搬到新电脑, 这仅能让你的SKILL、MCP可见, 然而SKILL与MCP里的内容, 你在新电脑上仍需慢慢调整方可如之前那般使用。但记忆和历史对话记录想都不要想。三、的设计思路核心想法很简单写一个启动器在启动前修好一切。双击 启动.bat├─1.%~dp0自动获取当前路径├─2.设置HOME 当前路径先获取路径的 SHA1 值, 此值变为 项目哈希, 接着 创建目录, 并且 自动重命名旧哈希目录。├─4. /XO融合本机数据只复制更新的├─5.修补 .json路径6.Node.js对所有会话元数据进行修复, 其中包括BOM, 还有JSON转义。└─7.启动总共 5 个文件不到 300 行代码。最难搞的环节是第6步, 完全没办法处理JSON反斜杠转义, 同时也处理不了UTF - 8 BOM, 最终借助Node.js编写了一个.js才将其解决。四、效果经历过一次bat启动后整个文件夹变成完全便携的没有必要重新配置 API Key, 不必要重新安装 Skill , 不需要重新连接 MCP。所有东西都在这就是你原来最熟悉的
返回列表