toolexec
  
执行层提供工具运行、代码编排和运行时 ApertureStack工具框架的隔离。
安装
go get github.com/jonwraymond/toolexec@latest包裹
快速开始
import (
"github.com/jonwraymond/toolexec/exec"
"github.com/jonwraymond/tooldiscovery/index"
"github.com/jonwraymond/tooldiscovery/tooldoc"
)
idx := index.NewInMemoryIndex()
docs := tooldoc.NewInMemoryStore(tooldoc.StoreOptions{Index: idx})
executor, err := exec.New(exec.Options{
Index: idx,
Docs: docs,
LocalHandlers: map[string]exec.Handler{
"math-add": func(ctx context.Context, args map[string]any) (any, error) {
a, b := args["a"].(float64), args["b"].(float64)
return a + b, nil
},
},
})
result, err := executor.RunTool(ctx, "math:add", map[string]any{"a": 5, "b": 3})
fmt.Println(result.Value) // 8特性
- 统一立面:用于发现、执行和文档编制的单个API
- 模式验证:根据工具模式验证输入/输出
- 后端抽象:本地、提供者或MCP服务器执行
- 工具链:具有显式数据传递的顺序链
- 运行时隔离:Docker、gVisor和WASM运行时
文档
例子
go run ./examples/basic
go run ./examples/chain
go run ./examples/discovery
go run ./examples/streaming
go run ./examples/runtime
go run ./examples/full许可证
MIT许可证-请参阅 许可证
