Table of Contents

Class ToolDiscoveryTools

Namespace
JD.AI.Core.Tools
Assembly
JD.AI.Core.dll

Allows agents to discover, search, and dynamically activate tools that are not in their current loadout. This is the key mechanism enabling agents to operate with a minimal toolset while still having access to the full tool registry on demand — preventing context window overflow.

public sealed class ToolDiscoveryTools
Inheritance
ToolDiscoveryTools
Inherited Members

Constructors

ToolDiscoveryTools(Kernel, IToolLoadoutRegistry, IReadOnlyList<KernelPlugin>)

public ToolDiscoveryTools(Kernel kernel, IToolLoadoutRegistry registry, IReadOnlyList<KernelPlugin> allPlugins)

Parameters

kernel Kernel
registry IToolLoadoutRegistry
allPlugins IReadOnlyList<KernelPlugin>

Methods

ActivateTool(string)

[KernelFunction("activate_tool")]
[ToolSafetyTier(SafetyTier.ConfirmOnce)]
public string ActivateTool(string pluginName)

Parameters

pluginName string

Returns

string

DiscoverTools(string?, string?, int)

[KernelFunction("discover_tools")]
[ToolSafetyTier(SafetyTier.AutoApprove)]
public string DiscoverTools(string? category = null, string? keyword = null, int page = 1)

Parameters

category string
keyword string
page int

Returns

string

ListCategories()

[KernelFunction("list_tool_categories")]
[ToolSafetyTier(SafetyTier.AutoApprove)]
public string ListCategories()

Returns

string

ListToolbelts()

[KernelFunction("list_toolbelts")]
[ToolSafetyTier(SafetyTier.AutoApprove)]
public string ListToolbelts()

Returns

string