플러그인 유형 고르기

플러그인 유형 고르기

Dify는 여러 플러그인 유형을 지원하고, 각각 플랫폼 안의 다른 확장 지점을 노립니다. 코드가 어떻게 호출될지에 맞는 유형을 고르면 돼요.

출처: 공식문서

빠른 판단

하고 싶은 것 무엇을 만드나
Agents·Workflows에 호출 가능한 액션 추가(검색, 이메일 전송, 데이터 변환 등) Tool
Dify 안에서 선택 가능하게 할 새 LLM·임베딩·리랭크·TTS·STT·중재 모델 만들기 Model
Agents용 커스텀 추론 루프 구현(ReAct, Function Calling 변형 등) Agent Strategy
외부 서비스가 호출해 Dify 워크플로를 몰 수 있게 HTTP 엔드포인트 노출 Extension (Endpoint)
외부 시스템의 문서를 지식 베이스로 수집 Datasource
상류에서 무언가 일어날 때(웹훅 발화, 파일 도착) 워크플로 시작 Trigger

자주 묻는 질문

하나의 플러그인이 여러 유형을 합칠 수 있나요?

네. Tool 플러그인은 엔드포인트도 노출할 수 있어요. 예를 들어 Discord 봇 플러그인은 메시지를 보내고(tool) 웹훅을 받는(endpoint) 걸 한 패키지에 담아요. Model 플러그인은 더 엄격해요 — 도구나 엔드포인트를 묶을 수 없습니다.

Tool vs Agent Strategy, 차이가 뭔가요?

Tool은 에이전트가 "검색해 줘"처럼 호출하기로 결정하는 개별 능력이에요. Agent Strategy는 그 추론 루프 자체 — 어떤 도구를 어떤 순서로 부르고 언제 멈출지 정하는 정책이죠. 에이전트가 생각하는 방식을 바꾸는 게 아니라면 Tool을 만드세요.

Datasource vs Trigger, 둘 다 외부 시스템에서 끌어오는 거 아니에요?

Datasource는 검색을 위해 지식 베이스로 문서를 가져오는 거고, Trigger는 상류 이벤트에 실시간으로 워크플로를 발화시키는 거예요. 같은 시스템이 둘 다의 원천이 될 수 있지만 소비 패턴이 달라요: 인덱싱 vs 이벤트 구동 실행.

Extension vs Tool, 평범한 HTTP 엔드포인트가 맞는 때는 언제?

Extension은 반대 방향이에요 — 외부 서비스가 Dify 안으로 호출해 들어와요. Tool은 Agents/Workflows가 서비스 밖으로 호출해 나가죠. 플러그인이 "액션"이 아니라 "진입점"일 때 Extension을 만드세요.

다음 단계

유형을 골랐다면 CLI를 설치하고 프로젝트를 뼈대(scaffold)부터 잡아요.

더 알아보기 (Learn more)