feat: 增加技能包项目作用域与全局继承 - #517
Conversation
|
先说结论:这个功能该做,方案方向也对,但目前还不建议直接合。 技能包(experts / science / office / custom)以前只能链到全局技能目录,而隔壁 我在本地把 PR 拉下来跑了一遍,工程质量是过关的:
下面是我认为需要在合并前处理的部分。先说明一点:其中第 1 条和第 5 条是主分支上就存在的老问题,不是这个 PR 写出来的,但这个 PR 把写入目标从"用户自己的家目录"改成了"用户的代码仓库",把它们的爆炸半径放大了一个量级,所以我把它们放在这里一起讨论。 一、【Critical・老问题被放大】Windows 上链接失败会回退成整目录 copy,直接覆盖仓库里的同名内容
match junction::create(src, dst) {
Ok(_) => Ok(false),
Err(junction_err) => {
copy_dir_recursive(src, dst)?; // ← 任何错误都会走到这里
Ok(true)
}
}而 junction crate 的
四个 pack 共用这个 helper。在全局作用域下这个坑碰上的概率还低(谁的 我的建议是:在 二、【Blocking】拆链路没跟着项目作用域走,会在用户仓库里留下无法从 UI 清理的孤儿链接两处:
所以删除自定义技能 / 卸载 OfficeCLI 之后,所有 而且隔壁 Skills 页也救不了:它的枚举要求 顺带一提,"重建一个同名 id 再删一次"这条自救路线也是不管用的:删除路径依然只走 Global,得先重建、再在项目作用域里逐个显式取消勾选、然后才能删。 代码里目前没有项目链接的台账、GC、启动自检或迁移能兜住这个(我找过了)。最小可接受的做法:拿 三、【Important】
|
No description provided.