Dropstone CLI

에이전트

특수 목적 에이전트를 구성하고 사용합니다.

에이전트는 특정 작업과 워크플로우에 맞게 구성할 수 있는 특수 목적 AI 어시스턴트입니다. 사용자 지정 프롬프트, 모델, 도구 액세스 권한을 가진 집중형 도구를 만들 수 있습니다.

Tip

플랜 에이전트를 사용하여 코드 변경 없이 코드를 분석하고 제안 사항을 검토하세요.

세션 중에 에이전트를 전환하거나 @ 멘션으로 호출할 수 있습니다.


유형

Dropstone에는 두 가지 유형의 에이전트가 있습니다: 기본 에이전트와 하위 에이전트입니다.


기본 에이전트

기본 에이전트는 직접 상호작용하는 주요 어시스턴트입니다. Tab 키 또는 구성된 switch_agent 키바인드를 사용하여 전환할 수 있습니다. 이 에이전트는 주요 대화를 처리합니다. 도구 액세스는 권한을 통해 구성됩니다: 예를 들어, Build는 모든 도구가 활성화되어 있는 반면 Plan은 제한되어 있습니다.

Tip

세션 중에 Tab 키를 사용하여 기본 에이전트 간에 전환할 수 있습니다.

Dropstone에는 BuildPlan이라는 두 가지 기본 제공 기본 에이전트가 있습니다. 아래에서 살펴보겠습니다.


하위 에이전트

하위 에이전트는 기본 에이전트가 특정 작업을 위해 호출할 수 있는 특수 목적 어시스턴트입니다. 메시지에서 @ 멘션하여 수동으로 호출할 수도 있습니다.

Dropstone에는 GeneralExplore라는 두 가지 기본 제공 하위 에이전트가 있습니다. 아래에서 살펴보겠습니다.


기본 제공

Dropstone에는 두 가지 기본 제공 기본 에이전트와 두 가지 기본 제공 하위 에이전트가 있습니다.


Build 사용

모드: primary

Build는 모든 도구가 활성화된 기본 기본 에이전트입니다. 파일 작업과 시스템 명령에 대한 전체 액세스가 필요한 개발 작업을 위한 표준 에이전트입니다.


Plan 사용

모드: primary

계획 및 분석을 위해 설계된 제한된 에이전트입니다. 권한 시스템을 사용하여 더 많은 제어권을 제공하고 의도하지 않은 변경을 방지합니다. 기본적으로 다음 항목은 모두 ask로 설정됩니다:

  • file edits: 모든 쓰기, 패치, 편집
  • bash: 모든 bash 명령

이 에이전트는 LLM이 코드베이스에 실제 수정을 가하지 않고 코드를 분석하거나, 변경 사항을 제안하거나, 계획을 수립하도록 하려는 경우에 유용합니다.


General 사용

모드: subagent

복잡한 질문을 조사하고 다단계 작업을 실행하기 위한 범용 에이전트입니다. 전체 도구 액세스 권한(todo 제외)이 있으므로 필요할 때 파일을 변경할 수 있습니다. 여러 작업 단위를 병렬로 실행하는 데 사용하세요.


Explore 사용

모드: subagent

코드베이스를 탐색하기 위한 빠른 읽기 전용 에이전트입니다. 파일을 수정할 수 없습니다. 패턴으로 파일을 빠르게 찾거나, 코드에서 키워드를 검색하거나, 코드베이스에 대한 질문에 답해야 할 때 사용하세요.


Compaction 사용

모드: primary

긴 컨텍스트를 더 작은 요약으로 압축하는 숨겨진 시스템 에이전트입니다. 필요할 때 자동으로 실행되며 UI에서 선택할 수 없습니다.


Title 사용

모드: primary

짧은 세션 제목을 생성하는 숨겨진 시스템 에이전트입니다. 자동으로 실행되며 UI에서 선택할 수 없습니다.


Summary 사용

모드: primary

세션 요약을 만드는 숨겨진 시스템 에이전트입니다. 자동으로 실행되며 UI에서 선택할 수 없습니다.


