程序包 com.sh.ai.skill

类 SkillToolFactory

java.lang.Object
com.sh.ai.skill.SkillToolFactory

public class SkillToolFactory extends Object
技能工具工厂 负责管理技能注册和工具获取,作为技能扫描和工具生成的统一入口
  • 构造器详细资料

    • SkillToolFactory

      protected SkillToolFactory(String skillRootPath)
      构造函数
      参数:
      skillRootPath - 技能根目录路径
  • 方法详细资料

    • getInstance

      public static SkillToolFactory getInstance()
    • initialize

      public void initialize() throws IOException
      初始化工厂(扫描技能并缓存)
      抛出:
      IOException - 文件扫描异常
    • getAllTools

      public List<com.openai.models.chat.completions.ChatCompletionFunctionTool> getAllTools()
      获取所有OpenAI工具
      返回:
      ChatCompletionFunctionTool列表
    • getToolByName

      public com.openai.models.chat.completions.ChatCompletionFunctionTool getToolByName(String skillName)
      根据技能名称获取工具
      参数:
      skillName - 技能名称
      返回:
      ChatCompletionFunctionTool对象
      抛出:
      IllegalArgumentException - 技能不存在时抛出
    • hasSkill

      public boolean hasSkill(String skillName)
      检查技能是否存在
      参数:
      skillName - 技能名称
      返回:
      是否存在
    • getSkillNames

      public List<String> getSkillNames()
      获取所有技能名称
      返回:
      技能名称列表
      抛出:
      IOException - 文件扫描异常
    • buildToolContext

      public void buildToolContext(String skillName, com.openai.models.chat.completions.ChatCompletionCreateParams.Builder builder)
      构建工具上下文消息
      参数:
      skillName - 技能名称
      builder - ChatCompletionCreateParams.Builder
      抛出:
      IOException - 文件读取异常
    • getSkillMetadata

      public SkillMetadata getSkillMetadata(String skillName)
      获取技能元数据
      参数:
      skillName - 技能名称
      返回:
      技能元数据
      抛出:
      IOException - 文件读取异常
    • refresh

      public void refresh() throws IOException
      刷新技能缓存(重新扫描)
      抛出:
      IOException - 文件扫描异常
    • getScanner

      public SkillScanner getScanner()
      获取技能扫描器
      返回:
      SkillScanner实例