fix(skill): 技能优先级顺序改为 role>project>pipeline>org>global,目录层描述精简
This commit is contained in:
parent
127474de6f
commit
a40afccca3
@ -20,7 +20,7 @@ pipeline-core: Skill Loader — 六级可插拔技能隔离
|
||||
users/{user_id}/ ← 用户个人技能
|
||||
|
||||
加载优先级(低 → 高,同名后者覆盖前者):
|
||||
global → org → pipeline(common) → role → project → user
|
||||
global → org → pipeline(common) → project → role → user
|
||||
"""
|
||||
|
||||
import logging
|
||||
@ -36,8 +36,8 @@ SCOPE_PRIORITY = {
|
||||
"global": 0,
|
||||
"org": 1,
|
||||
"pipeline": 2,
|
||||
"role": 3,
|
||||
"project": 4,
|
||||
"project": 3,
|
||||
"role": 4,
|
||||
"user": 5,
|
||||
}
|
||||
|
||||
@ -156,7 +156,7 @@ def _parse_frontmatter(content: str) -> Optional[dict]:
|
||||
# ── 六级技能加载器 ──
|
||||
|
||||
class SkillLoader:
|
||||
"""六级技能加载器:global → org → pipeline → role → project → user"""
|
||||
"""六级技能加载器:global → org → pipeline → project → role → user"""
|
||||
|
||||
def __init__(self, base_dir: str = ""):
|
||||
self.base_dir = base_dir
|
||||
@ -270,7 +270,7 @@ class SkillLoader:
|
||||
user_id: str = "") -> Dict[str, Skill]:
|
||||
"""按优先级合并六级技能。同名技能高优先级覆盖低优先级。
|
||||
|
||||
优先级(低→高):global → org → pipeline → role → project → user
|
||||
优先级(低→高):global → org → pipeline → project → role → user
|
||||
"""
|
||||
merged = dict(self._global)
|
||||
|
||||
@ -280,14 +280,14 @@ class SkillLoader:
|
||||
if pipeline_id and pipeline_id in self._pipelines:
|
||||
merged.update(self._pipelines[pipeline_id])
|
||||
|
||||
if project_id and project_id in self._projects:
|
||||
merged.update(self._projects[project_id])
|
||||
|
||||
if pipeline_id and role:
|
||||
role_key = f"{pipeline_id}:{role}"
|
||||
if role_key in self._roles:
|
||||
merged.update(self._roles[role_key])
|
||||
|
||||
if project_id and project_id in self._projects:
|
||||
merged.update(self._projects[project_id])
|
||||
|
||||
if user_id and user_id in self._users:
|
||||
merged.update(self._users[user_id])
|
||||
|
||||
@ -312,7 +312,7 @@ class SkillLoader:
|
||||
return ""
|
||||
blocks = ["## 可用技能\n"]
|
||||
for s in skills:
|
||||
blocks.append(f"- **[{SCOPE_TAG.get(s.scope, s.scope)}] {s.name}**: {s.description[:200]}")
|
||||
blocks.append(f"- **[{SCOPE_TAG.get(s.scope, s.scope)}] {s.name}**: {s.description[:80]}")
|
||||
blocks.append("")
|
||||
return "\n".join(blocks)
|
||||
|
||||
@ -390,7 +390,7 @@ class SkillLoader:
|
||||
|
||||
blocks = ["## 可用技能\n"]
|
||||
for s in skills:
|
||||
blocks.append(f"- **[{SCOPE_TAG.get(s.scope, s.scope)}] {s.name}**: {s.description[:200]}")
|
||||
blocks.append(f"- **[{SCOPE_TAG.get(s.scope, s.scope)}] {s.name}**: {s.description[:80]}")
|
||||
blocks.append("")
|
||||
return "\n".join(blocks)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user