사용법

  1. 기본 에이전트의 경우 세션 중에 Tab 키를 사용하여 전환합니다. 구성된 switch_agent 키바인드를 사용할 수도 있습니다.

  2. 하위 에이전트는 다음과 같이 호출할 수 있습니다:

    • 기본 에이전트가 설명에 따라 특수 작업을 위해 자동으로 호출합니다.

    • 메시지에서 하위 에이전트를 @ 멘션하여 수동으로 호출합니다. 예:

      @general help me search for this function
      
  3. 세션 간 탐색: 하위 에이전트가 하위 세션을 만들 때 session_child_first(기본값: <Leader>+Down)를 사용하여 부모 세션에서 첫 번째 하위 세션으로 들어갑니다.

  4. 하위 세션에 들어간 후에는 다음을 사용합니다:

    • session_child_cycle(기본값: Right) 다음 하위 세션으로 전환
    • session_child_cycle_reverse(기본값: Left) 이전 하위 세션으로 전환
    • session_parent(기본값: Up) 부모 세션으로 돌아가기

    이를 통해 기본 대화와 특수 하위 에이전트 작업 간에 전환할 수 있습니다.


구성

기본 제공 에이전트를 사용자 지정하거나 구성을 통해 직접 만들 수 있습니다. 에이전트는 두 가지 방법으로 구성할 수 있습니다:


JSON

dropstone.json 구성 파일에서 에이전트를 구성합니다:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "mode": "primary",
      "model": "dropstone/dropstone-pro",
      "prompt": "{file:./prompts/build.txt}",
      "permission": {
        "edit": "allow",
        "bash": "allow"
      }
    },
    "plan": {
      "mode": "primary",
      "model": "dropstone/dropstone-fast",
      "permission": {
        "edit": "deny",
        "bash": "deny"
      }
    },
    "code-reviewer": {
      "description": "Reviews code for best practices and potential issues",
      "mode": "subagent",
      "model": "dropstone/dropstone-pro",
      "prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
      "permission": {
        "edit": "deny"
      }
    }
  }
}

Markdown

마크다운 파일을 사용하여 에이전트를 정의할 수도 있습니다. 다음 위치에 배치하세요:

  • 전역: ~/.config/dropstone/agents/
  • 프로젝트별: .dropstone/agents/
---
description: Reviews code for quality and best practices
mode: subagent
model: dropstone/dropstone-pro
temperature: 0.1
permission:
  edit: deny
  bash: deny
---

You are in code review mode. Focus on:

- Code quality and best practices
- Potential bugs and edge cases
- Performance implications
- Security considerations

Provide constructive feedback without making direct changes.

마크다운 파일 이름이 에이전트 이름이 됩니다. 예를 들어, review.mdreview 에이전트를 만듭니다.


옵션

이러한 구성 옵션을 자세히 살펴보겠습니다.


설명

description 옵션을 사용하여 에이전트가 수행하는 작업과 사용 시기에 대한 간단한 설명을 제공합니다.

{
  "agent": {
    "review": {
      "description": "Reviews code for best practices and potential issues"
    }
  }
}

이것은 필수 구성 옵션입니다.


Temperature

temperature 구성을 사용하여 LLM 응답의 무작위성과 창의성을 제어합니다.

값이 낮을수록 응답이 더 집중되고 결정적이며, 값이 높을수록 창의성과 다양성이 증가합니다.

{
  "agent": {
    "plan": {
      "temperature": 0.1
    },
    "creative": {
      "temperature": 0.8
    }
  }
}

Temperature 값은 일반적으로 0.0에서 1.0 사이입니다:

  • 0.0-0.2: 매우 집중되고 결정적인 응답, 코드 분석 및 계획에 적합
  • 0.3-0.5: 약간의 창의성이 있는 균형 잡힌 응답, 일반 개발 작업에 적합
  • 0.6-1.0: 더 창의적이고 다양한 응답, 브레인스토밍 및 탐색에 유용
{
  "agent": {
    "analyze": {
      "temperature": 0.1,
      "prompt": "{file:./prompts/analysis.txt}"
    },
    "build": {
      "temperature": 0.3
    },
    "brainstorm": {
      "temperature": 0.7,
      "prompt": "{file:./prompts/creative.txt}"
    }
  }
}

