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】
|
防止 Windows 链接回退覆盖已有目录,并安全清理项目范围链接。 修正技能矩阵状态、作用域继承优先级与批量启用确认。 按真实 worktree 解析任务技能,并复用全局状态快照。
|
感谢非常细致的 review。指出的安全性、清理生命周期、状态模型和 worktree 问题均已处理,修复集中在 commit 逐项说明:
同时处理了 review 中的次要项:
修复后验证结果:
麻烦再帮忙复审,尤其欢迎重点确认 Windows fallback、项目链接清理以及 worktree 技能可用性这三部分。谢谢! |
No description provided.