From ad131486d266bd9d614c1c54fda971606c7e9132 Mon Sep 17 00:00:00 2001 From: YoVinchen Date: Wed, 26 Nov 2025 09:39:05 +0800 Subject: [PATCH] fix(skill): use full key for deduplication to allow same-name skills from different repos (#299) --- src-tauri/src/services/skill.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src-tauri/src/services/skill.rs b/src-tauri/src/services/skill.rs index 3a9b05b0b..f771cfd72 100644 --- a/src-tauri/src/services/skill.rs +++ b/src-tauri/src/services/skill.rs @@ -353,11 +353,13 @@ impl SkillService { } /// 去重技能列表 + /// 使用完整的 key (owner/name:directory) 来区分不同仓库的同名技能 fn deduplicate_skills(skills: &mut Vec) { let mut seen = HashMap::new(); skills.retain(|skill| { - let key = skill.directory.to_lowercase(); - if let std::collections::hash_map::Entry::Vacant(e) = seen.entry(key) { + // 使用完整 key 而非仅 directory,允许不同仓库的同名技能共存 + let unique_key = skill.key.to_lowercase(); + if let std::collections::hash_map::Entry::Vacant(e) = seen.entry(unique_key) { e.insert(true); true } else {