temperature가 지정되지 않으면 Dropstone은 각 등급에 맞게 조정된 적절한 기본값을 사용합니다.


최대 단계

에이전트가 텍스트로만 응답하도록 강제되기 전에 수행할 수 있는 최대 에이전트 반복 횟수를 제어합니다. 비용을 제어하려는 사용자가 에이전트 작업에 제한을 설정할 수 있게 해줍니다.

이 값이 설정되지 않으면 모델이 중지하도록 선택하거나 사용자가 세션을 중단할 때까지 에이전트가 계속 반복합니다.

{
  "agent": {
    "quick-thinker": {
      "description": "Fast reasoning with limited iterations",
      "prompt": "You are a quick thinker. Solve problems with minimal steps.",
      "steps": 5
    }
  }
}

한도에 도달하면 에이전트는 작업 요약과 권장 남은 작업으로 응답하도록 지시하는 특수 시스템 프롬프트를 받습니다.

Deprecated

레거시 maxSteps 필드는 더 이상 사용되지 않습니다. 대신 steps를 사용하세요.


비활성화

에이전트를 비활성화하려면 true로 설정합니다.

{
  "agent": {
    "review": {
      "disable": true
    }
  }
}

프롬프트

prompt 구성으로 이 에이전트의 사용자 지정 시스템 프롬프트 파일을 지정합니다. 프롬프트 파일에는 에이전트의 목적에 특화된 지침이 포함되어야 합니다.

{
  "agent": {
    "review": {
      "prompt": "{file:./prompts/code-review.txt}"
    }
  }
}

이 경로는 구성 파일이 있는 위치를 기준으로 합니다. 따라서 전역 Dropstone 구성과 프로젝트별 구성 모두에서 작동합니다.


모델

model 구성을 사용하여 이 에이전트의 모델을 재정의합니다. 작업에 최적화된 다른 모델을 사용하는 데 유용합니다. 예를 들어, 계획에는 더 빠른 모델, 구현에는 더 강력한 모델을 사용할 수 있습니다.

Tip

모델을 지정하지 않으면 기본 에이전트는 전역 구성 모델을 사용하고 하위 에이전트는 호출한 기본 에이전트의 모델을 상속합니다.

{
  "agent": {
    "plan": {
      "model": "dropstone/dropstone-fast"
    }
  }
}

모델 ID는 dropstone/<tier> 형식을 사용합니다. dropstone/dropstone-fast, dropstone/dropstone-pro 또는 dropstone/dropstone-heavy를 사용하세요.


도구 (더 이상 사용되지 않음)

tools더 이상 사용되지 않습니다. 새 구성, 업데이트 및 더 세밀한 제어를 위해 에이전트의 permission 필드를 사용하세요.

이 에이전트에서 사용할 수 있는 도구를 제어할 수 있습니다. 특정 도구를 true 또는 false로 설정하여 활성화하거나 비활성화할 수 있습니다. 에이전트의 tools 구성에서 true{"*": "allow"} 권한과 동일하고 false{"*": "deny"} 권한과 동일합니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "tools": {
    "write": true,
    "bash": true
  },
  "agent": {
    "plan": {
      "tools": {
        "write": false,
        "bash": false
      }
    }
  }
}

Note

에이전트별 구성이 전역 구성을 재정의합니다.

레거시 tools 항목에서 와일드카드를 사용하여 여러 도구를 동시에 제어할 수도 있습니다. 예를 들어, MCP 서버의 모든 도구를 비활성화하려면:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "readonly": {
      "tools": {
        "mymcp_*": false,
        "write": false,
        "edit": false
      }
    }
  }
}

도구에 대해 자세히 알아보기.


권한

에이전트가 취할 수 있는 작업을 관리하도록 권한을 구성할 수 있습니다. 각 권한 키는 다음으로 설정할 수 있습니다:

  • "ask": 도구를 실행하기 전에 승인 요청
  • "allow": 승인 없이 모든 작업 허용
  • "deny": 도구 비활성화

