tools

package
v0.0.0-...-deae803 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package tools 提供 Agent 工具系统:注册、定义、调度

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BoolProp

func BoolProp(desc string) map[string]any

BoolProp 构造一个 boolean 属性

func BuildToolDef

func BuildToolDef(name, desc string, params map[string]any) types.ToolDefinition

BuildToolDef 创建工具定义的辅助函数

func IntProp

func IntProp(desc string) map[string]any

IntProp 构造一个 integer 属性

func ObjectSchema

func ObjectSchema(properties map[string]any, required []string) map[string]any

ObjectSchema 构造一个 object 类型的 JSON Schema

func PreviewEditDiff

func PreviewEditDiff(workDir, path, oldString, newString string) (string, error)

PreviewEditDiff builds the diff for an edit_file request, enforcing the same uniqueness rule as the executor.

func PreviewWriteDiff

func PreviewWriteDiff(workDir, path, newContent string) (string, error)

PreviewWriteDiff builds the same diff that write_file would return, without modifying the file. It is used by the permission prompt.

func RegisterBuiltins

func RegisterBuiltins(r *Registry, cfg BuiltinConfig)

RegisterBuiltins 注册所有内置工具到注册表

func StringProp

func StringProp(desc string) map[string]any

StringProp 构造一个 string 属性

Types

type BuiltinConfig

type BuiltinConfig struct {
	WorkDir       string
	ToolResultDir string
}

BuiltinConfig 内置工具需要的配置

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

Registry 工具注册表

func NewRegistry

func NewRegistry() *Registry

NewRegistry 创建工具注册表

func (*Registry) Execute

func (r *Registry) Execute(name string, ctx types.ToolContext, input map[string]any) (string, error)

Execute 执行指定工具

func (*Registry) Get

func (r *Registry) Get(name string) (*types.RegisteredTool, bool)

Get 获取单个工具

func (*Registry) List

func (r *Registry) List() []types.ToolDefinition

List 返回所有工具定义(用于发送给 LLM)

func (*Registry) ListNames

func (r *Registry) ListNames() []string

ListNames 返回所有工具名称

func (*Registry) Register

func (r *Registry) Register(rt *types.RegisteredTool)

Register 注册一个工具

func (*Registry) RequiresApproval

func (r *Registry) RequiresApproval(name string) bool

RequiresApproval 检查工具是否需要审批

func (*Registry) RiskLevel

func (r *Registry) RiskLevel(name string) string

RiskLevel 返回工具的风险等级

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL