Tool
Types
Link copied to clipboard
预处理的结果,决定直接生成工具响应还是等待用户审批调用。
Link copied to clipboard
工具的实时输出,如命令的实时响应,这些信息不会传递给 LLM,只给用户看。
Link copied to clipboard
data class ToolOutput(val result: String, val presentation: ToolPresentation, val data: JsonElement?, val success: Boolean)
工具响应,result 给 LLM 看,success / presentation 给用户看,data 给程序读。
Functions
Link copied to clipboard
abstract suspend fun execute(request: JsonElement, cwd: Path, outputChannel: SendChannel<Tool.RuntimeOutput>): Tool.ToolOutput
调用工具,已经经过用户或审批系统确认,不必考虑安全问题。
Link copied to clipboard
解析 LLM 的调用请求,在不执行任何实际操作的情况下对请求进行预处理,并在有必要时提前返回错误消息而不是等到用户批准之后。