사용 가능한 권한 키는 다음과 같습니다:

제어하는 도구
readread
editwrite, edit, apply_patch
globglob
grepgrep
listlist
bashbash
tasktask
external_directory프로젝트 작업 트리 외부의 파일을 읽거나 쓰는 모든 도구
todowritetodowrite, todoread
webfetchwebfetch
websearchwebsearch
lsplsp
skillskill
questionquestion
doom_loop에이전트가 멈춘 것처럼 보일 때 복구 프롬프트

read, edit, glob, grep, list, bash, task, external_directory, lsp, skill은 축약형 작업("allow" | "ask" | "deny") 또는 세밀한 제어를 위한 glob/패턴 → 작업 객체를 허용합니다. 나머지 키는 축약형 작업만 허용합니다.

Note

권한 키는 기본 도구 이름에 대해 와일드카드 패턴으로 일치하므로 기본 제공 도구, 사용자 지정 도구, MCP 도구에 동일한 구문이 작동합니다. 예를 들어 "mymcp_*": "deny"는 MCP 서버의 모든 도구를 거부하고 "mymcp_search": "ask"는 단일 도구를 대상으로 합니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "deny"
  }
}

에이전트별로 이러한 권한을 재정의할 수 있습니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "deny"
  },
  "agent": {
    "build": {
      "permission": {
        "edit": "ask"
      }
    }
  }
}

Markdown 에이전트에서도 권한을 설정할 수 있습니다.

---
description: Code review without edits
mode: subagent
permission:
  edit: deny
  bash:
    "*": ask
    "git diff": allow
    "git log*": allow
    "grep *": allow
  webfetch: deny
---

Only analyze code and suggest changes.

특정 bash 명령에 대한 권한을 설정할 수 있습니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "permission": {
        "bash": {
          "git push": "ask",
          "grep *": "allow"
        }
      }
    }
  }
}

glob 패턴을 사용할 수도 있습니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "permission": {
        "bash": {
          "git *": "ask"
        }
      }
    }
  }
}

또한 * 와일드카드를 사용하여 모든 명령에 대한 권한을 관리할 수 있습니다. 마지막으로 일치하는 규칙이 우선하므로 * 와일드카드를 먼저 배치하고 특정 규칙을 그 뒤에 배치하세요.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "permission": {
        "bash": {
          "*": "ask",
          "git status *": "allow"
        }
      }
    }
  }
}

권한에 대해 자세히 알아보기.


모드

mode 구성으로 에이전트의 모드를 제어합니다. mode 옵션은 에이전트를 사용할 수 있는 방법을 결정하는 데 사용됩니다.

{
  "agent": {
    "review": {
      "mode": "subagent"
    }
  }
}

mode 옵션은 primary, subagent 또는 all로 설정할 수 있습니다. mode가 지정되지 않으면 기본값은 all입니다.


숨김

hidden: true로 하위 에이전트를 @ 자동 완성 메뉴에서 숨깁니다. Task 도구를 통해 다른 에이전트가 프로그래밍 방식으로만 호출해야 하는 내부 하위 에이전트에 유용합니다.

{
  "agent": {
    "internal-helper": {
      "mode": "subagent",
      "hidden": true
    }
  }
}

이것은 자동 완성 메뉴에서 사용자 가시성에만 영향을 줍니다. 숨겨진 에이전트는 권한이 허용하는 경우 모델이 Task 도구를 통해 계속 호출할 수 있습니다.

Note

mode: subagent 에이전트에만 적용됩니다.


Task 권한

permission.task로 에이전트가 Task 도구를 통해 호출할 수 있는 하위 에이전트를 제어합니다. 유연한 일치를 위해 glob 패턴을 사용합니다.

{
  "agent": {
    "orchestrator": {
      "mode": "primary",
      "permission": {
        "task": {
          "*": "deny",
          "orchestrator-*": "allow",
          "code-reviewer": "ask"
        }
      }
    }
  }
}

