在添加新工具前先发现现有工具;对于一次性工作,优先直接调用工具。custom_tool_list 用于查找已保存的工作流。使用 custom_tool_create 创建命名的可复用序列。名称必须以 user_ 开头。请精确描述其用途,并用名称、类型、描述和必要标志定义带类型参数。支持的类型有 string、number、boolean、object 和 array。
每个步骤需要一个唯一 ID、一个现有的叶子工具名,以及与该工具模式匹配的参数。在参数中,{"$input":"表达式"} 用于替换命名输入。{"$step":"前序步骤","path":"结果"} 用于读取前序步骤的 data.result。其他 JSON 为字面量。引用必须指向之前的步骤;请先检查实际结果的结构。可选输入需要在任何需要它的步骤中提供固定的字面量,或者改为必要输入。
示例:参数 [{"name":"表达式","type":"string","description":"数值运算","required":true}],步骤 [{"id":"答案","tool":"计算","arguments":{"表达式":{"$input":"表达式"}}}]。先发现 计算 工具,然后创建并用无害输入进行测试。
新工具立即可见且应用重启后仍然存在。工作流通过现有注册表执行:权限、无记忆/隐身模式、版本限制、取消和运行时可用性仍然适用。失败步骤会停止执行,并返回已完成步骤和错误信息;重试前请检查副作用。切勿盲目重复已完成的外部操作。网关、其他工作流和编排工具不能作为步骤。对于新的可执行逻辑,请在工作区脚本中创建并测试允许的文件/终端工具,然后封装真实的终端调用;此功能仅限桌面端且需终端访问可用。不要声称一个技能或 JSON 定义能创建新的原生能力。仅在请求时使用 custom_tool_delete 删除过时的工具。