This commit is contained in:
yumoqing 2026-03-13 15:39:00 +08:00
parent b21eadd35d
commit 190883ace6

View File

@ -102,6 +102,8 @@ class IndustrialSkillEngine:
skills = await env.session_getvalue(key) skills = await env.session_getvalue(key)
if not refresh and skills: if not refresh and skills:
self.registry = skills self.registry = skills
snames = [ s for s in skills.keys() ]
debug(f'获得session中的{snames}')
return return
for skill_md in self.root.glob("**/SKILL.md"): for skill_md in self.root.glob("**/SKILL.md"):
@ -120,6 +122,8 @@ class IndustrialSkillEngine:
"need_init": need_init, "need_init": need_init,
"content": content "content": content
}) })
snames = [k for k in self.registry.keys()]
debug(f'已装入:{snames} skills')
await env.session_setvalue(key, self.registry) await env.session_setvalue(key, self.registry)
# --- 2. 自动化依赖环境隔离 (venv 思想) --- # --- 2. 自动化依赖环境隔离 (venv 思想) ---
@ -179,7 +183,7 @@ class IndustrialSkillEngine:
base_content = skill["content"] base_content = skill["content"]
# 扫描目录下的辅助文件夹 # 扫描目录下的辅助文件夹
sub_dirs = ["reference", "examples"] sub_dirs = [".", "reference", "examples"]
found_docs = [] found_docs = []
for d in sub_dirs: for d in sub_dirs:
path = skill["root"] / d path = skill["root"] / d
@ -235,6 +239,8 @@ class IndustrialSkillEngine:
}) })
skill_map = {n: v.meta.description for n, v in self.registry.items()} skill_map = {n: v.meta.description for n, v in self.registry.items()}
target = await self.llm(f"用户意图: {user_prompt}\n可选技能清单: {skill_map}\n请返回匹配的技能名:") target = await self.llm(f"用户意图: {user_prompt}\n可选技能清单: {skill_map}\n请返回匹配的技能名:")
if not target:
raise Exception(f"未找到技能名")
self.state["current_skill"] = target self.state["current_skill"] = target
await self.write_output({ await self.write_output({
"status":"PROCESSING", "status":"PROCESSING",