refactor(sdlc): 技能 base_dir 改全局 skills/(单一技能树,去掉机构副本路径)

- agent_loop: _build_role_skills_block/_load_skill_by_name 改 get_skills_base()
- agent_loop_v2: _resolve_skills_base_dir 改返回 get_skills_base()
This commit is contained in:
ymq 2026-08-21 19:18:51 +08:00
parent 6b4acaff13
commit 6dbb574862
2 changed files with 7 additions and 17 deletions

View File

@ -1016,10 +1016,8 @@ async def _build_role_skills_block(sor, project_id, role, org_id=""):
try:
pid = await _resolve_pipeline_id(project_id)
from pipeline_core.skill_loader import get_skill_loader, SCOPE_PRIORITY, SCOPE_TAG
from pipeline_core.skill_pack import ensure_org_skills
from .workspace import get_workspace_base
ws_base = await get_workspace_base(sor)
skills_dir = ensure_org_skills(ws_base, org_id or '0')
from pipeline_core.skill_pack import get_skills_base
skills_dir = get_skills_base()
loader = get_skill_loader(skills_dir)
merged = loader.get_merged(pipeline_id=pid, role=role,
project_id=project_id, org_id=org_id or '0')
@ -1050,10 +1048,8 @@ async def _load_skill_by_name(sor, project_id, role, org_id, name, file_path=Non
try:
pid = await _resolve_pipeline_id(project_id)
from pipeline_core.skill_loader import get_skill_loader
from pipeline_core.skill_pack import ensure_org_skills
from .workspace import get_workspace_base
ws_base = await get_workspace_base(sor)
skills_dir = ensure_org_skills(ws_base, org_id or '0')
from pipeline_core.skill_pack import get_skills_base
skills_dir = get_skills_base()
loader = get_skill_loader(skills_dir)
merged = loader.get_merged(pipeline_id=pid, role=role,
project_id=project_id, org_id=org_id or '0')

View File

@ -410,16 +410,10 @@ class AgentExecutor:
self.space = GENERAL_SPACE if self.generic else (self.pipeline_id or GENERAL_SPACE)
async def _resolve_skills_base_dir(self):
"""技能根目录 = 机构工作目录/skills/(多租户隔离,不在全局应用目录)。"""
"""技能根目录 = 全局 skills/单一技能树所有机构共享读2026-08-21 重构)。"""
try:
from sqlor.dbpools import DBPools
from pipeline_service.workspace import get_workspace_base
from pipeline_core.skill_pack import ensure_org_skills
db = DBPools()
async with db.sqlorContext("pipeline") as sor:
ws_base = await get_workspace_base(sor)
org_id = self.org_id or '0'
return ensure_org_skills(ws_base, org_id)
from pipeline_core.skill_pack import get_skills_base
return get_skills_base()
except Exception:
return self.config.skills.base_dir