새로운 도구를 추가하기 전에 먼저 기존 도구를 검색하세요. 일회성 작업에는 직접 도구 호출을 선호합니다.
custom_tool_list는 저장된 워크플로우를 찾습니다. 명명된 재사용 가능한 시퀀스를 위해서는 custom_tool_create를 사용하세요. 이름은 user_로 시작해야 합니다. 정확한 목적을 설명하고 이름, 타입, 설명 및 필수 플래그가 포함된 타입화된 매개변수를 정의하세요. 지원되는 타입은 string, number, boolean, object, array입니다.
각 스텝에는 고유 ID, 기존 리프 도구 이름, 그리고 해당 도구의 스키마와 일치하는 인수가 필요합니다. 인수에서 {"$input":"expression"}는 명명된 입력을 대체합니다. {"$step":"earlier_step","path":"result"}는 이전 스텝의 data.result를 읽습니다. 그 외의 JSON은 리터럴 값입니다. 참조는 반드시 이전 단계만 가리켜야 하며, 실제 결과 형태를 먼저 확인하세요. 선택적 입력이 필요한 스텝에는 고정 리터럴을 제공하거나, 대신 필수 입력으로 변경해야 합니다.
예시:
parameters [
{
"name": "expression",
"type": "string",
"description": "숫자 산술식",
"required": true
}
],
steps [
{
"id": "answer",
"tool": "calculate",
"arguments": {
"expression": {
"$input": "expression"
}
}
}
]
먼저 calculate 도구를 검색한 후, 생성하고 무해한 입력으로 테스트하세요.
새로운 도구는 즉시 검색 가능하며 앱 재시작 후에도 유지됩니다. 워크플로우는 기존 레지스트리를 통해 실행됩니다: 권한, 메모리 오프/시크릿 모드, 에디션 제한, 취소 및 런타임 가용성 제약이 그대로 적용됩니다. 실패한 스텝은 실행을 중단하고 completed_steps와 오류를 반환합니다. 재시도 전에 부작용을 검사하세요. 완료된 외부 작업을 맹목적으로 반복하지 마세요. 게이트웨이, 다른 워크플로우, 제작 도구는 스텝이 될 수 없습니다.
새로운 실행 가능한 로직이 필요하면, 허용된 파일/터미널 도구로 워크스페이스 스크립트를 만들고 테스트한 후, 실제 터미널 호출을 래핑하세요. 이는 터미널 접근이 가능한 데스크톱 전용입니다. 스킬이나 JSON 정의가 새로운 네이티브 기능을 생성한다고 주장하지 마세요. 요청 시에만 custom_tool_delete를 사용하여 사용하지 않는 도구를 삭제하세요.