deny로 설정하면 하위 에이전트가 Task 도구 설명에서 완전히 제거되므로 모델이 호출을 시도하지 않습니다.

Tip

규칙은 순서대로 평가되며 마지막으로 일치하는 규칙이 우선합니다. 위 예에서 orchestrator-planner*(deny)와 orchestrator-*(allow) 모두와 일치하지만 orchestrator-** 뒤에 있으므로 결과는 allow입니다.

Tip

사용자는 에이전트의 task 권한이 거부하더라도 @ 자동 완성 메뉴를 통해 모든 하위 에이전트를 직접 호출할 수 있습니다.


색상

color 옵션으로 UI에서 에이전트의 시각적 모양을 사용자 지정합니다. 이는 인터페이스에서 에이전트가 표시되는 방식에 영향을 줍니다.

유효한 16진수 색상(예: #FF5733) 또는 테마 색상(primary, secondary, accent, success, warning, error, info)을 사용하세요.

{
  "agent": {
    "creative": {
      "color": "#ff6b6b"
    },
    "code-reviewer": {
      "color": "accent"
    }
  }
}

Top P

top_p 옵션으로 응답 다양성을 제어합니다. 무작위성 제어를 위한 temperature의 대안입니다.

{
  "agent": {
    "brainstorm": {
      "top_p": 0.9
    }
  }
}

값 범위는 0.0에서 1.0입니다. 값이 낮을수록 더 집중되고 값이 높을수록 더 다양합니다.


추가

에이전트 구성에 지정하는 다른 모든 옵션은 모델 옵션으로 직접 전달됩니다. Dropstone 등급의 경우 지원되는 전달 옵션은 추론 깊이와 텍스트 장황도입니다:

{
  "agent": {
    "deep-thinker": {
      "description": "Agent that uses high reasoning effort for complex problems",
      "model": "dropstone/dropstone-heavy",
      "variant": "xhigh",
      "textVerbosity": "low"
    }
  }
}

Tip

dropstone models를 실행하여 사용 가능한 등급을 확인하세요.


에이전트 만들기

다음 명령을 사용하여 새 에이전트를 만들 수 있습니다:

dropstone agent create

이 대화형 명령은 다음을 수행합니다:

  1. 에이전트를 저장할 위치(전역 또는 프로젝트별)를 묻습니다.
  2. 에이전트가 수행해야 하는 작업에 대한 설명.
  3. 적절한 시스템 프롬프트와 식별자를 생성합니다.
  4. 에이전트에 허용할 권한을 선택하게 합니다(선택하지 않은 항목은 거부됩니다).
  5. 마지막으로 에이전트 구성이 포함된 마크다운 파일을 만듭니다.

사용 사례

다음은 다양한 에이전트의 일반적인 사용 사례입니다.

  • Build 에이전트: 모든 도구가 활성화된 전체 개발 작업
  • Plan 에이전트: 변경 없이 분석 및 계획 수립
  • Review 에이전트: 읽기 전용 액세스와 문서 도구가 있는 코드 검토
  • Debug 에이전트: bash 및 읽기 도구가 활성화된 조사에 집중
  • Docs 에이전트: 파일 작업은 있지만 시스템 명령이 없는 문서 작성

예시

다음은 유용할 수 있는 몇 가지 예시 에이전트입니다.

Tip

공유하고 싶은 에이전트가 있나요? 문의하기를 통해 소개해 드리겠습니다.


문서 에이전트

---
description: Writes and maintains project documentation
mode: subagent
permission:
  bash: deny
---

You are a technical writer. Create clear, comprehensive documentation.

Focus on:

- Clear explanations
- Proper structure
- Code examples
- User-friendly language

보안 감사자

---
description: Performs security audits and identifies vulnerabilities
mode: subagent
permission:
  edit: deny
---

You are a security expert. Focus on identifying potential security issues.

Look for:

- Input validation vulnerabilities
- Authentication and authorization flaws
- Data exposure risks
- Dependency vulnerabilities
- Configuration security issues
Ctrl+I