diff --git a/pipeline_service/agent_loop.py b/pipeline_service/agent_loop.py index d544402..9cd8ed8 100644 --- a/pipeline_service/agent_loop.py +++ b/pipeline_service/agent_loop.py @@ -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') diff --git a/pipeline_service/agent_loop_v2.py b/pipeline_service/agent_loop_v2.py index 0c780fd..f15bcfa 100644 --- a/pipeline_service/agent_loop_v2.py +++ b/pipeline_service/agent_loop_v2.py @@ -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