Class RobotToolConfig

java.lang.Object
com.bytedesk.ai.robot_settings.tools.RobotToolConfig
All Implemented Interfaces:
Serializable

public class RobotToolConfig extends Object implements Serializable
Declarative definition of a Spring AI tool binding that can be enabled for a robot. The configuration is stored as JSON on RobotToolsSettingsEntity and mirrored to the frontend so that admins can toggle and edit bindings.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • key

      private String key
      Unique identifier for locating and deduplicating a tool (e.g. spring.datetime)
    • name

      private String name
      Display name shown to admins when configuring the tool.
    • description

      private String description
      Short description of what the tool does.
    • category

      private String category
      Visual category (utility / workflow / knowledge etc.)
    • icon

      private String icon
      Optional emoji/icon string for quick visual cues in the UI.
    • enabled

      private Boolean enabled
      Whether this tool is enabled for the current robot template.
    • bindingType

      private String bindingType
      Binding type: CLASS, SPRING_BEAN, FUNCTION_BEAN, HTTP_ENDPOINT, CUSTOM
    • beanName

      private String beanName
      Spring bean name when bindingType == SPRING_BEAN / FUNCTION_BEAN
    • className

      private String className
      Fully-qualified class name when bindingType == CLASS
    • methodName

      private String methodName
      Optional method name for CLASS binding. When omitted all @Tool methods are exposed.
    • endpoint

      private String endpoint
      External endpoint when bindingType == HTTP_ENDPOINT
    • inputSchema

      private String inputSchema
      JSON schema snippet describing the tool input payload.
    • outputSchema

      private String outputSchema
      JSON schema or textual hint describing the response payload.
    • systemPrompt

      private String systemPrompt
      Custom instructions injected before executing the tool.
    • orderIndex

      private Integer orderIndex
      Maximum priority/order used when presenting tools to the LLM.
    • requiresApproval

      private Boolean requiresApproval
      Whether the tool requires manual approval before execution.
    • metadata

      private Map<String,Object> metadata
      Free-form metadata reserved for provider specific hints.
  • Constructor Details

    • RobotToolConfig

      public RobotToolConfig()
  • Method Details

    • defaultSpringAiTools

      public static List<RobotToolConfig> defaultSpringAiTools()
      Provide a curated set of builtin Spring AI demo tools so that a brand-new robot template always contains meaningful defaults.