Class RobotToolConfig
java.lang.Object
com.bytedesk.ai.robot_settings.tools.RobotToolConfig
- All Implemented Interfaces:
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 Summary
FieldsModifier and TypeFieldDescriptionprivate StringSpring bean name when bindingType == SPRING_BEAN / FUNCTION_BEANprivate StringBinding type: CLASS, SPRING_BEAN, FUNCTION_BEAN, HTTP_ENDPOINT, CUSTOMprivate StringVisual category (utility / workflow / knowledge etc.)private StringFully-qualified class name when bindingType == CLASSprivate StringShort description of what the tool does.private BooleanWhether this tool is enabled for the current robot template.private StringExternal endpoint when bindingType == HTTP_ENDPOINTprivate StringOptional emoji/icon string for quick visual cues in the UI.private StringJSON schema snippet describing the tool input payload.private StringUnique identifier for locating and deduplicating a tool (e.g. spring.datetime)Free-form metadata reserved for provider specific hints.private StringOptional method name for CLASS binding.private StringDisplay name shown to admins when configuring the tool.private IntegerMaximum priority/order used when presenting tools to the LLM.private StringJSON schema or textual hint describing the response payload.private BooleanWhether the tool requires manual approval before execution.private static final longprivate StringCustom instructions injected before executing the tool. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic List<RobotToolConfig>Provide a curated set of builtin Spring AI demo tools so that a brand-new robot template always contains meaningful defaults.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
key
Unique identifier for locating and deduplicating a tool (e.g. spring.datetime) -
name
Display name shown to admins when configuring the tool. -
description
Short description of what the tool does. -
category
Visual category (utility / workflow / knowledge etc.) -
icon
Optional emoji/icon string for quick visual cues in the UI. -
enabled
Whether this tool is enabled for the current robot template. -
bindingType
Binding type: CLASS, SPRING_BEAN, FUNCTION_BEAN, HTTP_ENDPOINT, CUSTOM -
beanName
Spring bean name when bindingType == SPRING_BEAN / FUNCTION_BEAN -
className
Fully-qualified class name when bindingType == CLASS -
methodName
Optional method name for CLASS binding. When omitted all @Tool methods are exposed. -
endpoint
External endpoint when bindingType == HTTP_ENDPOINT -
inputSchema
JSON schema snippet describing the tool input payload. -
outputSchema
JSON schema or textual hint describing the response payload. -
systemPrompt
Custom instructions injected before executing the tool. -
orderIndex
Maximum priority/order used when presenting tools to the LLM. -
requiresApproval
Whether the tool requires manual approval before execution. -
metadata
Free-form metadata reserved for provider specific hints.
-
-
Constructor Details
-
RobotToolConfig
public RobotToolConfig()
-
-
Method Details
-
defaultSpringAiTools
Provide a curated set of builtin Spring AI demo tools so that a brand-new robot template always contains meaningful defaults.
-